PXE高效批量网络装机及kickstart无人值守技术

PXE批量部署的优点

  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等安装介质

在这里插入图片描述

PXE(Preboot eXcution Environment)

  • 预启动执行环境,在操作系统之前运行

服务端

  • 运行DHCP服务,用来分配地址、定位引导程序
  • 运行TFTP服务,提供引导程序下载

客户端

  • 网卡支持PXE协议
  • 主板支持网络引导

基本部署过程

  1. 准备CentOS 7 安装源(YUM仓库)
  2. 安装并启用TFTP服务
  3. 提供Linux内核、PXE引导程序等
  4. 安装并启用DHCP服务
  5. 配置启动菜单

准备CentOS 7 安装源

  • CentOS 7 安装源支持HTTP、FTP、NFS等协议发布
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/*  /var/ftp/centos7/
[root@localhost ~]# systemctl start vsftpd

安装并启用TFTP服务

  • 安装tftp-server软件包,启用tftp服务
  • 配置文件位于/etc/xinetd.d/tftp
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp
 server_args      =-s /var/lib/tftpboot
 disable          =no //修改配置值
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl enable tftp

准备Linux内核、PXE引导程序

  • Linux内核、初始化镜像文件分别为vmlinuz和initrd.img
  • 引导程序为pxelinux.0,由软件包syslinux提供
[root@localhost ~]# cd /media/cdrom/images/pxeboot //位于系统镜像文件夹 inages/pxeboot下
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot
[root@localhost ~]# yum -y install syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot  //拷贝到tftp的根目录

DHCP服务的PXE设置

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcp.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
    
    
  ......
  option routers 192.168.4.254;
  option domain-name-server 192.168.4.254, 202.106.0.20;
  range 192.168.4.254; //next-server:指定TFTP服务器地址
  filename “pxelinux.0//filename:指定要下载的引导程序文件
}
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl enable dhcpd

配置启动菜单文件

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default  //确保pexlinux.cfg目录已存在
default auto
prompt 1
label auto
  kernel vmlinuz
  append initrd=initrd.img method=ftp://192.168.4.254 /centos7
label linux text //文本模式安装
  kernel vmlinuz
  append text initrd=initrd.img method=ftp://192.168.4.254 /centos7
label linux rescue  //进入救援模式
  kernel vmlinuz
  append rescue initrd=initrd.img method=ftp://192.168.4.254 /centos7

验证PXE网络安装

  • 调整BIOS设置,以便从网络引导
  • 自动获取IP地址,并指定CentOS 7 安装源
  • 其余过程与本地安装相同
    在这里插入图片描述

kickstart无人值守技术

  • 创建应答文件,预先定义好各种安装设置
  • 免去交互设置过程,从而实现全自动化安装

应答文件的来源

  • 编辑CentOS 7 系统中现有的应答文件
     - /root/anaconda-ks.cfg
  • 使用system-config-kickstart工具创建新的应答文件
     -需要安装system-config-kickstart软件包

应答文件的内容

......
url--url=“ftp://192.168.4.254/centos7"
......
%post--interpreter=/bin/bash
rm -f /etc/yum.repos.d/*
echo -e
'[base]Inname=CentOS7.3Inbaseurl=ftp://192.168.4.254/centos7\nenabled=1ngpgcheck=1Ingpgkey=file:/lletc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/centos7.repo
%end
%packages
@^minimal
%end

PXE与kickstart结合使用

[root@localhost ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[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.4.254/centos7
ks=ftp://192.168/4/254/ks/cfg //应答文件的URL地址

验证自动安装

  • 将客户机以PXE方式引导
  • 系统会自动完成安装,并配置好软件仓库
  • 整个安装过程无需手动干预
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49343462/article/details/109437088