xcat批量部署linux工具安装使用参考

发布时间 2023-12-08 10:21:28作者: LEAUS

0、关闭selinux、iptables并配置hosts

sed -i 's/^SELINUX*=.*$/SELINUX=disabled/g' /etc/selinux/config
service iptables stop
chkconfig --level 345 iptables off
echo "10.1.1.254 mgt mgt.xcat.com">>/etc/hosts
验证结果:
cat /etc/hosts;cat /etc/selinux/config|grep SELINUX;chkconfig|grep iptables

0、创建目录并上传软件包

mkdir -p /soft
使用WINSCP把以下三个文件上传至服务器
xcat-core-2.10.tar.bz2,xcat-dep-2.10.tar.bz2,rhel-server-6.9-x86_64-dvd.iso

1、挂载光盘或镜像

mkdir /media/cdrom
mount -o loop -t iso9660 /iso/*.iso /media/cdrom

2、配置本地源

mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
cat >/etc/yum.repos.d/mycdrom.repo<<EOF
[CDROM]
name=isofile
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
EOF

3、删除冲突软件

rpm -qa | grep bind-chroot
rpm -e bind-chroot

4、编辑hosts,添加IP主机名对应关系

10.1.1.254 mgt
10.1.1.1 node01
10.1.1.2 node02

5、安装xCAT

cd /soft
yum install -y bzip2
tar xjvf  xcat-core-*-linux.tar.bz2
tar xjvf xcat-dep-*-linux.tar.bz2
sh xcat-core/mklocalrepo.sh
sh xcat-dep/rh7/x86_64/mklocalrepo.sh
yum clean metadata
yum -y install xCAT

6、修改domain,并验证(注意检查防止多次插入)

echo "DOMAINNAME=cluster.com" >>/etc/sysconfig/network
sed -i "1isearch cluster.com" /etc/resolv.conf
echo /bin/domainname cluster.com>>/etc/rc.local
cat /etc/sysconfig/network|grep DOMAIN;cat /etc/resolv.conf|grep search;cat  /etc/rc.local|grep domain

7、读取xCAT变量

source /etc/profile.d/xcat.sh

8、修改基本参数

chdef -t site domain=hpc.com timezone="Asia/Shanghai" master=10.1.1.254 nameservers=10.1.1.254 ntpservers=10.1.1.254 dhcpinterfaces="ens1f0"

10、设定客户端启动参数:

chtab node=all noderes.netboot=xnba noderes.xcatmaster=10.1.1.254 noderes.installnic=mac noderes.primarynic=mac noderes.nfsserver=10.1.1.254 noderes.tftpserver=10.1.1.254

12、设定部署后系统的密码

chtab key=system passwd.username=root passwd.password=P@ssw0rd01!

13、生成系统源

copycds -n centos7.4 /iso/CentOS-7-x86_64-DVD-1708.iso

14、配置系统模板并修改系统对应模板

cd /opt/xcat/share/xcat/install/rh
cp compute.rhels6.tmpl compute.rhel6.4.tmpl
cp compute.rhels6.pkglist compute.rhel6.4.pkglist 
chdef -t osimage rhel6.4-x86_64-install-compute template=/opt/xcat/share/xcat/install/rh/compute.rhel6.4.tmpl
chdef -t osimage rhel6.4-x86_64-install-compute pkglist=/opt/xcat/share/xcat/install/rh/compute.rhel6.4.pkglist 
cd /opt/xcat/share/xcat/install/centos
cp compute.centos7.tmpl compute.centos7.3.tmpl
cp compute.centos7.pkglist compute.centos7.3.pkglist
chdef -t osimage centos7.3-x86_64-install-compute template=/opt/xcat/share/xcat/install/centos/compute.centos7.3.tmpl
chdef -t osimage centos7.3-x86_64-install-compute pkglist=/opt/xcat/share/xcat/install/centos/compute.centos7.3.pkglist
echo '/etc/hosts -> /etc/hosts'>>/opt/xcat/share/xcat/install/centos/compute.centos7.3.synclist
chdef -t osimage centos7.3-x86_64-install-compute synclists=/opt/xcat/share/xcat/install/centos/compute.centos7.3.synclist

15、编辑模板

vi /opt/xcat/share/xcat/install/rh/compute.rhel6.4.tmpl
vi /opt/xcat/share/xcat/install/centos/compute.centos7.4.tmpl
part /boot --size 500 --fstype ext4
part /boot/efi --size 200 --fstype efi
part swap --size 32768
part / --size 1 --grow --fstype ext4
#固定盘符,指定只使用sda
clearpart --all --drives=sda
#%include /tmp/partitionfile
ignoredisk --only-use=sda
part /boot --size 500 --fstype ext4 --ondisk sda
part swap --size 8192  --ondisk sda
part / --size 1 --grow --fstype ext4 --ondisk sda
#LVM分区方式
part /boot --fstype ext4 --size=400 --ondisk sda
part swap --size=16384 --ondisk sda
part system --size=1 --grow --ondisk sda
volgroup vg01 pv_system
logvol  /  --vgname=vg01  --size=40000  --name=lv_root
logvol  /var  --vgname=vg01  --size=50000  --name=lv_var
logvol  /tmp  --vgname=vg01  --size=2048  --name=lv_tmp

16、添加修改postscripts,自定义脚本

cat >/install/postscripts/config_optim<<EOF
#!/bin/bash
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/bak/
sed -i 's/^.*UseDNS.* $/UseDNS no/g' /etc/ssh/sshd_config
EOF
chmod 755 /install/postscripts/config_optim

chtab node=xcatdefaults postscripts.postscripts=remoteshell,syncfiles,setupntp,hardeths,config_optim
chtab node=all postscripts.postscripts=mysh

17、设置服务器使用ipmi并添加设备

chtab node=all nodehm.power=ipmi nodehm.mgt=ipmi
chtab node=all ipmi.bmc='/\z/-mm/' ipmi.username=USERID ipmi.password=PASSW0RD

nodeadd node01 groups=node,,all mac.mac='9C:B6:54:8D:90:58' ipmi.bmc=10.1.1.1 ipmi.username=USERID ipmi.password=PASSW0RD

18、设定自动生成参数

makehosts all
makedns -n
makedhcp -a
makedhcp -n

19、设置使用镜像:

nodeset node01 osimage=rhel6.4-x86_64-install-compute
nodeset node02 osimage=rhel6.4-x86_64-install-compute

nodeset node01 osimage=centos7.4-x86_64-install-compute
nodeset node02 osimage=centos7.4-x86_64-install-compute

20、设定网络启动并重启设备

rsetboot all net
rpower all boot

21、重新部署节点

rinstall node01

22、其他资料

主要配置表:

site        mp  
mac         mpa
noderes     ipmi
nodelist    postscripts
nodetype    osimage
nodehm      networks

使用如下命令查看或编辑:

tabdump  sitename					    查看配置表的内容
tabedit   sitename					    编辑表内容

常用命令:

pping noderange						    检查节点网络状态
rpower  noderange stat           	    检查节点电源状态
nodestat noderange                	    检查节点系统状态
pscp  xxx  noderange:/xxx/ 			    批量拷贝数据
psh  noderange date					    批量让节点执行相同命令
lsdef -t osimage						查看系统列表
nodeset  noderage osimage=osimagename	设定节点系统
rinstall  nodename					    重新安装节点
rscan  noderage						    查看刀箱MT/SN等信息
rinv  noderage						    查看服务器硬件信息
lsdef 							    	查看节点配置信息
chdef 							        修改节点配置信息

dumpxCATdb						        导出xcat所有配置表
restorexCATdb						    导入xcat所有配置表
rspconfig							    设定刀箱管理口配置
rsetboot 							    机架服务器选择下次启动方式
rbootseq							    刀片服务器选择下次启动方式