前言:
最近整理一些以前的学习笔记。
过去都是存储在本地,此次传到网络留待备用。
网络装机的优势:
1).规模化:同时装配多台主机;
2).自动化:自动装系统、配置等各种服务;
3).远程实现:不需要光盘、U盘等物理安装介质。
PXE网络:
-
PXE = Pro-boot eXecution Environment
- 预启动执行环境,在操作系统之前运行;
- 可用于远程安装。
-
工作模式:
- PXE client 集成在网卡的启动芯片中;
- 当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行。
-
需要的服务组件:
-
DHCP服务:分配ip地址、定位引导程序;
- 获取ip
- 指定下一个服务器
- 指定引导文件
-
TFTP服务:提供引导程序下载;
- pxelinux.0(引导文件)
- pxelinux.cfg/default(菜单文件)
- vesamenu.32(图形模块)
- splash.png(背景图)
- vmlinuz(内核)
- initrd.img(驱动)
-
HTTP服务:(或FTP/NFS),提供yum安装源。
- 软件安装yum源
- kickstart(自动应答文件),用于自动安装
-
-
客户机要求:
- 网卡芯片必须支持PXE协议;
- 主板支持网卡启动。
搭建PXE网络装机服务器
- 服务器地址: 192.168.4.7
一、配置dhcp服务的pxe设置:
1.安装软件包:dhcp
]# yum -y install dhcp
2.编辑配置文件:/etc/dhcp/dhcpd.conf
]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 { #声明网段、子网掩码
range 192.168.4.10 192.168.4.100; #ip范围
option domain-name-servers 8.8.8.8; #域名服务器
option routers 192.168.4.254; #路由地址
next-server 192.168.4.7; #指定下一个执行服务器(PXE服务器)的地址,本机
filename "pxelinux.0"; #下一个服务器的引导文件,生成后默认pxelinux.0
}
3.重启服务:dhcpd
]# systemctl restart dhcpd #必须保证服务器ip在dhcp的范围内
4.确认结果
]# netstat -utnap | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 8380/dhcpd
5.dhclient测试(客户端)
临时配置/测试,建议采用dhclient
- 格式:dhclient -d [网络接口]
- 选项:-d 调试模式
]# dhclient -d eth0
二、搭建httpd服务:
- 提供yum源
1.安装软件包:httpd
]# yum -y install httpd
2.重启、自启服务:
]# systemctl restart httpd
]# systemctl enable httpd
3.共享光盘内容:挂载
]# mkdir /var/www/html/rhel7
]# mount /dvd/cdrom /var/www/html/rhel7
三、搭建tftp服务:
1.安装软件包:tftp-server
]# yum -y install tftp-server
2.重启、开机自启服务:
]# systemctl restart tftp
3.部署PXE启动程序:
3.1).部署 引导文件:pxelinux.0
- pxelinux.0:网卡引导文件(安装说明书)二进制的文件,安装一个软件可以生成。
]# yum provides */pxelinux.0 #查询产生pxelinux.0的软件包 ]# yum -y install sysliunx #安装查询出的软件包 ]# rpm -ql syslinux | grep pxelinux.0 #查询pxelinux.0的路径 ]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制引导文件到tftpboot
3.2).部署 菜单文件:isolinux.cfg
]# mkdir /var/lib/tftpboot/pxelinux.cfg/
]# cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#复制光盘菜单文件到tftp的默认目录
]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default #给予文件写的权力
3.3).部署 图形模块:vesamenu.c32(图形模块) 、 splash.png(背景图片)
]# cp /dvd/isolinux/vesamenu.c32 /dvd/isolinux/splash.png /var/lib/tftpboot
3.4).部署 启动内核 及 驱动程序:vmlinuz(启动内核)、initrd.img(驱动程序)
]# cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot
3.5).修改菜单文件:/var/lib/tftpboot/pxelinux.cfg/default
]# vim /var/lib/tftpboot/pxelinux.cfg/default
.. ..
default vesamenu.c32 #默认加载图形的模块
timeout 600 #读秒时间600毫秒
.. ..
menu background 背景图片名 #图片大小640*480
menu title 标题
.. ..
label linux #菜单
menu label ^选项,菜单内容 #显示菜单内容
kernel vmlinuz #加载内核
append initrd=initrd.img #加载驱动
-
初步测试:
- 新建一台虚拟机,选择PXE网络引导安装
四、配置无人值守安装,应答文件的生成:ks.cfg
1.安装图形工具:system-config-kickstart
]# yum -y install system-config-kickstart
2.执行工具查看【软件包选择】,查看是否有软件包:
]# system-config-kickstart
# 如果没有,需要修改本机yum配置文件的 [源标识] 为 [development]
]# vim /etc/yum.repos.d/dvd.repo
3.执行工具 修改配置:
]# system-config-kickstart
4.保存配置到/root 并退出:
五、共享ks.cfg应答文件,利用httpd服务:
]# cp /root/ks.cfg /var/www/html
六、修改菜单文件,指定ks.cfg应答文件:
]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label 选项
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg
来源:oschina
链接:https://my.oschina.net/u/3936657/blog/3077277