MTMS-based Discovery¶
MTMS is short for Machine Type/Model and Serial which is unique for a physical server. The idea of MTMS based hardware discovery is that the admin know the physical location information of the server with specified MTMS. Then the admin can assign nodename and host ip address for the physical server.
In this document, the following configuration is used in the example
Management Node info:
MN Hostname: xcat1
MN NIC info for Management Network(Host network): eth1, 10.0.1.1/16
MN NIC info for Service Network(FSP/BMC nework): eth2, 50.0.1.1/16
Dynamic IP range for Hosts: 10.0.100.1-10.0.100.100
Dynamic IP range for FSP/BMC: 50.0.100.1-50.0.100.100
Compute Node info:
CN Hostname: cn1
Machine type/model: 8247-22L
Serial: 10112CA
IP Address: 10.0.101.1
Root Password: cluster
Desired FSP/BMC IP Address: 50.0.101.1
DHCP assigned FSP/BMC IP Address: 50.0.100.1
FSP/BMC username: ADMIN
FSP/BMC Password: admin
Configure xCAT¶
Configure network table¶
Normally, there will be at least two entries for the two subnet on MN in networks
table after xCAT is installed:
#tabdump networks
#netname,net,mask,mgtifname,gateway,dhcpserver,tftpserver,nameservers,ntpservers,logservers,dynamicrange,staticrange,staticrangeincrement,nodehostname,ddnsdomain,vlanid,domain,comments,disable
"10_0_0_0-255_255_0_0","10.0.0.0","255.255.0.0","eth1","<xcatmaster>",,"10.0.1.1",,,,,,,,,,,,
"50_0_0_0-255_255_0_0","50.0.0.0","255.255.0.0","eth2","<xcatmaster>",,"50.0.1.1",,,,,,,,,,,,
Run the following command to add networks in networks
table if there are no entries in it:
makenetworks
Setup DHCP¶
Set the correct NIC from which DHCP server provide service:
chdef -t site dhcpinterfaces=eth1,eth2
Add dynamic range in purpose of assigning temporary IP adddress for FSP/BMCs and hosts:
chdef -t network 10_0_0_0-255_255_0_0 dynamicrange="10.0.100.1-10.0.100.100"
chdef -t network 50_0_0_0-255_255_0_0 dynamicrange="50.0.100.1-50.0.100.100"
Update DHCP configuration file:
makedhcp -n
makedhcp -a
Config passwd table¶
Set required passwords for xCAT to do hardware management and/or OS provisioning by adding entries to the xCAT passwd
table:
# tabedit passwd
# key,username,password,cryptmethod,authdomain,comments,disable
For hardware management with ipmi, add the following line:
"ipmi","ADMIN","admin",,,,
Verify the genesis packages¶
Genesis packages are used to create the root image for network boot and MUST be installed before doing hardware discovery.
[RH]:
# rpm -qa |grep -i genesis xCAT-genesis-scripts-ppc64-2.10-snap201507240527.noarch xCAT-genesis-base-ppc64-2.10-snap201505172314.noarch
[ubuntu]:
# dpkg -l | grep genesis ii xcat-genesis-base-ppc64 2.10-snap201505172314 all xCAT Genesis netboot image ii xcat-genesis-scripts 2.10-snap201507240105 ppc64el xCAT genesis
Note: If the two packages are not installed, install them first and then run mknb ppc64
to create the network boot root image.
Discover server and define¶
After environment is ready, and the server is powered, we can start server discovery process. The first thing to do is discovering the FSP/BMC of the server. It is automatically powered on when the physical server is powered.
The following command can be used to discover BMC(s) within an IP range and write the discovered node definition(s) into a stanza file:
bmcdiscover -s nmap --range 50.0.100.1-100 -z > ./bmc.stanza
Note: bmcdiscover will use username/password pair set in passwd
table with key equal ipmi. If you’d like to use other username/password, you can use
bmcdiscover -s nmap --range 50.0.100.1-100 -z -u <username> -p <password> > ./bmc.stanza
You need to modify the node definition(s) in stanza file before using them, the stanza file will be like this:
# cat pbmc.stanza
cn1:
objtype=node
bmc=50.0.100.1
mtm=8247-42L
serial=10112CA
groups=pbmc,all
mgt=ipmi
Then, define it into xCATdb:
# cat pbmc.stanza | mkdef -z
1 object definitions have been created or modified.
The server definition will be like this:
# lsdef cn1
Object name: cn1
bmc=50.0.100.1
groups=pbmc,all
hidden=0
mgt=ipmi
mtm=8247-42L
nodetype=mp
postbootscripts=otherpkgs
postscripts=syslog,remoteshell,syncfiles
serial=10112CA
After the physical server is defined into xCATdb, the next thing is update the node definition with the example node attributes:
chdef cn1 ip=10.0.101.1
In order to do BMC configuration during the discovery process, set runcmd=bmcsetup
. For more info about chain, please refer to Chain
chdef cn1 chain="runcmd=bmcsetup"
Then, add node info into /etc/hosts and DNS:
makehosts cn1
makedns -n
Start discovery process¶
To start discovery process, just need to power on the host remotely with the following command, and the discovery process will start automatically after the host is powered on:
rpower cn1 on
[Optional] If you’d like to monitor the discovery process, you can use:
chdef cn1 cons=ipmi
makeconservercf
rcons cn1
Verify node definition¶
The following is an example of the server node definition after hardware discovery:
# lsdef cn1
Object name: cn1
arch=ppc64
bmc=50.0.100.1
cons=ipmi
cpucount=192
cputype=POWER8E (raw), altivec supported
groups=powerLE,all
installnic=mac
ip=10.0.101.1
mac=6c:ae:8b:02:12:50
memory=65118MB
mgt=ipmi
mtm=8247-22L
netboot=petitboot
postbootscripts=otherpkgs
postscripts=syslog,remoteshell,syncfiles
primarynic=mac
serial=10112CA
supportedarchs=ppc64