mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-29 09:13:08 +00:00
p8le hardware discovery document
This commit is contained in:
parent
5a1bdf3b86
commit
c940a6f857
@ -0,0 +1,76 @@
|
||||
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_1_0_0-255_255_0_0","10.1.0.0","255.255.0.0","eth1","<xcatmaster>",,"10.1.1.1",,,,,,,,,,,,
|
||||
"10_2_0_0-255_255_0_0","10.2.0.0","255.255.0.0","eth2","<xcatmaster>",,"10.2.1.1",,,,,,,,,,,,
|
||||
|
||||
Pls run the following command to add networks in "networks" table if no entry in "networks" table::
|
||||
|
||||
#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_1_0_0-255_255_0_0 dynamicrange="10.1.100.1-10.1.100.100"
|
||||
#chdef -t network 10_2_0_0-255_255_0_0 dynamicrange="10.2.100.1-10.2.100.100"
|
||||
|
||||
Update DHCP configuration file::
|
||||
|
||||
#makedhcp -n
|
||||
#makedhcp -a
|
||||
|
||||
setup DNS
|
||||
^^^^^^^^^
|
||||
|
||||
Set site.forwarders to your site-wide DNS servers that can resolve site or public hostnames. The DNS on the MN will forward any requests it can't answer to these servers::
|
||||
|
||||
#chdef -t site forwarders=8.8.8.8
|
||||
|
||||
Run makedns to get the hostname/IP pairs copied from /etc/hosts to the DNS on the MN::
|
||||
|
||||
#makedns -n
|
||||
|
||||
Config passwd table
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To configure default password for FSP/BMCs and Hosts::
|
||||
|
||||
#tabedit passwd
|
||||
#key,username,password,cryptmethod,authdomain,comments,disable
|
||||
"system","root","cluster",,,,
|
||||
"ipmi","ADMIN","admin",,,,
|
||||
|
||||
Check the genesis pkg
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Genesis pkg can be used to creates a network boot root image, it must be installed before do 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 pkgs haven't installed yet, pls installed them first and then run the following command to create the network boot root image::
|
||||
|
||||
#mknb ppc64
|
@ -1,6 +1,8 @@
|
||||
Hardware Discovery & Define Node
|
||||
================================
|
||||
|
||||
Hardware discovery is used to configure the FSP/BMC and get the hardware configuration information for the physical server. The physical server can be defined into xCAT database manually, or though our hardware discovery process which include mtms based, switch based and sequential based hardware discovery progress.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
@ -1 +1,36 @@
|
||||
.. include:: ../../common/discover/manually_define.rst
|
||||
|
||||
Manually define node means the admin know detailed information of the physical server. Then define it into xCAT database with commands.
|
||||
|
||||
.. include:: schedule_environment.rst
|
||||
|
||||
Manually define node
|
||||
--------------------
|
||||
|
||||
To add a node object::
|
||||
|
||||
#nodeadd cn1 groups=pkvm,all
|
||||
|
||||
To change node attributes::
|
||||
|
||||
#chdef cn1 mgt=ipmi cons=ipmi ip=10.1.101.1 netboot=petitboot
|
||||
#chdef cn1 bmc=10.2.101.1 bmcusername=ADMIN bmcpassword=admin
|
||||
#chdef cn1 installnic=mac primarynic=mac mac=6c:ae:8b:6a:d4:e4
|
||||
|
||||
The manually defined node will be like this::
|
||||
|
||||
# lsdef cn1
|
||||
Object name: cn1
|
||||
bmc=10.2.101.1
|
||||
bmcpassword=admin
|
||||
bmcusername=ADMIN
|
||||
cons=ipmi
|
||||
groups=pkvm,all
|
||||
installnic=mac
|
||||
ip=10.1.101.1
|
||||
mac=6c:ae:8b:6a:d4:e4
|
||||
mgt=ipmi
|
||||
netboot=petitboot
|
||||
postbootscripts=otherpkgs
|
||||
postscripts=syslog,remoteshell,syncfiles
|
||||
primarynic=mac
|
||||
|
@ -1 +1,27 @@
|
||||
.. include:: ../../common/discover/manually_discovery.rst
|
||||
|
||||
If you have a few nodes which were not discovered by automated hardware discovery progress, you could find them in discoverydata table using the nodediscoverls. The undiscovered nodes are those that have a discovery method value of 'undef' in the discoverydata table.
|
||||
|
||||
Display the undefined nodes with the nodediscoverls command::
|
||||
|
||||
#nodediscoverls -t undef
|
||||
UUID NODE METHOD MTM SERIAL
|
||||
fa2cec8a-b724-4840-82c7-3313811788cd undef undef 8247-22L 10112CA
|
||||
|
||||
If you want to manually define an 'undefined' node to a specific free node name, use the nodediscoverdef(TODO) command.
|
||||
|
||||
Before doing that, a node with desired IP address for hsot and FSP/BMC shall be defined first::
|
||||
|
||||
#nodeadd cn1 groups=pkvm,all
|
||||
#chdef cn1 mgt=ipmi cons=ipmi ip=10.1.101.1 bmc=10.2.101.1 netboot=petitboot installnic=mac primarynic=mac
|
||||
|
||||
For example, if you want to assign the undefined node whose uuid is 'fa2cec8a-b724-4840-82c7-3313811788cd' to cn1, run::
|
||||
|
||||
#nodediscoverdef -u fa2cec8a-b724-4840-82c7-3313811788cd -n cn1
|
||||
|
||||
After manually defining it, the 'node name' and 'discovery method' attributes of the node will be changed. You can display the changed attributes using the nodediscoverls command::
|
||||
|
||||
#nodediscoverls
|
||||
UUID NODE METHOD MTM SERIAL
|
||||
fa2cec8a-b724-4840-82c7-3313811788cd cn1 manual 8247-22L 10112CA
|
||||
|
||||
|
@ -1 +1,71 @@
|
||||
.. include:: ../../common/discover/mtms_discovery.rst
|
||||
|
||||
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, host ip address for the physical server.
|
||||
|
||||
.. include:: schedule_environment.rst
|
||||
.. include:: config_environment.rst
|
||||
|
||||
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 discovery FSP/BMC within an IP range and write the discovered node definition into a stanza file::
|
||||
|
||||
# lsslp -s PBMC -u --range 10.2.100.1-100 -z > ./pbmc.stanza
|
||||
|
||||
You need to modify the node definition in stanza file before using them, the stanza file will be like this::
|
||||
|
||||
# cat pbmc.stanza
|
||||
cn1:
|
||||
objtype=node
|
||||
bmc=10.2.100.1
|
||||
nodetype=mp
|
||||
mtm=8247-42L
|
||||
serial=10112CA
|
||||
groups=pbmc,all
|
||||
mgt=ipmi
|
||||
hidden=0
|
||||
|
||||
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=10.2.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 scheduled node info like this::
|
||||
|
||||
# chdef cn1 ip=10.1.101.1 cons=ipmi
|
||||
1 object definitions have been created or modified.
|
||||
|
||||
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::
|
||||
|
||||
#makeconsercf
|
||||
#rcons cn1
|
||||
|
||||
.. include:: standard_cn_definition.rst
|
||||
|
@ -0,0 +1,39 @@
|
||||
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 discovery FSP/BMC within an IP range and write the discovered node definition into xCAT database::
|
||||
|
||||
# lsslp -s PBMC -u --range 10.2.100.1-100 -w
|
||||
|
||||
The discovered PBMC node will be like this::
|
||||
|
||||
# lsdef Server-8247-22L-SN01112CA
|
||||
Object name: Server-8247-22L-SN01112CA
|
||||
bmc=10.2.100.1
|
||||
groups=pbmc,all
|
||||
hidden=0
|
||||
hwtype=pbmc
|
||||
mgt=ipmi
|
||||
mtm=8247-22L
|
||||
nodetype=mp
|
||||
postbootscripts=otherpkgs
|
||||
postscripts=syslog,remoteshell,syncfiles
|
||||
serial=10112CA
|
||||
|
||||
**Note**: Pls note that the PBMC node is just used to control the physical during hardware discovery process, it will be deleted after the correct server node object is found.
|
||||
|
||||
Start discovery process
|
||||
-----------------------
|
||||
|
||||
To start discovery process, just need to power on the PBMC node remotely with the following command, and the discovery process will start automatically after the host is powered on::
|
||||
|
||||
#rpower Server-8247-22L-SN01112CA on
|
||||
|
||||
**[Optional]** If you'd like to monitor the discovery process, you can use::
|
||||
|
||||
#chdef Server-8247-22L-SN01112CA cons=ipmi
|
||||
#makeconsercf
|
||||
#rcons Server-8247-22L-SN01112CA
|
||||
|
@ -0,0 +1,24 @@
|
||||
The environment scheduling
|
||||
--------------------------
|
||||
|
||||
In this document, we use the following configuration as the example
|
||||
|
||||
MN info::
|
||||
|
||||
MN Hostname: xcat1
|
||||
MN NIC info for Host network: eth1, 10.1.1.1/16
|
||||
MN NIC info for FSP/BMC network: eth2, 10.2.1.1/16
|
||||
Dynamic IP range for Hosts: 10.1.100.1-10.1.100.100
|
||||
Dynamic IP range for FSP/BMC: 10.2.100.1-10.2.100.100
|
||||
|
||||
CN info::
|
||||
|
||||
CN Hostname: cn1
|
||||
Machine type/model: 8247-22L
|
||||
Serial: 10112CA
|
||||
Host IP Address: 10.1.101.1
|
||||
Host Root Password: cluster
|
||||
Desired FSP/BMC IP Address: 10.2.101.1
|
||||
DHCP assigned FSP/BMC IP Address: 10.2.100.1
|
||||
FSP/BMC username: ADMIN
|
||||
FSP/BMC Password: admin
|
@ -1 +1,51 @@
|
||||
.. include:: ../../common/discover/seq_discovery.rst
|
||||
|
||||
When the physical location of the server is not so important, sequential base hardware discovery can be used to simplify the discovery work. The idea is: providing a node pool, each node in the pool will be assigned an IP address for host and an IP address for FSP/BMC, then match first came physical server discovery request to the first free node in the node pool and configure the assigned IP address for host and FSP/BMC onto that pysical server.
|
||||
|
||||
.. include:: schedule_environment.rst
|
||||
.. include:: config_environment.rst
|
||||
|
||||
Prepare node pool
|
||||
-----------------
|
||||
|
||||
To prepare the node pool, shall predefine nodes first, then initialize the discovery process with the predefined nodes.
|
||||
|
||||
Predefine nodes
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
Predefine a group of node with desired IP address for host and IP address for FSP/BMC::
|
||||
|
||||
#nodeadd cn1 groups=pkvm,all
|
||||
#chdef cn1 mgt=ipmi cons=ipmi ip=10.1.101.1 bmc=10.2.101.1 netboot=petitboot installnic=mac primarynic=mac
|
||||
|
||||
Initialize the discovery process
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Specify the predefined nodes to the nodediscoverstart command to initialize the discovery process::
|
||||
|
||||
#nodediscoverstart noderange=cn1
|
||||
|
||||
Pls see "nodediscoverstart man page<TBD>" for more details.
|
||||
|
||||
Display information about the discovery process
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
There are additional nodediscover commands you can run during the discovery process. See their man pages for more details.
|
||||
|
||||
|
||||
Verify the status of discovery::
|
||||
|
||||
nodediscoverstatus
|
||||
|
||||
Show the nodes that have been discovered so far::
|
||||
|
||||
nodediscoverls -t seq -l
|
||||
|
||||
Stop the current sequential discovery process::
|
||||
|
||||
nodediscoverstop
|
||||
|
||||
Note: The sequential discovery process will be stopped automatically when all of the node names in the node pool are used up.
|
||||
|
||||
.. include:: pbmc_discovery.rst
|
||||
.. include:: standard_cn_definition.rst
|
||||
|
@ -0,0 +1,25 @@
|
||||
The discovered node definition
|
||||
------------------------------
|
||||
|
||||
The server node definition will be like this after hardware discovery process::
|
||||
|
||||
#lsdef cn1
|
||||
Object name: cn1
|
||||
arch=ppc64
|
||||
bmc=10.2.100.1
|
||||
cons=ipmi
|
||||
cpucount=192
|
||||
cputype=POWER8E (raw), altivec supported
|
||||
groups=pkvm,all
|
||||
installnic=mac
|
||||
ip=10.1.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
|
@ -1 +1,105 @@
|
||||
.. include:: ../../common/discover/switch_discovery.rst
|
||||
|
||||
For switch based hardware discovery, the server are identified though the switches and switchposts they directly connect to.
|
||||
|
||||
The environment scheduling
|
||||
--------------------------
|
||||
|
||||
In this document, we use the following configuration as the example
|
||||
|
||||
MN info::
|
||||
|
||||
MN Hostname: xcat1
|
||||
MN NIC info for Host network: eth1, 10.1.1.1/16
|
||||
MN NIC info for FSP/BMC network: eth2, 10.2.1.1/16
|
||||
Dynamic IP range for Hosts: 10.1.100.1-10.1.100.100
|
||||
Dynamic IP range for FSP/BMC: 10.2.100.1-10.2.100.100
|
||||
|
||||
Switch info::
|
||||
|
||||
Switch name: switch1
|
||||
Switch username: xcat
|
||||
Switch password: passw0rd
|
||||
Switch IP Address: 10.1.201.1
|
||||
|
||||
CN info::
|
||||
|
||||
CN Hostname: cn1
|
||||
Machine type/model: 8247-22L
|
||||
Serial: 10112CA
|
||||
Host IP Address: 10.1.101.1
|
||||
Host Root Password: cluster
|
||||
Desired FSP/BMC IP Address: 10.2.101.1
|
||||
DHCP assigned FSP/BMC IP Address: 10.2.100.1
|
||||
FSP/BMC username: ADMIN
|
||||
FSP/BMC Password: admin
|
||||
Switch info: switch1, port0
|
||||
|
||||
.. include:: config_environment.rst
|
||||
|
||||
Predefine Nodes
|
||||
---------------
|
||||
|
||||
In order to differentiate a node from the other, the admin need to predefine node in xCAT database based on the switches information. So, 2 parts included.
|
||||
|
||||
Predefine Switches
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The predefined switches will represent devices that the physical servers are connected to. xCAT need to access those switches to get server related information through SNMP v3.
|
||||
|
||||
So the admin need to make sure those switches are configured correctly with SNMP v3 enabled. <TD: The document that Configure Ethernet Switches>
|
||||
|
||||
Then, define switch info into xCAT::
|
||||
|
||||
#nodeadd switch1 groups=switch,all
|
||||
#chdef switch1 ip=10.1.201.1
|
||||
#tabch switch=switch1 switches.snmpversion=3 switches.username=xcat switches.password=passw0rd switches.auth=sha
|
||||
|
||||
After that, add switch into DNS::
|
||||
|
||||
#makehosts switch1
|
||||
#makedns -n
|
||||
|
||||
Predefine Server node
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
After switches are defined, the server node can be predefined as network scheduled::
|
||||
|
||||
#nodeadd cn1 groups=pkvm,all
|
||||
#chdef cn1 mgt=ipmi cons=ipmi ip=10.1.101.1 bmc=10.2.101.1 netboot=petitboot installnic=mac primarynic=mac
|
||||
#chdef cn1 switch=switch1 switchport=0
|
||||
|
||||
Add cn1 into DNS::
|
||||
|
||||
#makehosts cn1
|
||||
#maekdns -n
|
||||
|
||||
.. include:: pbmc_discovery.rst
|
||||
|
||||
The discovered node definition
|
||||
------------------------------
|
||||
|
||||
The server node definition will be like this after hardware discovery process::
|
||||
|
||||
#lsdef cn1
|
||||
Object name: cn1
|
||||
arch=ppc64
|
||||
bmc=10.2.101.1
|
||||
cons=ipmi
|
||||
cpucount=192
|
||||
cputype=POWER8E (raw), altivec supported
|
||||
groups=pkvm,all
|
||||
installnic=mac
|
||||
ip=10.1.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
|
||||
switch=switch1
|
||||
switchport=0
|
||||
|
Loading…
x
Reference in New Issue
Block a user