1.网络装机概述网络装机的优势
• 规模化:同时装配多台主机
• 自动化:装系统、配置各种服务
• 远程实现:不需要光盘、U盘等物理安装介质
2.什么是PXE网络
• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装
• 工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行
PXE组件及过程分析
• 服务端
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务(或FTP/NFS),提供yum安装源
3.配置服务
1)配置DHCP服务,指定写一个服务器地址
] vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 192.168.4.7;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #指定下一个服务器地址
filename "pxelinux.0"; #指定网卡引导文件的名称
}
#pxelinux.0:网卡引导文件(网络安装说明书),二进制文件,安装syslinux可以自动生成该文件
2)构建Web服务共享系统安装文件
yum -y install httpd
mount /dev/cdrom /var/www/html/centos #挂载光盘到httpd默认路径
3)搭建TFTP服务,提供众多的引导文件
TFTP:简单的文件传输协议 默认端口 69
默认共享数据的路径:/var/lib/tftpboot
a.安装的软件tftp-server
yum -y install tftp-server
systemctl restart tftp
b.部署pxelinux.0文件
yum provides */pxelinux.0 #查找仓库中哪个软件生成该文件
yum -y install syslinux
rpm -ql syslinux | grep pxelinux.0 #查看文件路径
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
c.部署菜单文件
mkdir /var/lib/tftpboot/pxelinux.cfg
cd /var/www/html/centos/isolinux
cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
d.部署 图形的模块(vesamenu.c32) 与 背景图片(splash.png) 启动内核(vmlinuz) 与 驱动程序(initrd.img)
cp vesamenu.c32 splash.png vmlinuz initrd.img /var/lib/tftpboot/ #部署完成时tftpboot路径下有6个项目
e.修改菜单文件内容
] vim /var/lib/tftpboot/pxelinux.cfg/default
1 default vesamenu.c32 #默认加载图形的模块
2 timeout 600 #读秒时间 600 : *1/10=60s
10 menu background splash.png #背景图片
11 menu title 标题 #菜单标题显示内容
61 label linux
62 menu label 名称 #菜单的显示内容,例如该选项安装的系统名称
63 menu default #读秒结束后默认选择
64 kernel vmlinuz #加载启动内核
65 append initrd=initrd.img ks=http://服务器地址/ks.cfg #前:加载驱动程序 后:应答文件路径
4)部署无人值守安装,生成应答文件
a.安装system-config-kickstart图形的软件
yum -y install system-config-kickstart
b.运行system-config-kickstart命令
LANG=en system-config-kickstart #以英文启动
附:点击 “软件包选择(Package Selection)” 查看是否可以进行选择
需要Yum仓库的支持:指向光盘的内容仓库,标识
必须为[development]
c.修改菜单文件
] vim /var/lib/tftpboot/pxelinux.cfg/default
65 append initrd=initrd.img ks=http://192.168.4.7/ks.cfg
5)重启服务
systemctl restart dhcpd tftp httpd
systemctl enable dhcpd tftp httpd
总结:
1.dhcp服务----》IP地址、next-server、filename pxelinux.0
2.TFTP服务----》pxelinux.0文件
3.pxelinux.0文件----》读取菜单文件 /var/lib/tftpboot/pxelinux.cfg/default
4. 读取菜单文件default—》内核、驱动程序、背景图片、图形模块、ks应答文件
5.ks应答文件—》语言、时区、分区、密码…