具体步骤
1 安装必要包,并开启httpd服务
yum install dhcp tftp-server httpd syslinux
systemctl enable dhcpd httpd tftp.socket
systemctl start httpd
2.准备yum源
mkdir /var/www/html/centos/7 -pv
添加开机自动挂载光盘
vim /etc/fstab
/dev/sr0 /var/www/html/centos/7 iso9660 defaults 0 0
挂载磁盘
mount dev/sr0 /var/www/html/centos/7
重新读取磁盘挂载
mount -a
2.制作ks.cfg文件
mkdir /var/www/html/ksdir/7 -pv
cp /root/ ks7_desktop.cfg /var/www/html/ksdir/7/ks7_desktop.cfg
cp /root/ ks7_mini.cfg /var/www/html/ksdir/7/ks7_mini.cfg
chmod +r /var/www/html/ksdir/7/ks7_desktop.cfg
浏览器确认ks7.cfg能正常访问
3.修改ks.cfg文件
#Use CDROM installation media
url –url=http://192.168.30.7/centos/7
#Use graphical install
text
#网卡
onboot=on
我们还可以在此添加ssh基于key的认证,使得新系统安装后可直接ssh连接
添加ssh基于key验证:
%post
mkdir /root/.ssh
cat > /root/.ssh/authorized_keys << EOF
ssh-rsa AAABBB…(服务器自授权公钥)
EOF
4.配置dhcp服务
subnet 192.168.30.0 netmask 255.255.255.0 {
range 192.168.30.10 192.168.30.100;
option routers 192.168.30.254;
option domain-name-servers 8.8.8.8;
next-server 192.168.30.7;
filename “pxelinux.0”;
}
syetemctl dhcpd start
5.准备PXE相关文件
cd /var/lib/tftpboot/
mkdir pxelinux.cfg/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
rpm -ql syslinux|grep menu.c32
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
最终目录树如下:
6.制作菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
删掉背景,修改title等
menu title Auto Install System
CentOS7:
见图
设置启动菜单:
menu title Auto Install CentOS
label desktop
menu label Install ^Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.30.7/ksdir/7/ks7_desktop.cfg
label mini
menu label Install ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.30.7/ksdir/7/ks7_mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end
7.测试安装,新开一台虚拟机:
网卡设置为仅主机,正常启动将出现安装界面
我们选择Desktop安装
学员评价