环境准备
此次实验测试安装系统为rhel8,所以操作主要是在rhel8中操作,除了制作kickstart脚本文件是在rhel7中,因为rhel8中没有这个免费的程序可供使用。
- 部署vsftpd共享服务
- 安装vsftpd服务
[root@rhel8 ~]# dnf install vsftpd.x86_64 -y
- 共享安装源
[root@rhel8 ~]# mount /dev/cdrom /var/ftp/rhel8
[root@rhel8 ~]# systemctl stop firewalld.service
[root@rhel8 ~]# setenforce 0
[root@rhel8 ~]# getenforce
Permissive
[root@rhel8 ~]# lftp 192.168.0.20
lftp 192.168.0.20:~> ls
drwxr-xr-x 2 0 0 6 Aug 12 2018 pub
dr-xr-xr-x 7 0 0 2048 Apr 04 2019 rhel8
lftp 192.168.0.20:/>
- 共享ks文件
ks文件我在rhel7里用kickstart程序做好传到rhel8中,具体步骤可以看一下介绍kickstart的文章。
[root@rhel8 ~]# scp root@192.168.0.15:/root/ks.cfg /var/ftp/pub
[root@rhel8 ~]# lftp 192.168.0.20
lftp 192.168.0.20:~> cd pub
cd ok, cwd=/pub
lftp 192.168.0.20:/pub> ls
-rw-r--r-- 1 0 0 942 Feb 25 15:51 ks.cfg
- 搭建dhcpd服务器
[root@rhel8 ~]# dnf install -y
[root@localhost ~]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite '/etc/dhcp/dhcpd.conf'? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# systemctl start dhcpd
编辑的配置文件内容如下
部署pxe
-
首先根据程序需要先安装服务 syslinux 和 tftp
syslinux 的作用是获得pxelinux.0文件
tftp 的作用是pxelinux.0共享服务器
安装完后启动 tftp 服务 -
然后根据服务的文档提示
查看文件,根据提示操作: cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ,共享pxelinux.0
再往下看,需要把内核、初始化等文件放入tftpboot目录里:cp /var/ftp/rhel8/isolinux/* /var/lib/tftpboot/ ,共享安装环境所要读取的文件
我们可以查看一下目录: /var/ftp/rhel8/isolinux/ ,这个目录是我们挂载的镜像,里面就有我们需要的系统内核、初始化镜像
然后还要让我们建立目录: mkdir /var/lib/tftpboot/pxelinux.cfg
下面还给我们举例,运行pxelinux.0时,会去加载 pxelinux.cfg/default 这个文件,这个文件的作用就像初始化界面ioslinux.cfg文件展示的那样,
所以我们把isolinux.cfg复制到default里:cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default ,生成pxelinux.0默认读取文件。 -
最后对dhcpd服务的配置文件进行更改,添加pxe的服务
vim /etc/dhcp/dhcpd.conf
然后重启服务。 -
测试
启动主机进入BIOS界面,将启动方式的网络启动放到第一位,保存退出重新启动,就可以进入正常的安装界面了。
设定pxelinux.cfg/default
根据上面的设定,我们可以从网络上直接启动linux安装程序,但是安装的径路还是需要进一步的去设定,
这些设定就在 :/var/lib/tftpboot/pxelinux.cfg/default 文件里
- 第一个可以更改初始化界面等待的时间,200=20s
- 设定初始化界面停留标题和资源路径
初始化界面默认是首先停留在第二个标题上,先注释“#”掉第二个标题的 “menu default” ,给第一个标题下面加上 “menu default” 。然后更改资源路径,设定ks脚本路径。
完成设定要 “wq!”强制退出保存,然后再测试安装就是完全的自动过程,等待安装完成就可以了。