其他分享
首页 > 其他分享> > PXE无人值守安装系统

PXE无人值守安装系统

作者:互联网

PXE无人值守安装系统

使用PXE+KickStart可以通过非交互模式完成无人值守安装操作系统。

PXE 客户端从DHCP服务器获取到PXE服务端的具体IP,然后再从PXE配置文件中获取vmlinuz、 initrd.img、ks.cfg、系统镜像等文件所在的服务器和位置信息。

什么是PXE

在这里插入图片描述

批量装机软件

实验部署

[root@server1 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled;
vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@server1 ~]# getenforce
Permissive

在这里插入图片描述

在这里插入图片描述

[root@server1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:61:de:19 brd ff:ff:ff:ff:ff:ff
    inet 192.168.174.10/24 brd 192.168.174.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::44af:57cf:a5b1:c86/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:61:de:23 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ac05:b2dd:cafc:c95f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@server1 ~]# nmcli connection show 
NAME        UUID                                  TYPE      DEVICE 
ens33       355e31ea-f2d3-4599-837e-755d9551b9af  ethernet  ens33  
有线连接 1  cb2c3975-70cf-3fa2-86f9-fd781b34f25e  ethernet  ens37

[root@server1 ~]# nmcli connection modify '有线连接 1' con-name ens37
[root@server1 ~]# nmcli connection show 
NAME   UUID                                  TYPE      DEVICE 
ens33  355e31ea-f2d3-4599-837e-755d9551b9af  ethernet  ens33  
ens37  cb2c3975-70cf-3fa2-86f9-fd781b34f25e  ethernet  ens37  
[root@server1 ~]# nmcli connection modify ens37 ipv4.addresses 172.16.10.200/24 autoconnect yes ipv4.method manual 			#更改为和主机一样的网段
[root@server1 ~]# ip a | grep global
    inet 192.168.174.10/24 brd 192.168.174.255 scope global noprefixroute ens33
[root@server1 ~]# nmcli connection down ens37 
成功取消激活连接 'ens37'(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/10)

[root@server1 ~]# nmcli connection up ens37 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/11)
[root@server1 ~]# ip a | grep global
    inet 192.168.174.10/24 brd 192.168.174.255 scope global noprefixroute ens33
    inet 172.16.10.200/24 brd 172.16.10.255 scope global noprefixroute ens37 
[root@server1 ~]# yum -y install dhcp -y
[root@server1 ~]# vim /etc/dhcp/dhcpd.conf
subnet 172.16.10.0 netmask 255.255.255.0 {
range 172.16.10.100 172.16.10.199;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 172.16.10.200;
filename "/pxelinux.0";
}
[root@server1 ~]# systemctl restart dhcpd
[root@server1 ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

注:
range 172.16.10.100 172.16.10.199; # 可分配的起始IP-结束IP
option subnet-mask 255.255.255.0; # 设定netmask
default-lease-time 21600; # 设置默认的IP租用期限
max-lease-time 43200; # 设置最大的IP租用期限
next-server 172.16.10.200; # 告知客户端TFTP服务器的ip
filename "/pxelinux.0"; # 告知客户端从TFTP根目录下载pxelinux.0文件
# 验证端口号
[root@server1 ~]# ss -uanp | grep 67
UNCONN     0      0            *:67                       *:*                   users:(("dhcpd",pid=6848,fd=7))
[root@server1 ~]# yum install tftp-server -y
[root@server1 ~]# systemctl start tftp.socket
[root@server1 ~]# ss -uanp| grep 69
UNCONN     0      0           :::69                      :::*                   users:(("systemd",pid=1,fd=25))
[root@server1 ~]# yum install syslinux -y
[root@server1 ~]# cd /var/lib/tftpboot/
[root@server1 tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@server1 tftpboot]# mkdir -p /media/cdrom
[root@server1 tftpboot]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@server1 tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}
.
[root@server1 tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
[root@server1 tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg
pxelinux.cfg/default
[root@server1 tftpboot]# vim pxelinux.cfg/default
1 default linux
64 append initrd=initrd.img inst.stage2=ftp://172.16.10.200
ks=ftp://172.16.10.200/pub/ks.cfg quiet
[root@server1 tftpboot]# yum install -y vsftpd
[root@server1 tftpboot]# systemctl restart vsftpd
[root@server1 tftpboot]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@server1 tftpboot]# cp -r /media/cdrom/* /var/ftp/
[root@server1 tftpboot]# cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
[root@server1 tftpboot]# chmod +r /var/ftp/pub/ks.cfg
[root@server1 tftpboot]# vim /var/ftp/pub/ks.cfg
5 url --url=ftp://172.16.10.200 # 删除原本的cdrom
30 clearpart --all --initlabel # 意思是清空所有磁盘内容并初始化磁盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:00,cfg,server1,tftpboot,PXE,172.16,无人,root,值守
来源: https://blog.csdn.net/m0_51691302/article/details/120228352