PXE和无人值守kickstart装机
PXE网络装机服务端
DHCP服务,分配IP地址,定位引导程序
TFTP服务,提供引导程序下载
HTTP服务(或FTP/NFS),提供yum源
1.部署PXE的DHCP
[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.208 192.168.4.220;
option domain-name-servers 223.5.5.5;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; ==>>指定客户端访问下一个服务器地址
filename "pxelinux.0"; ==>>指定网卡引导文件的名称 (安装说明书,二进制文件)
}
[root@svr7 ~]# systemctl restart dhcpd
2.搭建TFTP服务
TFTP:简单的文件传输协议 默认端口:69
默认共享数据的路径:/var/lib/tftpboot
[root@svr7 ~]# yum install -y tftp-server
[root@svr7 ~]# systemctl restart tftp
3.下载pxelinux.0的安装包
[root@svr7 ~]# yum provides */pxelinux.0 ==>>查询pxelinux.0的安装包(获得pxelinux.0的文件)
syslinux-4.05-15.el7.x86_64 : Simple kernel loader which boots from a FAT
: filesystem
源 :base
匹配来源:
文件名 :/usr/share/syslinux/pxelinux.0
[root@svr7 ~]# yum install -y syslinux-4.05-15.el7.x86_64
[root@svr7 ~]# rpm -ql syslinux|grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@svr7 ~]# cp /usr/share/syslinux/pxe
pxechain.com pxelinux.0
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0
4.部署菜单文件
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 /]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 /]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
5.部署图形的模块与背景图片
[root@svr7 /]# cp /mnt/isolinux/splash.png /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
6.部署驱动程序与启动内核
[root@svr7 ~]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
7.修改菜单文件
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
1 default vesamenu.c32 ==>>默认加载图形模块
2 timeout 600 ==>>*/10=读秒时间
10 menu background splash.png ==>>背景图片
11 menu title PXE server! ==>>菜单界面显示标题
61 label linux
62 menu label ^Install CentOS 7 ==>>选项显示的内容
63 menu default ==>>添加这行,读秒之后的默认选择
64 kernel vmlinuz ==>>加载内核
65 append initrd=initrd.img ==>>加载驱动程序
64行以下以下内容全部删除
8.构建web服务
[root@svr7 ~]# yum install -y httpd
[root@svr7 html]# mkdir /var/www/html/centos
[root@svr7 html]# cp /mnt/ /var/www/html/centos/ ==>>临时挂载
9.无人值守安装,生成应答文件
1.安装图形软件
[root@svr7 html]# yum install -y system-config-kickstart ==>>安装图形软件
[root@svr7 ~]# LANG=en system-config-kickstart
dhcp-->IP地址,next-server,filename
pxelinux.0-->客户端读取菜单文件(/var/lib/tftpboot/pxelinux.cfg/default)
default-->图形模块,读秒,加载背景,加载内核,加载驱动程序