xCAT configuration is saved in a database which consists of many tables (command ‘tabdump’ can show a
list of all tables). The default DB xCAT uses is ‘sqlite’. This can be changed to MySQL (MariaDB), PostgreSQL or
others.
Different tables in xCAT DB are for different purposes. There are
a handful of common tables which need to be configured for all kind of hardware
but there are some specific tables which are only used for specific kind of
environment. For example ‘ppc’ table
will only be used when using Power PC based hardware and ‘prodkey’ table will only be used when installing MS Windows
environment.
It’s time to configure common xCAT tables. Let’s do it.
tabedit site
Make sure you edit these lines. If these lines are not present
then add new ones.
"dhcpinterfaces","10.0.0.11|enp0s3",,
"dnsinterfaces","10.0.0.11|enp0s3",,
"master","10.0.0.11",,
"nameservers","10.0.0.11",,
"domain","cluster.local",,
Note: You need to use the network
interface which is set with IP ‘10.0.0.11’. In my
case it is ‘enp0s3’
tabedit
networks
The table should be looking like
this
#netname,net,mask,mgtifname,gateway,dhcpserver,tftpserver,nameservers,ntpservers,logservers,dynamicrange,staticrange,staticrangeincrement,nodehostname,ddnsdomain,vlanid,domain,mtu,comments,disable
"cluster","10.0.0.0","255.255.255.0","enp0s3","<xcatmaster>",,"<xcatmaster>",,,,"10.0.0.151
10.0.0.175",,,,,,,"1500",,
It’s always a good idea to change ‘netname’ to a name which is easy to
understand. Also add ‘dynamicrange’ for
DHCP. Other fields are normally pre-filled.
Useful Notes: Since this is just a POC environment
and we don’t need any IPMI or other networks i.e 10G or IPoIB (Infiniband). In
real world these networks are normally required.
tabedit
hosts
Add all nodes with their IP
addresses. This will help us in generating ‘/etc/hosts’
file.
#node,ip,hostnames,otherinterfaces,comments,disable
"omaster","10.0.0.11",,,,
"compute001","10.0.0.101",,,,
tabedit
noderes
#node,servicenode,netboot,tftpserver,tftpdir,nfsserver,monserver,nfsdir,installnic,primarynic,discoverynics,cmdinterface,xcatmaster,current_osimage,next_osimage,nimserver,routenames,nameservers,proxydhcp,syslog,comments,disable
"compute",,"xnba",,,,,,,,,,,,,,,,,,,
You can use ‘pxe’ instead of ‘xnba’ but ‘xnba’ is recommended as
this supports more options than ‘pxe’
tabedit passwd
#key,username,password,cryptmethod,authdomain,comments,disable
"system","root","$6$9FdrtZiCetX4cV2G$JJlywIQZByWwVmiaGPAW0ZSChOTU0VIa5MybqMwwj8fr9.Fg9BGrcu1Nq/PpyVBt8r4shXPxzSwi5BkdtYwZq1",,,,
Password can be in plain text or encrypted. Encrypted password can
be copied from ‘/etc/shadow’ file.
tabedit chain
#node,currstate,currchain,chain,ondiscover,comments,disable
"compute",,,,"nodediscover",,
This was the minimal table configuration. To deploy nodes an OS
ISO needs to be copied to ‘omaster’ node. Type this command to get this
done.
copycds
CentOS-7-x86_64-Everything-2003.iso
This will copy the OS into ‘/install’ directory. The ISO doesn’t have to
include ‘Everything’, normal ISO is good enough for installation.
Here you go. This is the least configuration we need to add.
<<Previous <Tutorial Home> Next>>