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
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.dgrt.cn/a/2113136.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
【全网最细致!】PXE+xCAT自动化无人值守安装部署oVirt Node系统
PXE(Preboot eXecution Environment)技术可以实现无盘工作站的网络启动。结合xCAT,可以实现大规模的无盘工作站自动化部署。本文主要介绍如何使用PXExCAT自动化部署oVirt Node系统。 xCAT通过TFTP,DHCP,FTP等服务,实现PXE无盘工作站的网络启动和自动化安装。xCAT管理节点上需要……
USB Host与USB OTG的区别
1、了解USB 通讯的含义,USB是一种数据通讯方式,也是一种数据总线; 2、了解USB接口的物理表现形式和物理接口的形态,硬件上的表现形式,一边是plug(插头),一边是(receptacle)母座,目前USB硬件是接口上分三种,普通PC使用的接口都是TYPE-A,手机上用的MICRO USB(之前用的……
超详细从入门到精通,pytest自动化测试框架实战教程(一)
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言
pytest框架的几个重……
AttributeError: ‘dict‘ object has no attribute ‘iteritems‘
原因:python3中iteritems()被items()代替了
了解更多…
SAP 生产订单创建时增强控制,判断物料是否发布价格及BOM用途与订单类型是否匹配
SAP 生产订单创建时增强控制,判断物料是否发布价格及BOM用途与订单类型是否匹配。 1、在创建生产订单的时候判断物料是否存在标准成本,如果不存在标准成本则报错,同时判断物料的BOM用途是否与订单类型是否匹配,如BOM不匹配则不允许……
QCN9074 QCN9024 11AX 4X4 M.2 MU-MIMO WIFI6E 6GHz 5GHz WIFI6|Wallystech
QCN9074 QCN9024 11AX 4X4 M.2 MU-MIMO WIFI6E 6GHz 5GHz WIFI6|Wallystech Are you in the market for a new high-performance network card? The DR9074-6E and DR9074-5G are both excellent options, but which one is right for you? In this article, we compare the ……
UnityAndroid出包问题记录
AndroidStudio
首先AndroidStudio里面Sync Project With Gradle File失败就是下载不下来,网上乱七八糟改了半天就是不行,最后改个http代理就行了 – https://www.cnblogs.com/xsj1989/p/16822735.htmlGradle sync failed: Unable to start the daemon p……
中嘉工程检测+微签,让检测报告签署变简单
真的太多了!头疼的检测机构
微签已经在检测行业打出名堂了。
三百六十行,行行用微签,微签在每行每业都有应用,所有行业用起微签的功能其实也都大同小异,电子签章、线上审批、文件自动发送、自动归档,等等……
RK3568平台开发系列讲解(调试篇)如何优化驱动稳定性和效率
🚀返回专栏总目录 文章目录 一、检测 ioctl 命令二、检测传递地址是否合理三、分支预测优化沉淀、分享、成长,让自己和他人都能有所收获!😄 📢在 Linux 中应用程序运行在用户空间,应用程序错误之后,并不会影响其他程序的运行,而驱动工作在内核层,是内核代码的一部分……
golang应用程序使用prometheus监控
Prometheus 是一个开源的监控和警报工具包,用于收集和处理应用程序和系统的指标数据。Go 语言(Golang)是一种快速、简洁和并发友好的编程语言,非常适合开发高性能的后端服务。为了使用 Prometheus 监控 Go 语言编写的应用程序&……
【面试题 高逼格利用 类实现加法】编写代码, 实现多线程数组求和.
编写代码, 实现多线程数组求和.关键1. 数组的初始化关键2. 奇偶的相加import java.util.Random;public class Thread_2533 {public static void main(String[] args) throws InterruptedException {// 记录开始时间long start System.currentTimeMillis();// 1. 给定一个很长的……
一个python训练
美国:28:麻省理工学院,斯坦福大学,哈佛大学,加州理工学院,芝加哥大学,普林斯顿大学,宾夕法尼亚大学,耶鲁大学,康奈尔大学,哥伦比亚大学,密歇根大学安娜堡分校,约翰霍普金斯大学,西北大学,加州大学伯克利分校,纽约大学,加州大学洛杉矶分校,杜克大学,卡内基梅隆大学,加州大学圣地……
Mybatis03学习笔记
目录 使用注解开发
设置事务自动提交
mybatis运行原理
注解CRUD
lombok使用(偷懒神器,大神都不建议使用)
复杂查询环境(多对一)
复杂查询环境(一对多)
动态sql环境搭建
动态sql常用标签……
编程日记2023/4/16 14:55:50
设置或取得c# NumericUpDown 编辑框值的方法,(注意:不是Value值)
本人在C#开发中使用到了NumericUpDown控件,但是发现该控件不能直接控制显示值,经研究得到下面的解决办法
NumericUpDown由于是由多个控件组合而来的控件,其中包含一个类似TextBox的控件,若想取得或改变其中的值要使用如下方法
N……
编程日记2023/4/16 14:55:46
使用NPOI 技术 的SetColumnWidth 精确控制列宽不能成功的解决办法(C#)
在使用NPOI技术开发自动操作EXCEL软件时遇到不能精确设置列宽的问题。
如
ISheet sheet1 hssfworkbook.CreateSheet("Sheet1");
sheet1.SetColumnWidth(0, 50 * 256); // 在EXCEL文档中实际列宽为49.29
sheet1.SetColumnWidth(1, 100 * 256); // 在EXCEL文……
编程日记2023/4/16 14:55:46
Mysql 数据库zip版安装时basedir datadir 路径设置问题,避免转义符的影响
本人在开发Mysql数据库自动安装程序时遇到个很奇怪的问题,其中my.ini的basedir 的路径设置是下面这样的:
basedir d:\测试\test\mysql
但是在使用mysqld安装mysql服务时老是启动不了,报1067错误,后来查看window事件发现一个独特……
java stream sorted排序 考虑null值
项目里使用到排序, java里没有像C# 里的linq,只有stream,查找stream.sorted源码看到有个
Comparator.nullsLast
然后看了一下实现,果然是能够处理null值的排序,如:minPriceList.stream().sorted(Comparator.comparing(l -> l.g……
spring @EnableConfigurationProperties 实现原理
查看DataSourceAutoConfiguration源码,发现如下代码: Configuration ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) EnableConfigurationProperties(DataSourceProperties.class) Import({ DataSourcePoolMetadataProvidersCon……
postman请求https网址没有响应,但是用浏览器有响应,解决办法
遇到个问题:同一个get请求的url,postman请求https网址没有响应,但是用浏览器有响应
url是https开头的,查看错误描述里有一个SSL的选项: 然后根据描述关掉这个选项: 然后就没问题了,能正常请求及……
java @Inherited注解的作用
看到很多注解都被Inherited进行了修饰,但是这个Inherited有什么作用呢?
查看Inherited代码描述:
Indicates that an annotation type is automatically inherited. If an Inherited meta-annotation is present on an annotation type decl……
编程日记2023/4/16 14:55:43