目录
PXE批量高效网络装机
安装操作系统必备的四个文件:
-
内核
-
驱动
-
grub配置文件(需手动配置):
-
网络引导:grub程序——syslinux(软件集合)
-
文件名:pxelinux.0、vmlinuz、initrd.img、pxelinux.cfg
将四个必备文件准备好后,利用kikstart应答文件,完成一键装机
PXE:预安装操作系统的环境,通过网络来引导安装操作系统
PE:小型操作系统(在操作系统上安装操作系统)
initramfs:小型的linux操作系统
解开initramfs查看命令:/usr/lib/dracut/skipcpio initramfs-3.10.0-693.el7.x86_64.img |zcat|cpio -id
系统安装过程
-
加载boot loader
-
加载启动安装菜单
-
加载内核及initrd系统
-
加载根系统
-
运行anacondad的安装向导
Linux安装光盘的安装相关文件
主系统光盘的isolinux目录下有和安装相关的文件
| 文件名 | 作用 |
|---|---|
| boot.cat | 相当于grub的第一阶段 |
| isolinux.bin | 光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目 |
| isolinux.cfg | 启动菜单的配置文件,当光盘启动后 (即运行isolinux.bin),会自动去找isolinux.cfg文件 |
| vesamenu.c32 | 是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单 |
| memtest | 内存检测程序 |
| splash.png | 光盘启动菜单界面的背景图 |
| vmlinuz | 是内核映像 |
| initrd.img | ramfs文件(精简版的linux系统,文件系统动等) |
PXE
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
pxe是通过网卡引导启动实现的
-
硬件条件
-
BIOS支持
-
网卡支持(现在基本都已支持)
-
需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
-
网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置(网卡自带DHCP功能,dhcp 指明分配的ip地址 )
优点
-
规模化:同时装配多台服务器
-
自动化:安装系统、配置各种服务
-
远程实现:不需要光盘、U盘等安装介质
实现过程
-
网卡需要查找相关的dhcp服务器(获取地址时间)
-
找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址,还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
-
网卡使用tftp客户端,把引导程序加载到内存中来
-
bios执行引导程序
-
引导程序会去TFTP去查找配置文件
-
根据配置文件去引导安装系统
-
系统安装过程
安装系统过程:
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenfoce 0
[root@localhost ~]# yum install tftp-server.x86_64 dhcp syslinux vsftpd -y
#安装服务软件
[root@localhost ~]#rpm -qc dhcp
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#生成配置文件,并用模板文件覆盖配置文件
[root@localhost ~]#vim /etc/dhcp/dhcpd.conf
#修改配置文件
subnet 192.168.91.0 netmask 255.255.255.0 {
range 192.168.91.20 192.168.91.50;
option routers 192.168.91.100;
next-server 192.168.91.100;
filename "pxelinux.0";
}
[root@localhost ~]#systemctl start dhcp
#启动dhcp服务
[root@localhost ~]# rpm -ql tftp-server
[root@localhost ~]# vim /etc/xinetd.d/tftp
#将配置文件第14行修改为no,启动服务
# 14 disable =no
[root@localhost ~]#systemctl start tftp
#开启tftp服务
[root@localhost ~]#rpm -ql syslinux |grep pxelinux.0
#查询syslinux安装文件位置
[root@localhost ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#将文件拷贝到站点
[root@localhost ~]#mount /dev/sr0 /mnt
#挂载光盘镜像,内核驱动文件都在光盘镜像中
[root@localhost ~]#cd /mnt/isolinux/
[root@localhost isolinux]#cp vmlinuz initrd.img /var/lib/tftpboot/
#将内核与驱动文件放到tftp根目录下
[root@localhost isolinux]#cd /var/lib/tftpboot/
[root@localhost isolinux]#mkdir /var/lib/tftpboot/pxelinux.cfg
#创建pxelinux.cfg目录
[root@localhost isolinux]#vim /var/lib/tftpboot/pxelinux.cfg/default
#在pxelinux.cfg目录中创建default文件并配置
default linux
timeout 600
label linux
kernel vmlinuz
append initrd=initrd.img
method=ftp://192.168.190.129/centos7
[root@localhost isolinux]#mkdir /var/ftp/centos7
#创建挂载目录
[root@localhost isolinux]#mount /dev/sr0 /var/ftp/centos7
#挂载光盘设备
[root@localhost isolinux]#systemctl start vsftpd
#开启vsftpd服务
新建服务器
注意:需要2G以上内存
[root@localhost isolinux]#yum install system-config-kickstart -y
#安装图形化界面,制作应答文件的工具
[root@localhost isolinux]#cd /var/lib/tftpboot/
#切换到tftp站点目录
[root@localhost tftpboot]#vim pxelinux.cfg/default
default linux
timeout 600
label linux
kernel vmlinuz
append initrd=initrd.img
method=ftp://192.168.190.129/centos7
ks=ftp://192.168.190.129/ks.cfg
#在最后一行添加ks文件源
在服务器桌面中配置kickstart
应用程序——>系统工具——>kickstart——>基本配置——>安装方法——>引导装载程序选项——>分区信息——>分区信息-添加
开启新服务器
实验步骤:
-
安装所需的软件

-
配置dhcp文件



-
配置tftp文件



-
准备安装操作系统必备的四个文件




-
准备应答文件,自动安装操作系统



-
利用kickstart程序自动化安装系统











-
新建虚拟机


本文详细介绍了PXE批量高效网络装机的过程,包括必备的四个安装文件(内核驱动、grub配置、syslinux文件和pxelinux.cfg),以及如何配置DHCP、TFTP服务器,使用kikstart和kickstart工具进行自动化安装。
5832

被折叠的 条评论
为什么被折叠?



