xCAT can be a comprehensive system to manage infrastructure elements in Data Center, bare-metal servers, switches, PDUs, and Operation System distributions. This quick start guide will instruct you to set up a xCAT system and manage an IPMI managed bare metal server with Red Hat-based distribution in 15 minutes.
The steps below will be focused on RHEL7, however they should work for other distribution, such as CentOS, SLES, etc, details :doc:`Operating System & Hardware Support Matrix <../../overview/support_matrix>`
Assume there are two servers named xcatmn.mydomain.com
and cn1.mydomain.com
.
- They are in the same subnet
192.168.0.0
.cn1.mydomain.com
has BMC whichxcatmn.mydomain.com
can access it.xcatmn.mydomain.com
has Red Hat OS installed, and uses IP192.168.0.2
.xcatmn.mydomain.com
has access to internet.cn1.mydomain.com
BMC IP address is10.4.40.254
.- Prepare a full DVD for OS provision, and not a
Live CD
ISO, for this example, will useRHEL-7.6-20181010.0-Server-x86_64-dvd1.iso
ISO, you can download it from Red Hat website.
All the following steps should be executed in xcatmn.mydomain.com
.
Disable SELinux:
echo 0 > /selinux/enforce sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
Set the hostname of
xcatmn.mydomain.com
:hostname xcatmn.mydomain.com
Set the IP to STATIC in the
/etc/sysconfig/network-scripts/ifcfg-<proc_nic>
fileUpdate your
/etc/resolv.conf
with DNS settings and make sure that the node could visitgithub
andxcat
official website.Configure any domain search strings and nameservers to the
/etc/resolv.conf
fileAdd
xcatmn
into/etc/hosts
:192.168.0.2 xcatmn xcatmn.mydomain.com
Install xCAT:
wget https://raw.githubusercontent.com/xcat2/xcat-core/master/xCAT-server/share/xcat/tools/go-xcat -O - >/tmp/go-xcat chmod +x /tmp/go-xcat /tmp/go-xcat --yes install source /etc/profile.d/xcat.sh
Configure the system password for the
`root
user on the compute nodes:chtab key=system passwd.username=root passwd.password=abc123
Define compute node
cn1
:mkdef -t node cn1 --template x86_64-template ip=192.168.0.3 mac=42:3d:0a:05:27:0c bmc=10.4.40.254 bmcusername=USERID bmcpassword=PASSW0RD
Configure DNS:
makehosts cn1 makedns -n
Check
cn1
Hardware Control:
cn1
power management:
rpower cn1 on rpower cn1 state cn1: on
cn1
firmware information:
rinv cn1 firm cn1: UEFI Version: 1.31 (TDE134EUS 2013/08/27) cn1: Backup UEFI Version: 1.00 (TDE112DUS ) cn1: Backup IMM Version: 1.25 (1AOO26K 2012/02/23) cn1: BMC Firmware: 3.10 (1AOO48H 2013/08/22 18:49:44)
In order to PXE boot, you need a DHCP server to hand out addresses and direct the booting system to the TFTP server where it can download the network boot files. Configure DHCP:
makedhcp -n
Copy all contents of Distribution ISO into
/install
directory, create OS repository and osimage for OS provision:copycds RHEL-7.6-20181010.0-Server-x86_64-dvd1.iso
After
copycds
, the corresponding basic osimage will be generated automatically. Later, package list or postscripts for target compute nodes can be customised. List generated osimages:lsdef -t osimage
Use
xcatprobe
to precheck xCAT management node ready for OS provision:xcatprobe xcatmn [mn]: Checking all xCAT daemons are running... [ OK ] [mn]: Checking xcatd can receive command request... [ OK ] [mn]: Checking 'site' table is configured... [ OK ] [mn]: Checking provision network is configured... [ OK ] [mn]: Checking 'passwd' table is configured... [ OK ] [mn]: Checking important directories(installdir,tftpdir) are configured... [ OK ] [mn]: Checking SELinux is disabled... [ OK ] [mn]: Checking HTTP service is configured... [ OK ] [mn]: Checking TFTP service is configured... [ OK ] [mn]: Checking DNS service is configured... [ OK ] [mn]: Checking DHCP service is configured... [ OK ] ... ... [mn]: Checking dhcpd.leases file is less than 100M... [ OK ] =================================== SUMMARY ==================================== [MN]: Checking on MN... [ OK ]
Start the Diskful OS Deployment:
rinstall cn1 osimage=rhels7.6-x86_64-install-compute
Monitor Installation Process:
makegocons cn1 rcons cn1
Note: The keystroke
ctrl+e c .
will disconnect you from the console.After 5-10 min verify provision status is
booted
:lsdef cn1 -i status Object name: cn1 status=booted
Use
xdsh
to checkcn1
OS version, OS provision is successful:xdsh cn1 more /etc/*release cn1: :::::::::::::: cn1: /etc/os-release cn1: :::::::::::::: cn1: NAME="Red Hat Enterprise Linux Server" cn1: VERSION="7.6 (Maipo)" ... ...