PXE实现kickstart无人值守安装
PXE(Preboot execute environment)是一种能够让计算机通过网络启动的引导方式,只要网卡支持 PXE 协议即可使用。Kickstart 是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个 ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配 Kickstart 生成的文件,所以只要 Kickstart 文件包含了安装过程中所有需要人工填写的参数,那么运维人员就完全不需要干预,等待安装完毕即可。
简单文本传输协议 TFTP(Trivial File Transfer Protocol)是一种基于 UDP 协议的传输协议,其与前面学习的 vsftpd服务程序的 FTP 协议有很大不同,TFTP 协议不具备 FTP 的许多功能(例如列出目录,密码认证等等),但 TFTP 协议配置非常简单,而且资源消耗更低,非常适合传输不敏感的文件。
环境介绍:
系统版本:红帽 RHEL7 IP: 192.168.4.5 DNS服务器:192.168.4.254
一 搭建DHCP 服务(分配IP地址、定位引导程序)
1 安装dhcp软件包
[root@pxe5 ~]# yum -y install dhcp
2 修改配置文件:
[root@pxe5 ~]# vim /etc/dhcp/ subnet 192.168.4.0 netmask 255.255.255.0 { #分配的网段 range 192.168.4.100 192.168.4.200; #自动分配IP地址的范围 option domain-name-servers 192.168.4.5; #本机为DNS服务器 option routers 192.168.4.254; #网关地址 default-lease-time 600; max-lease-time 7200; next-server 192.168.4.5; #指定下一个服务器地址 filename "pxelinux.0"; #指定网卡引导文件名称 }
3 重启服务并设置开机自启:
[root@pxe5 ~]# systemctl restart dhcpd [root@pxe5 ~]# systemctl enable dhcpd
二 搭建TFTP服务(提供引导程序下载)
1 安装软件包tftp-server:
[root@pxe5 ~]# yum -y install tftp-server
2 重起tftp服务:
[root@pxe5 ~]# systemctl restart tftp
三 搭建HTTP服务:
1 安装软件包阿帕奇:
[root@pxe5 ~]# yum -y install httpd
2 将光盘内容放入DocumentRoot(/var/www/html):
[root@pxe5 ~]# mkdir /var/www/html/rhel7 [root@pxe5 ~]# mount /dev/cdrom /var/www/html/rhel7 [root@pxe5 ~]# ls /var/www/html/rhel7 addons GPL media.repo RPM-GPG-KEY-redhat-release EFI images Packages TRANS.TBL EULA isolinux repodata extra_files.json LiveOS RPM-GPG-KEY-redhat-beta [root@pxe5 ~]# systemctl restart httpd [root@pxe5 ~]# firefox 192.168.4.7/rhel7 #查看ISO镜像文件
四 在tftp上部署pxelinux.0 以及各种启动相关的文件(位置: /var/lib/tftpboot/)
1.部署pxelinux.0
[root@pxe5 ~]# yum provides */pxelinux.0 #查询仓库中那个软件包会产生这个文件 源 :development 匹配来源: 文件名 :/usr/share/syslinux/pxelinux.0 syslinux-4.05-13.el7.x86_64 : Simple kernel loader which boots from a FAT [root@pxe5 ~]# yum -y install syslinux #下载syslinux软件包 [root@pxe5 ~]# rpm -ql syslinux | grep pxelinux.0 #查询pxelinux.0的安装清单 /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0 [root@pxe5 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #将引导文件放TFTP目录下 [root@pxe5 ~]# ls /var/lib/tftpboot/ pxelinux.0
2 部署相关启动文件:
[root@pxe5 ~]# cd /var/www/html/rhel7 [root@pxe5 rhel7]# ls addons GPL media.repo RPM-GPG-KEY-redhat-release EFI images Packages TRANS.TBL EULA isolinux repodata extra_files.json LiveOS RPM-GPG-KEY-redhat-beta [root@pxe5 rhel7]# cd isolinux/ [root@pxe5 isolinux]# ls boot.cat grub.conf isolinux.bin memtest TRANS.TBL vesamenu.c32 boot.msg initrd.img isolinux.cfg splash.png upgrade.img vmlinuz [root@pxe5 isolinux]# cp vesamenu.c32 vmlinuz splash.png initrd.img /var/lib/tftpboot/ [root@pxe5 isolinux]# ls /var/lib/tftpboot/ initrd.img pxelinux.0 splash.png vesamenu.c32 vmlinuz # 图形的模块:vesamenu.c32 背景图片:splash.png # 启动内核:vmlinuz 驱动程序:initrd.img 引导文件:pxelinux.0
3 部署菜单文件:
[root@pxe5 isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@pxe5 isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #将菜单文件放入 [root@pxe5 isolinux]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default #为菜单文件设置写权限 [root@pxe5 isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default #配置菜单文件 #开启行号 1 default vesamenu.c32 #默认加载图形的模块 2 timeout 600 #读秒时间 1/10 10 menu background splash.png #指定背景图片 11 menu PXE Server ! #菜单显示的标题(自定义) 61 label linux 62 menu label Install RHEL7 #选项内容 63 menu default #读秒结束后默认选择 64 kernel vmlinuz #加载内核 65 append initrd=initrd.img #加载驱动
五 实现无人值守安装,生成应答文件
安装一个图形的工具(system-config-kickstart)进行生成
[root@pxe5 isolinux]# cd [root@pxe5 ~]# yum -y install system-config-kickstart [root@pxe5 ~]# system-config-kickstart # 运行图形工具
1 根据需要确认默认语言、时区,设置根口令、磁盘分区规划等基本信息
2 在安装方法部分,选择“执行新安装”,并正确设置HTTP安装源的访问地址信息
3 在分区信息部分,选择清除主引导记录、删除所有现存分区、初始化磁盘标签,并手动添加/boot 200MB、SWAP分区 2000MB、/分区 所有剩余空间
4 在网络配置部分,确认已添加第一块网卡eth0,设为DHCP自动获取
5 在防火墙配置部分,禁用SELinux、禁用防火墙
6 在软件包选择部分,根据客户机的实际需要定制。比如若要使用图形桌面环境,建议将GNOME相关的包勾选上,系统选择基本。
7 在安装后脚本部分,添加经验证的可执行语句,可自由选择需要添加的功能。
8 设置完成后将此应答文件ks.cfg 保存到/root目录下。
六 共享ks应答文件:
1 将ks.cdg 文件复制到Documentroot 下
[root@pxe5 ~]# cp /root/ks.cfg /var/www/html/ [root@pxe5 ~]# ls /var/www/html/ ks.cfg rhel7 [root@pxe5 ~]# firefox 192.168.4.5/ks.cfg #测试
2 通过菜单文件进行指定
[root@pxe5 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default label linux menu label Install RHEL7 menu default kernel vmlinuz append initrd=initrd.img ks=http://192.168.4.5/ks.cfg
至此配置工作全部完成。
阅读更多- pxe+dhcp+tftp+kickstart 实现无人值守自动安装
- pxe+kickstart实现无人值守网络安装rhel5.4
- Kickstart+PXE实现无人值守自动安装
- PXE结合Kickstart实现无人值守安装CentOS6.5
- pxe+tftp+httpd+dhcpd+Kickstart 实现无人值守安装Centos7
- PXE + NFS + kickstart实现无人值守安装RHEL5
- Kickstart+PXE实现无人值守自动安装 推荐
- pxe+kickstart实现无人值守网络安装rhel5.4
- 部署PXE高效批量网络装机并实现Kickstart无人值守自动安装
- PXE+DHCP+Apache+KickStart无人值守安装RHEL5.8
- 利用Kickstart实现无人值守安装Rhel6.0系统
- 实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装
- 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64
- 利用Kickstart实现无人值守安装Rhel6.0系统
- 实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装
- 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64
- 使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64
- 利用Kickstart实现无人值守安装Rhel6.0系统
- 实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装
- pxe+kickstart实现linux无人安装