一.PXE的优点:
1.规模化:同时装配多台服务器;
2.自动化:安装系统、配置各种服务;
3.远程实现:不需要光盘、U 盘等安装介质。
搭建PXE网络需要满足的条件:
1.客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。
2.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
3.服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载
搭建PXE远程安装服务器的步骤
1.构建vsftpd服务,准备CentOS 7安装源 在这里采用FTP协议发布安装源,需要部署一个YUM软件仓库。
修改yum配置文件中的id部分为【development】,否则在kickstart中找不到软件包信息。
vim /etc/yum.repos.d/CentOS-Media.repo 在此处修改yum配置文件的id
systemctl stop firewalld 关闭防火墙
yum -y install vsftpd 安装vsftp服务
mkdir /var/ftp/centos7
cp -rf /media/cdrom/* /var/ftp/centos7 部署centos7安装源
systemctl start vsftpd 启用vsftpd服务
2.构建tftp服务,并准备好引导程序、引导菜单、Linux内核、初始化镜像。
构建tftp服务
yum -y install tftp-server 安装tftp服务
vim /etc/xinetd.d/tftp 修改disable的指令为no 意思为开启tftp
systemctl start tftp 开启tftp服务
拷贝内核和镜像文件
cd /media/cdrom/images/pxeboot/
ls
cp vmlinuz initrd.img /var/lib/tftpboot 拷贝内核和镜像
安装pxe程序
um -y install syslinux //安装pxe程序
准备引导程序
cd /uer/share/syslinux
ls
cp /usr/share/syslinux/pexlinux.0 /var/lib/tftpboot //拷贝引导程序pxelinux.0
准备引导菜单
mkdir /var/lib/tftpboot/pexlinux.cfg //创建一个启动菜单文件
vim /var/lib/tftpboot/pexlinux.cfg/default //默认的启动菜单为default,一个放置在tftp根目录下的pxelinux.cfg下
上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。 其中,prompt 用来设置是否等待用户选择,label 用来定义并分隔启动项;kernel 和 append 用来定义引导参数。引导入口的个数及内容根据需要自行定义。例如,实现无人值守安装时 只需要一个入口就够了。
3.安装并启用dhcp服务
yum -y install dhcp 安装dhcp服务
vim /etc/dchp/dhcpd.conf 打开dhcp的配置文件
systemctl start dhcpd
systemctl enable dhcpd 启用dhcp服务
从上述过程可以看到,与一般 DHCP 服务不同的是,配置文件中增加了 netx-server 和 filename 这两行记录,分别用来指定 TFTP 服务器的地址和 PXE 引导程序的文件名。
4.验证PXE网络安装
对于新购买的 服务器或 PC 裸机,一般不需要额外设置;若要为已有系统的主机重装系统,则可能需要修 改 BIOS 设置,将“Boot First”设为“NETWORK”或“LAN”,然后重启主机;若使用 VMware 创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时会报错。 如果服务器配置正确,网络连接、PXE 支持等都没有问题,则客户机重启后将自动配 置 IP 地址,然后从 TFTP 服务器中获取引导程序 pxelinux.0,并根据引导菜单配置提示用 户指定启动入口
在提示字串“boot:”后直接按Enter键(或执行“auto”命令),将会进入默认的图形安装入口;若执行“linuxtext”命令,则进入文本安装入口;若执行“linuxrescue”命令,则进入救援模式。
5.实现Kickstart无人值守安装
1.准备安装应答文件:yum -y install system-config-kickstart
运行kickstart配置程序 system-config-kickstart 按实验要求创建ks.cfg应答文件
- 设置密码
- 安装方式
- 分区信息
- 保存
- 软件包选择
2.将应答文件加入到centos7安装源所在的ftp目录下
vim /var/lib/tftpboot/pxelinux.cfg/default
在原有基础上,在append后添加应答文件
append ks=ftp://192.168.10.107/ks.cfg initrd=initrd.img method=ftp://192.168.10.107/centos7
3.验证PXE网络装机
(1)将1台裸机连接到PXE服务器所在网络,并确认能够通过网络引导。
(2)打开裸机的电源,确认引导成功并自动安装好centos7系统。新建虚拟机是内存大于2G,磁盘调的大一点,给个60G以上