Centos8通过PXE自动安装

1.环境准备

服务器作用
dhcp-server为PXE客户端提供IP
tftp-server为PXE客户端提供启动服务
httpd-server为PXE客户端提供软件包

因为资源限制,将dhcp,tftp和httpd集成到一台服务器上

服务器IP
Server10.1.1.10

设置主机名,关闭防火墙以及selinux

[root@Server ~]# hostnamectl set-hostname Server #主机名
[root@Server ~]# systemctl stop firewalld #防火墙关闭
[root@Server ~]# systemctl disable firewalld
[root@Server ~]# setenforce 0 #selinux设置为permissive
[root@Server ~]# getenforce 
Permissive

yum源已配置为清华源
安装所需软件包

[root@Server ~]# dnf -y install dhcp-server tftp-server httpd syslinux-nonlinux

2.服务搭建

一.dhcpd

# 复制配置文件
[root@Server ~]# cp -a /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp: overwrite '/etc/dhcp/dhcpd.conf'? y
[root@Server ~]# vim /etc/dhcp/dhcpd.conf 
#将以下配置修改
subnet 10.5.5.0 netmask 255.255.255.224 {
  range 10.5.5.26 10.5.5.30;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.31;
  default-lease-time 600;
  max-lease-time 7200;
}
#修改为如下配置
subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.20 10.1.1.50; 
  option domain-name-servers 114.114.114.114, 8.8.8.8;
  option routers 10.1.1.2;
  next-server 10.1.1.10;
  filename "pxelinux.0";
}
保存退出
[root@Server ~]# systemctl restart dhcpd # 重启dhcpd

二.httpd

[root@Server ~]# mkdir /var/www/html/RHEL
[root@Server ~]# mount /dev/cdrom /var/www/html/RHEL/
mount: /var/www/html/RHEL: WARNING: device write-protected, mounted read-only.
[root@Server ~]# systemctl restart httpd # 重启httpd

三.tftp

# 拷贝启动所需文件
[root@Server ~]# cp -a /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@Server ~]# cp -a /var/www/html/RHEL/isolinux/{initrd.img,ldlinux.c32,vesamenu.c32,libcom32.c32,vmlinuz,libutil.c32} /var/lib/tftpboot/
# 拷贝引导文件并修改
[root@Server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@Server ~]# cp /var/www/html/RHEL/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@Server ~]# cat /var/lib/tftpboot/pxelinux.cfg/default 
# 修改文件为如下内容
default vesamenu.c32
timeout 600
label linux
  menu label ^Manual Install CentOS Linux 8
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=http://10.1.1.10/RHEL
label linux
  menu label ^Install Mini CentOS Linux 8
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://10.1.1.10/ks.cfg
label local
  menu label Boot from ^local drive
  localboot 0xffff
[root@Server ~]# cp anaconda-ks.cfg /var/www/html/ks.cfg
# 拷贝引导文件并修改
[root@Server ~]# chmod o+r /var/www/html/ks.cfg 
# 赋予其他用户添加可读权限
[root@Server ~]# grep -Ev "^$|#" /var/www/html/ks.cfg 
# 以下内容可直接删除原文件后复制粘贴
ignoredisk --only-use=sda
zerombr
text
reboot
clearpart --none --initlabel
selinux --disabled
firewall --disabled
url --url="http://10.1.1.10/RHEL" # 记得修改为自己的仓库
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --hostname=centos8.localdomain
rootpw --iscrypted $6$nufSJTHpF5iL.8Eo$ZvEhY2QC5Undub4aGFV9driy/BieNip5XKXzN.lGEn/G7npJjv8eMBe3ORvh37IeIWxjfTlsFnl0RE0hai.fk/
firstboot --enable
clearpart --all --initlabel
skipx
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
part / --fstype="xfs" --ondisk=sda --size=20480
part /boot --fstype="ext4" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=4096
part /data --fstype="xfs" --ondisk=sda --size=10240
%packages
@^minimal-environment
kexec-tools
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@Server ~]# systemctl restart tftp # 重启tftp

3.测试服务

新建一台vmware虚拟机,不带iso镜像文件
请添加图片描述
开启虚拟机
请添加图片描述
正在安装
在这里插入图片描述
安装成功
在这里插入图片描述
至此,服务搭建成功

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE(Preboot Execution Environment)是一种网络启动方式,可以通过网络从服务器上下载和启动操作系统,适用于大规模的操作系统安装和部署。 要在 CentOS 7 上安装 PXE,需要进行以下步骤: 1. 安装 DHCP 服务器:DHCP 服务器用于向 PXE 客户端分配 IP 地址和其他网络配置信息。可以使用以下命令在 CentOS 7 上安装 DHCP 服务器: ``` yum install dhcp ``` 2. 配置 DHCP 服务器:需要在 DHCP 配置文件(/etc/dhcp/dhcpd.conf)中添加以下内容: ``` subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 8.8.8.8, 8.8.4.4; next-server 192.168.1.10; filename "pxelinux.0"; } ``` 其中,subnet、range、option routers 和 option domain-name-servers 需要根据实际情况修改。next-server 指定 TFTP 服务器的 IP 地址,filename 指定启动文件的名称。 3. 安装 TFTP 服务器:TFTP 服务器用于提供 PXE 启动文件和操作系统镜像。可以使用以下命令安装 TFTP 服务器: ``` yum install tftp-server ``` 4. 配置 TFTP 服务器:需要编辑 TFTP 配置文件(/etc/xinetd.d/tftp),将 disable 改为 no,并添加以下内容: ``` service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } ``` 5. 准备 PXE 启动文件和操作系统镜像:需要将启动文件(pxelinux.0)和操作系统镜像文件放到 TFTP 服务器的目录(/var/lib/tftpboot)下。 6. 启动服务:需要启动 DHCP 和 TFTP 服务器,并将 PXE 客户端连接到同一局域网。在 PXE 客户端启动时,会自动获取 IP 地址和启动文件,并从 TFTP 服务器下载操作系统镜像进行安装。 以上就是在 CentOS 7 上安装 PXE 的步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值