文章目录
1.PXE概述
- PXE即预启动环境,在操作系统之前运行;
- PXE是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
1.1 PXE批量部署的优点
- 规模化:同时装配多台服务器;
- 自动化:安装系统、配置各种服务;
- 远程实现:不需要光盘、U盘等安装介质。
1.2 搭建PXE网络体系的前提条件
- 客户机:网卡支持PXE协议,且主板支持网络 引导;
- 服务器:网络中有一台DHCP服务器,用来分配地址、定位引导程序;服务器通过TFTP提供引导镜像文件的下载。
2.配置PXE装机服务器
基本部署过程:
- 准备Centos安装源(yum仓库);
- 安装并启用TFTP服务;
- 提供Linux内核、PXE引导程序等;
- 安装并启用DHCP服务;
- 配置启动菜单。
2.1 准备CentOS 7安装源
CentOS 7安装源支持HTTP、FTP、NFS等协议发布:例如采用FTP发布安装源
[root@localhost ~]# yum -y install vsftpd ##将光盘以ftp协议发布
[root@localhost ~]# mount /dev/cdrom /var/ftp/pub ##将光盘挂载到共享目录下,让客户机访问光盘
[root@localhost ~]# systemctl start vsftpd
2.2 安装并启用TFTP服务
- 安装tftp-server软件包,启用tftp服务
- 配置文件位于/etc/xinetd.d/tftp
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# yum -y install xinetd
[root@localhost ~]# vi /etc/xinetd.d/tftp
server_args =-s /var/lib/tftpboot -c ##指定存储路径,-c表示允许上传
disable =no ##开启tftp
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl start xinetd
[root@localhost ~]# chkconfig --level 35 xinetd on
[root@localhost ~]# chkconfig --level 35 tftp on
注意:需要关闭防火墙设置,避免无法下载TFTP中的引导程序
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2.3 提供引导程序、启动菜单文件
- 准备Linux内核、PXE引导程序:
Linux内核、初始化镜像文件分别为vmlinuz和initrd.img;
引导程序为pxelinux.0,由软件包syslinux提供。
[root@localhost ~]# yum -y install syslinux ##安装引导加载程序
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default ##启动菜单
[root@localhost ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot ##压缩内核
[root@localhost ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot ##linux引导加载模块
[root@localhost ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot ##图形化启动菜单
2.4 安装并启动DHCP服务
- DHCP服务的PXE设置:
若PXE服务器的IP地址为192.168.7.100,DHCP地址池为192.168.7.100 ~ 192.168.7.200,则可以参考以下操作来搭建DHCP服务器
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
ddns-update-style none; ##支持DNS动态更新,一般关闭
next-server 192.168.7.100; ##指定TFTP服务器地址
filename "/pxelinux.0"; ##引导文件TFTP上的位置
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.100 192.168.7.200;
option routers 192.168.7.100;
option domain-name-servers 8.8.8.8, 114.114.114.114;
}
[root@localhost ~]# systemctl start dhcpd
2.5 配置启动菜单
- 配置启动菜单文件:
包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的“pxelinux.cfg”子目录下,典型的启动菜单可参考以下操作手动建立
[root@localhost~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto ##默认图形化安装
prompt 1 ##需要用户选择
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.7.100/pub
label linux text ##进入文本模式安装
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.7.100/pub
label linux rescue ##进入救援模式
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.7.100/pub
3.关于kickstart无人值守技术的介绍
- 特点:创建应答文件,预先定义好各种安装设置;免去交互设置过程,从而实现全自动化安装。
3.1 配置安装应答文件
(1)先安装可以图形化界面向导来配置安装应答文件
[root@localhost~]# yum -y install system-config-kickstart
再进入系统工具,打开kickstart进行配置(注意FTP目录指定为pub)
(2)基本配置及安装方法:
(3)引导装载程序选择安装新引导,分区信息如下:
(4)网络配置选择默认,关闭防火墙
(5)安装后的脚本:
注意:安装后的脚本需保存再/var/ftp/ 目录下
(6)修改ks.cfg里的内容
[root@localhost~]#vi anaconda.ks.cfg
将下面的内容(即为gnome桌面开发环境必装软件)复制到ks.cfg问价里面,并保存
…
3.2 启动自动应答文件
[root@localhost~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 #无需用户选择
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.7.100/pub ks=ftp://192.168.1.100/ks.cfg
客户机设置:
客户机重启虚拟机,将bios的boot选项选择为network启动方式