PXE部署
[root@test2 ~]# systemctl stop firewalld
[root@test2 ~]# setenforce 0
一、部署tftp服务
[root@test2 ~]# yum -y install tftp-server.x86_64 xinetd.x86_64
[root@test2 ~]# systemctl start tftp
[root@test2 ~]# systemctl enable tftp
[root@test2 ~]# systemctl start xinetd.service
[root@test2 ~]# systemctl enable xinetd.service
[root@test2 ~]# cat /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = no #并行 no表示多台可以一起传输文件
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #tftp的根目录
disable = no # 开启后台启动
per_source = 11
cps = 100 2
flags = IPv4
}
[root@test2 ~]# systemctl restart tftp
[root@test2 ~]# systemctl restart xinetd
二、部署DHCP服务
[root@test2 ~]# yum -y install dhcp
[root@test2 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@test2 ~]# vim /etc/dhcp/dhcpd.conf
14 ddns-update-style none; #取消注释
15 next-server 192.168.11.137; #新增
16 #指定tftp的服务器
17 filename "pxelinux.0"; #新增
18 # 指定下载pxe的引导文件
36 subnet 192.168.11.0 netmask 255.255.255.0 {
37 range 192.168.11.100 192.168.11.110;
38 option routers 192.168.11.137;
39 }
[root@test2 ~]# systemctl restart dhcpd
准备PXE的引导程序,通过光盘镜像文件复制出来
vmlinuz Linux系统内核文件 /mnt/images/pxeboot/vmlinuz
initrd.img 初始化镜像文件,引导加载的模块文件/mnt/images/pxeboot/initrd.img
pxelinux.0 引导程序文件 /usr/share/syslinux/pxelinux.0
[root@test2 ~]# mount /dev/cdrom /mnt/
[root@test2 pxeboot]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
[root@test2 pxeboot]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
[root@test2 pxeboot]# cd /var/lib/tftpboot/ #进入tftp根目录检查是否复制成功
[root@test2 tftpboot]# ll
总用量 57844
-rw-r--r--. 1 root root 52584760 6月 7 11:35 initrd.img
-rwxr-xr-x. 1 root root 6639904 6月 7 11:34 vmlinuz
三、安装PXE引导程序
[root@test2 ~]# yum -y install syslinux.x86_64
[root@test2 ~]# cd /usr/share/syslinux/
[root@test2 syslinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@test2 syslinux]# cd /var/lib/tftpboot/ #检查安装结果
[root@test2 tftpboot]# ll
总用量 57872
-rw-r--r--. 1 root root 52584760 6月 7 11:35 initrd.img
-rw-r--r--. 1 root root 26759 6月 7 11:41 pxelinux.0
-rwxr-xr-x. 1 root root 6639904 6月 7 11:34 vmlinuz
四、部署 vsftpd程序
[root@test2 ~]# yum -y install vsftpd
[root@test2 ~]# cd /var/ftp/
[root@test2 ftp]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月 10 2021 pub
[root@test2 ftp]# mkdir centos7
[root@test2 ftp]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月 7 11:44 centos7
drwxr-xr-x. 2 root root 6 6月 10 2021 pub
[root@test2 ftp]# cp -rf /mnt/* /var/ftp/centos7/ #把光盘镜像的文件全部复制到centos7下
[root@test2 centos7]# systemctl restart vsftpd
五、配置启动菜单
[root@test2 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg #新建pxelinux.cfg目录
[root@test2 pxelinux.cfg]# vim default
default auto
# 指定安装程序的入口,使用这个文件作为安装程序的入口。自动选择。
prompt 0
# 是否等待用户选择,0不等待用户输入,自动完成。1 需要用户手动完成
label auto
#图形化界面的默认安装入口
kernel vmlinuz
# 加载内核文件,vmlinuz
append initrd=initrd.img method=ftp://192.168.11.137/centos7
label linux text
# 字符界面,最小化安装
kernel vmlinuz
# 加载内核
append initrd=initrd.img method=ftp://192.168.11.137/centos7
#引导加载的模块文件initrd.img 从ftp://192.168.11.137/centos7过来
label linux rescue
# 救援模式引导入口
kernel vmlinuz
# 加载内核
append initrd=initrd.img method=ftp://192.168.11.137/centos7
验证以上配置是否正确
验证方法:新建虚拟机—>不需要挂载镜像–>直接开机会分配ip地址等等全自动操作
无人值守值守
一、安装无人值守软件
[root@test2 ~]# yum -y install system-config-kickstart
[root@test2 ~]# system-config-kickstart # Moba可以执行此命令
左上角保存到root目录下
将安装选项加入引导文件
[root@test2 ~]# cp ks.cfg /var/ftp/ #将安装选项文件复制到ftp的匿名用户根目录
[root@test2 ~]# vim ks.cfg # 将安装选项导入ks.cfg %packages开头 %end结尾
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
%end
[root@test2 pxelinux.cfg]# cd /var/lib/tftpboot
[root@test2 pxelinux.cfg]# cat default
default auto
# 指定安装程序的入口,使用这个文件作为安装程序的入口。自动选择。
prompt 0
# 是否等待用户选择,0不等待用户输入,自动完成。1 需要用户手动完成
label auto
#图形化界面的默认安装入口
kernel vmlinuz
# 加载内核文件,vmlinuz
append initrd=initrd.img method=ftp://192.168.11.137/centos7 ks=ftp://192.168.11.137/ks.cfg
label linux text
# 字符界面,最小化安装
kernel vmlinuz
# 加载内核
append initrd=initrd.img method=ftp://192.168.11.137/centos7
#引导加载的模块文件initrd.img 从ftp://192.168.11.137/centos7过来
label linux rescue
# 救援模式引导入口
kernel vmlinuz
# 加载内核
append initrd=initrd.img method=ftp://192.168.11.137/centos7
结果:新建为挂载的虚拟机会直接安装好(需要点时间等待)
😕/192.168.11.137/centos7
#引导加载的模块文件initrd.img 从ftp://192.168.11.137/centos7过来
label linux rescue
救援模式引导入口
kernel vmlinuz
加载内核
append initrd=initrd.img method=ftp://192.168.11.137/centos7
结果:新建为挂载的虚拟机会直接安装好(需要点时间等待)
新建虚拟机的内存配置必须要超过4G,否则无法运行