PXE(Preboot eXecution Environment)技术可以实现无盘工作站的网络启动。结合xCAT,可以实现大规模的无盘工作站自动化部署。本文主要介绍如何使用PXE+xCAT自动化部署oVirt Node系统。
xCAT通过TFTP,DHCP,FTP等服务,实现PXE无盘工作站的网络启动和自动化安装。xCAT管理节点上需要配置操作系统安装映像、自动化安装脚本等资源。客户端通过PXE启动,从xCAT管理节点获取操作系统安装文件和自动化安装指令,实现无人值守的大规模自动化部署。
oVirt Node是oVirt虚拟化平台的宿主机系统,专为运行oVirt虚拟机而定制。本文以部署oVirt Node 4.4为例,介绍PXE+xCAT自动化部署oVirt Node的步骤:
一、安装xCAT
- 下载xcat-core-2.16.4-linux.tar.bz2和xcat-dep-2.16.4-linux.tar.bz2
- 新建文件夹并把压缩包放入
mkdir ~/xcat
- 解压文件。
tar -xjvf xcat-core-2.16.4-linux.tar.bz2
tar -xjvf xcat-dep-2.16.4-linux.tar.bz2
- 配置xCAT本地yum源
cd ~/xcat/xcat-core/
./mklocalrepo.sh cd ~/xcat/xcat-dep/rh8/x86_64/
./mklocalrepo.sh
- 安装xCAT
yum clean all
yum install xCAT
- 把xCAT命令添加到Path中
source /etc/profile.d/xcat.sh
lsxcatd -a # 检查版本
service xcatd start / stop / restart # 启动/停止/重启xcat
可以使用tabdump site命令检测是否成功安装运行
二、配置xCAT
- 关闭selinux和firewalld
vim /etc/selinux/config SELINUX=disabled
systemctl stop firewalld
systemctl disable firewalld
- 编辑xCAT表信息
1)site表
chtab key=master site.value=192.168.186.185
chtab key=nameservers site.value=192.168.186.185
chtab key=ntpservers site.value=192.168.186.185
chtab key=dhcpinterfaces site.value=”192.168.186.185|ens160”
chtab key=domain site.value=test.com
tabedit site 使用dd删除forwarders键值对
2)networks表
安装xCAT后,netwroks表会自动读取信息。如没有信息,需手动添加。
tabedit networks手动编辑或者
chtab net=192.168.186.0 networks.dhcpserver=192.168.186.185
chtab networks.tftpserver=192.168.186.185
tabdump networks查看
3)passwd表
chtab key=system passwd.username=root passwd.password=111111
tabdump passwd
4)nodelist表
nodeadd test01 groups=test,all
tabdump nodelist
5)noderes表
chtab node=test01 noderes.netboot=pxe noderes.nfsserver=192.168.186.185 noderes.monserver=192.168.186.185 noderes.installnic=ens160 noderes.primarynic=ens160 noderes.xcatmaster=192.168.186.185 noderes.servicenode=192.168.186.185
tabdump noderes
6)nodetype表
chtab node=test01 nodetype.os=centos8 nodetype.arch=x86_64 nodetype.profile=test nodetype.nodetype=osi
tabdump nodetype
7)mac表
nodeadd test01 mac.interface=ens160 mac.mac=00:0c:29:a5:f8:f0
这个mac地址是待安装的客户端的网卡的mac地址
tabdump mac
- 编辑xCAT服务器hosts表
添加xCAT服务器和目标服务器信息
- 配置DNS服务
makedns -n
nslookup test01.test.com 检测DNS服务是否成功配置
- 配置DHCP服务
makedhcp -n
这个时候 vi /etc/dhcp/dhcpd.conf,添加一个分配ip的range范围:
(https://img-blog.csdnimg.cn/726e9aad9eee40c6bb9777c1c68ac666.png)
重启dhcpd服务:service dhcpd restart
检查named服务状态
service named status
- 上传镜像文件
新建文件夹/install/centos8/x86_64
mkdir -p /install/centos8/x86_64
红色部分要和nodetype.os字段一致,蓝色部分要和copycds -a参数保持一致。
copycds -n centos8 -a x86_64 ovirt-node-ng-installer-4.4.10-2022030308.el8.iso
- 配置应答文件(.tmpl)和所需要安装的软件包列表文件(.pkglist)
配置文件存放路径为/opt/xcat/share/xcat/install/centos
cp /opt/xcat/share/xcat/install/centos/compute.centos-stream8.tmpl /opt/xcat/share/xcat/install/centos/test.centos8.tmpl
vim test.centos8.tmpl
cp /root/anaconda-ks.cfg /opt/xcat/share/xcat/install/centos/test.centos8.pkglist
开始分发
[root@xcat centos]# lsdef -t osimage
[root@xcat centos]# nodeset test01 osimage=centos8-x86_64-install-compute
[root@xcat centos]# nodestat test01
此时安装会出现以下问题,怀疑是xcat的ks模板不适用ovirt的镜像
[root@xcat autoinst]# cd /install/autoinst/
[root@xcat autoinst]# mv test01 test01.bak
[root@xcat autoinst]# vi test01
ks文件替换成以下内容:
注意:只需要把第一行的ip改为dhcp服务器的
- 编辑脚本文件(暂时未测试成功)
/install/postscripts 路径下放置安装系统后执行的脚本、
编辑postscripts表 tabedit postscripts
三、重启目标服务器,选择pxe启动。
如果网络启动的时候缺少ldlinux.c32的话,执行:
cp /install/centos8/x86_64/isolinux/ldlinux.c32 /tftpboot/
注意:
- 在服务器安装的时候启动方式如果是UEFI要改为Legacy模式,才可以进行自动安装!!!
- 当我们修改了某个表之后,需要重新执行lsdef命令进行镜像发布,之后如果再对/install/autoinst目录下面的ks文件进行调整
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net