论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Oracle
›
使用PXE实现自动化安装rockylinux8.10
使用PXE实现自动化安装rockylinux8.10
嚴華
论坛元老
|
2024-9-12 13:15:05
|
显示全部楼层
|
阅读模式
楼主
主题
1736
|
帖子
1736
|
积分
5208
PXE
一、简介
实现多台服务器自动化安装系统。
二、摆设
这里宿主机是 centos7,PXE 摆设的是 rockylinux8.10。
宿主机需提前关闭 selinux 和防火墙。
2.1 摆设 dhcp
安装 dhcp
[root@test-server ~]# yum install -y dhcp
复制代码
修改配置文件
# 复制默认的配置文件
[root@test-server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
# 修改配置文件,修改几行即可,其他不用动,测试下来这里面的指定地址池没生效
[root@test-server ~]# vim /etc/dhcp/dhcpd.conf
14 ddns-update-style none; # 取消这行的注释
32 subnet 192.168.88.0 netmask 255.255.255.0 { # 指定网段
33 range dynamic-bootp 192.168.88.160 192.168.88.210; # 指定地址池
34 option routers 192.168.88.1; # 指定网关
35 option domain-name-servers 8.8.8.8; # 指定DNS
36 next-server 192.168.88.1; # 指定tftp服务器地址
37 filename "pxelinux.0"; # 指定pxe引导程序的文件名
38 }
复制代码
启动 dhcp
# 根据自己情况是否设置开机自启
[root@test-server ~]# systemctl start dhcpd
[root@test-server ~]# systemctl status dhcpd
复制代码
2.2 摆设 tftp
安装 tftp
# 这里tftp依赖于xinetd,所以这里也安装一下xinetd
[root@test-server ~]# yum -y install tftp-server xinetd
复制代码
修改配置文件
# 修改wait disable后面的即可
[root@test-server ~]# vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = no # yes:一台一台的连接; no:允许多台一起连接
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no # yes:关闭tftp; no:开启tftp
per_source = 11
cps = 100 2
flags = IPv4
}
复制代码
启动 tftp
# 根据自己情况设置开机自启
[root@test-server ~]# systemctl start xinetd
[root@test-server ~]# systemctl start tftp
[root@test-server ~]# systemctl status xinetd
[root@test-server ~]# systemctl status tftp
复制代码
2.3 摆设 http
这里也可以安装 nginx 、ftp
# 安装
[root@test-server ~]# yum install -y httpd
# 启动
[root@test-server ~]# systemctl start httpd
# 确保启动成功
[root@test-server ~]# systemctl status httpd
# 挂载光盘镜像
[root@test-server ~]# mkdir /var/www/html/rockylinux8.10
[root@test-server ~]# mount -t iso9660 /data/iso/Rocky-8.10-x86_64-dvd1.iso /var/www/html/rockylinux8.10
# 准备安装源,可选
[root@test-server ~]# vim /var/www/html/local.repo
[BaseOS]
name = BaseOS
baseurl = http://192.168.88.1/rockylinux8.10/BaseOS
enabled = 1
gpgcheck = 0
[AppStream]
name = AppStream
baseurl = http://192.168.88.1/rockylinux8.10/AppStream
enabled = 1
gpgcheck = 0
复制代码
2.4 准备引导程序
[root@test-server ~]# yum install -y syslinux
# 复制几个文件到/var/lib/ftpboot下
[root@test-server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@test-server ~]# cp /var/www/html/rockylinux8.10/isolinux/initrd.img /var/lib/tftpboot/
[root@test-server ~]# cp /var/www/html/rockylinux8.10/isolinux/vmlinuz /var/lib/tftpboot/
复制代码
2.5 配置启动菜单文件
# 注释不用写入
[root@test-server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@test-server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default linux # 指定入口名称
prompt 0 # 0自动执行ks文件,1代表手动
label linux # 安装模式,地址根据自己的情况修改,inst.ks指定的文件名要与后面编写的文件名一致
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.88.1/rockylinux8.10 root=live:http://192.168.88.1/rockylinux8.10/images/install.img inst.ks=http://192.168.88.1/rockylinux.cfg net.ifnames=0 biosdevname=0
复制代码
2.6 编写 ks 文件
这里 ks 文件可以用 system-config-kickstart 工具生成,我这里就直接编写了,可以自行搜刮 system-config-kickstart 使用方法
# 生成密码
[root@test-server ~]# openssl passwd -1 "123456"
$1$NAAAcDvm$9aYMh4fRsFKjr1jPsjWXH.
[root@test-server ~]# vim /var/www/html/rockylinux.cfg
# 安装系统,而不是升级系统
install
# 键盘设置
keyboard 'us'
# root密码
rootpw --iscrypted $1$NAAAcDvm$9aYMh4fRsFKjr1jPsjWXH.
# 系统语言
lang en_US
# 时区设置
timezone Asia/Shanghai
# 配置系统中用户密码的加密算法和存储位置
auth --useshadow --passalgo=sha512
# 配置安装方式,graphical图形化,text文本
# graphical
text
# 禁用系统首次启动设置向导
firstboot --disable
# 关闭selinux
selinux --disabled
# 关闭firewalld
firewall --disabled
# 网络配置,这里的device名称好像也可以成功
network --bootproto=dhcp --device=eth0 --onboot=yes
# 安装完之后重启
reboot
# 网络源,根据自己实际情况填
url --url="http://192.168.88.1/rockylinux8.10"
# 系统引导加载配置
bootloader --location=mbr
# 擦除磁盘上的分区并初始化
zerombr
clearpart --all --initlabel
# 磁盘分区,默认单位是M,--grow --size=1代表剩余的都分给它
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1
# 安装软件包和相关组
%packages
@^minimal-environment
bash-completion
net-tools
vim
%end
# 安装完毕运行的命令,这里写的是更新安装源
%post --interpreter=/bin/bash
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/local.repo http://192.168.88.1/local.repo
%end
复制代码
三、使用
3.1 创建虚拟机
根本上都是默认安装即可
选择虚拟机存放目录
配置 cpu
配置内存,尽量给 2G 或 2G 以上,否则会卡在那边,背面有图
修改虚拟机的网络,根据自身实际情况修改
3.2 启动虚拟机
如果卡在这边,将内存加到 2G 或以上即可。
安装成功,用户名 root,暗码 123456
四、总结
4.1 出现的题目
default 文件中的第一行 default 指定的入口名称,差别版本都不太一样,一开始填的是 auto 不行。
内存题目,rockylinux8.10 要求的内存不能太低。
虚拟机安装的时候,有概率会出现 cpu 的题目,给这 cpu 配置中的 Virtualization Engine 下面的三个勾上就行了。
如果开机之后一开始就提示有什么找不到,请检查/var/lib/tftpboot/pxelinux.cfg/default 中的 append 那一行的 url 是否配置精确。
如果 /var/www/html/rockylinux.cfg 文件中的 packages 标注的组大概安装包,不存在,必要在安装过程中手动输入 yes 忽略。
如果安装 centos7 ,必要手动修改 default 和 ks 文件。
4.2 个人理解
其实 pxe 中最紧张的就是 default 文件和 ks 文件,default 文件指定安装源,ks 配置自动化安装。
这里我使用的是在 ks 文件中指定文本安装,应该也可以在 default 中指定文本安装。
这里我在 default 中就指定了一个 label,如果想添加多个系统的 pxe,可以添加多个 label。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
论坛元老
这个人很懒什么都没写!
楼主热帖
iOS全埋点解决方案-用户标识 ...
用uniapp实现微信小程序的电子签名效果 ...
【万能皆可链接】C++中的动态链接库编 ...
【云服务器】推荐阿贝云服务器,目前永 ...
【Selenium+Pytest+allure报告生成自动 ...
【Javaweb】Web工作原理、两种网页、两 ...
MySQL实战45讲 20
Qt-FFmpeg开发-打开本地摄像头(6) ...
Spring Boot 配置文件
Doris(一) -- 简介和安装
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
SQL-Server
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表