author:JevonWei
版权声明:原创作品
- 192.168.198.134作为安装服务器,由httpd服务共享安装程序
- 192.168.198.134作为dhcp服务器,客户机获取IP
一、安装相应服务程序包及开启服务
yum -y install dhcp tftp-server syslinux httpd
systemctl enable dhcpd.service tftp httpd
systemctl start tftp
systemctl start httpd
systemctl enable httpd
firewall-cmd --add-service=http --permanent
firewall-cmd --reload \\ 打开httpd的防火墙
firewall-cmd --add-service=tftp --permanent
firewall-cmd --add-service=tftp-client --permanent
firewall-cmd --reload \\ 打开httpd的防火墙
setenfore 0 \\关闭selinux
二、配置dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 192.168.198.0 netmask 255.255.255.0 { \\配置dhcp服务器的网段和子网掩码
range 192.168.198.10 192.168.198.50; \\可分配IP地址的范围
option routers 192.168.198.1; \\ 自动获取路由网关
option domain-name-servers 192.168.198.1; \\ 获取DNS域名
filename "pxelinux.0"; \\ 获取pxelinux.0文件
next-server 192.168.198.134; \\ 连接的*服务器IP
}
systemctl start dhcpd
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload \\ 开启防火墙
三、生成ks.cfg应答文件
yum -y install system-config-kickstart \\安装图形工具用于生成ks应答文件
[root@danran ~]# cat /etc/yum.repos.d/server.repo
[development]
name=danran
baseurl=file:///mnt
enable=1
gpgcheck=0
system-config-kickstart \\打开ks文件的图形工具,并将ks文件保存在家目录下
按下图所示生成ks文件
三、http服务共享安装文件
cd /var/www/html
mkdir ks \\文件存放ks应答文件
cp /mnt /var/www/html/centos7/ -r \\复制系统光盘文件到/var/www/html/centos7目录共享
mv ks.cfg /var/www/html/ks/centos7.cfg \\复制ks.cfg应答文件到/var/www/html/ks目录下并命名为centos7.cfg
vim /var/www/html/ks/centos7.cfg
四、配置tftp-server共享目录
cd /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg \\ 在tftp共享目录下新建pxelinux.cfg文件
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default \\复制光盘中的isolinux.cfg启动菜单文件到pxelinux.cfg目录下并重命名为default
find / -name pxelinux.0 \\查找pxelinux.0文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ \\复制pxelinux.0文件到/var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot \\复制menu.c32到目录下,menu.c32为系统安装的菜单界面风格
cp /mnt/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ \\复制内核和虚拟磁盘文件
以上两个操作可使用cp /mnt/isolinux /var/lib/tftpboot 代替
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32 \\指定安装风格
timeout 600
menu title PXE CentOS Linux 7 install
label auto
menu label ^Auto Mini Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.198.134/ks/centos7.cfg
label manual
menu label ^Manual Install CentOS Linux 7
kernel vmlinuz
append initrd=initrd.img
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
五、安装测试
实现不同系统安装
复制centos6的相关文件到相应的目录下
cd /var/www/html
cp /mnt/ /var/www/htmlcentos6.9 \\复制centos6的系统文件到/var/www/htmlcentos6.9
mkdir /var/www/html/ks/{6,7]
cd /var/lib/tftpboot
cp /mnt/isolinux/{vmlinuz,initrd.img} centos6
cd /var/lib/tftpboot/pxelinux.cfg/
vim defaults