批量装机环境
网络装机概述
规模化、自动化、远程实现
PXE网络
-预启动执行环境
-可用于远程安装
PXE client集成在网卡的BOOTROM中
应用:1、远程安装操作系统
2、远程运行操作系统(无盘工作站)
需要哪些服务组建
-DHCP服务,分配IP地址、定位引导程序
-TFTP服务,提供引导程序的下载
-HTTP服务(或FTP/NFS),提供yum安装源
客户机应具备的条件
-网卡芯片必须支持PXE协议
-主办支持从网卡启动
装机条件
1.准备RHEL7安装源
2.启用DHCP服务
PXE引导配置
3.启用TFTP服务,提供装机用的内核、初始化文件
4.提供PXE引导程序、配置启动猜单
在真机上提供软件安装源 http://192.168.4.254/rh7dvd
1)启用httpd服务
# systemctl restart httpd
2)挂载RHEL7的ISO文件到 /var/www/html/rh7dvd
# mkdir -p /var/www/html/rh7dvd
# vim /etc/fstab
ISO文件的绝对路径 /var/www/html/rh7dvd iso9660 defaults 0 0
# mount -a
# ls /var/www/html/rh7dvd/ //确认目录下有资源
3)检查,确认软件源可访问
浏览器访问 http://192.168.4.254/rh7dvd 可看到软件目录资源
部署DHCP服务器(Dynamic Host Configuration Protocol)
准备装机环境:在真机上搭建http服务,共享iso文件内容
如何从DHCP服务器获取IP地址(租期、作用域、地址池)
1)客户机 请求,DHCP DISCOVERY
2)服务器 提供,DHCP OFFER
3)客户机 选择,DHCP REQUEST
4)确认,DHCP ACK/NACK
快速搭建DHCP服务器(svr7.tedu.cn)
1)装包dhcp
[root@svr7 ~]# yum -y install dhcp
2)配置
[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 { #声明网段
range 192.168.4.10 192.168.4.200; #IP范围
next-server 192.168.4.7; #装机服务器地址
filename "pxelinux.0"; #引导文件名
}
3)起服务dhcpd
[root@svr7 ~]# systemctl restart dhcpd
4)确认监听状态
# netstat -anptu | grep :67
-a:所有
-n:以数字方式显示地址和端口
-p:列出对应的进程和PID
-t:列出TCP类型的连接
-u:列出UDP类型的连接
DHCP服务监听端口:UDP 67
5)测试dhclient (-d:调试模式)
客户机:pc207
[root@pc207 ~]# nmcli connection show
[root@pc207 ~]# dhclient -d eth0 #临时配置/测试
配置PXE引导
部署TFTP服务
1)装包、起服务
默认资源目录:/var/lib/tftpboot
[root@svr7 ~]# yum -y install tftp-server.x86_64
[root@svr7 ~]# systemctl restart tftp
[root@svr7 ~]# systemctl enable tftp
2)提供启动文件pxelinux.0
[root@svr7 ~]# yum provides "*/pxelinux.0" #查找哪一个软件包可以提供目标文件
[root@svr7 ~]# rpm -ql syslinux #查软件包安装了哪些文件
[root@svr7 ~]# yum -y install syslinux
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
建议在客户机pc207先测试,确保可以下载
[root@pc207 ~]# yum -y install tftp
[root@pc207 ~]# tftp 192.168.4.7 -c get pxelinux.0 #从服务器下载pxelinux.0文件
[root@pc207 ~]# ls -lh pxelinux.0
3)提供用来加载系统安装程序的素材(内核文件+初始化文件)
[root@svr7 ~]# mkdir /var/lib/tftpboot/rhel7
[root@svr7 ~]# cd /var/lib/tftpboot/rhel7
[root@svr7 rhel7]# wget http://192.168.4.254/rh7dvd/isolinux/vmlinuz #下载内核文件
[root@svr7 rhel7]# wget http://192.168.4.254/rh7dvd/isolinux/initrd.img #下载初始化文件
[root@svr7 rhel7]# ls -R /var/lib/tftpboot/ #递归显示
4)配置启动菜单
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 ~]# cd /var/lib/tftpboot/
[root@svr7 tftpboot]# wget http://192.168.4.254/rh7dvd/isolinux/vesamenu.c32 #提供图形支持
[root@svr7 tftpboot]# wget http://192.168.4.254/rh7dvd/isolinux/splash.png #准备背景图片
[root@svr7 ~]# cd /var/lib/tftpboot/pxelinux.cfg
[root@svr7 pexlinux.cfg]# wget -O default http://192.168.4.254/rh7dvd/isolinux/isolinux.cfg
#下载菜单配置并改名为default
[root@svr7 ~]# vim /var/lib/tftpboot/pexlinux.cfg/default #修改配置文件
default vesamecu.cfg //菜单显示由vesa...负责
timeout 600 //倒计时等待时间(1/10秒)
行11 menu title PXE Installation Server #启动菜单标题信息
行61 label linux #菜单项标签
行62 menu label ^Install Red Hat Enterprise Linux 7.4
行63 kernel rhel7/vmlinuz #内核位置
行64 append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd #初始镜像、安装源位置
kickstart自动应答
kickstart概述
无人值守/自动应答
-预先提供应答文件,定义好各种安装设置
-免去交互过程,实现全自动化安装
-添加%post脚本,可执行安装后的各种配置
获取方法
1)从其他RHEL7客户机拷贝
/root/anaconda-ks.cfg
2)安装system-config-kickstart工具
-执行图形配置工具,创建新应答文件
使用应答文件
1.安装system-config-kickstart工具
[root@svr7 ~]# yum -y install system-config-kickstart
[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo
[development] #修改名称
name=dvd rhel7
baseurl=ftp://192.168.4.254/rhel7
enabled=1
gpgcheck=0
[root@svr7 ~]# system-config-kickstart
[root@room9pc01 ~]# scp -r [email protected]:/root/ks-new.cfg /var/www/html/
2.更改default菜单配置
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
......
kernel rhel7/vmlinuz
append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks-new.cfg
3.无人值守装机
补充:开机自动选择安装
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 #默认背景图片
timeout 600 #默认等待时间
menu background splash.png #默认splash.png
menu title XXX #菜单标题XXX
label linux
menu label ^Install Red Hat Enterprise Linux 7.4 #启动项显示的名称
kernel rhel7/vmlinuz #内核文件路径
append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks.cfg #初始化文件路径
label local #本地启动
menu label Boot from ^local drive #^后面跟的字母就是此安装项的快捷键
menu default #默认安装选项
localboot 0xffff