LinuxStenOS7用PXE配合Kickstart无人值守高效批量网络装机——简单易学最强手把手图解加命令

PXE概述

  • PXE(preboot eXcution Environment)
    • PXE是由Intel 公司发开的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统
  • 服务端
    • 运行DHCP服务,用来分配地址,指定引导程序位置
    • 运行TFTP服务(简单文件传输协议),提供内核和引导镜像文件的下载
  • 客户端
    • 网卡支持PXE协议
    • 主板支持网络引导
    • 一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可
  • PXE批量部署的优点
    • 规模化:同时装配多台服务器
    • 自动化:安装系统、配置各种服务
    • 远程实现:不需要光盘、U盘等安装介质
      在这里插入图片描述

部署PXE远程安装服务

  • PXE远程安装服务器集成了CentOS7安装源、TFTP服务、DHCP服务,能够向客户机裸机发送PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件
    • TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69
    • xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务

第一步安装并启用TFTP服务

  • yum install -y tftp-server xinetd #安装服务
  • vim /etc/xinetd.d/tftp #修改TFTP服务的配置文件
    protocol      = udp #TFTP默认使用UDP协议
    wait       = no #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
    server_args     = -s /var/lib/tftpboot #指定TFTP根目录(引导文件的存储路径)
    disable        = no #no表示开启TFTP服务
    在这里插入图片描述
  • 启动服务
    systemctl start tftp
    systemctl enable tftp
    systemctl start xinetd
    systemctl enable xinetd
    在这里插入图片描述

第二步安装并启用DHCP服务

  • yum -y install dhcp
  • cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    在这里插入图片描述
  • vim /etc/dhcp/dhcpd.conf
    在这里插入图片描述
  • 启动服务
    systemctl start dhcpd
    systemctl enable dhcpd
    在这里插入图片描述

第三步准备Linux内核、初始化镜像文件

  • mount /dev/sr0 /mnt #挂载光盘镜像
  • cd /mnt/images/pxeboot
  • cp vmlinuz /var/lib/tftpboot #复制内核文件到TFTP根目录下
  • cp initrd.img /var/lib/tftpboot #复制镜像文件(Linux引导加载模块)到TFTP根目录下
    在这里插入图片描述

第四步准备PXE引导程序

  • yum install -y syslinux #PXE引导从程序的软件包syslinux
  • cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    在这里插入图片描述

第五步安装FTP服务,准备CentOS 7 安装源

  • yum install -y vsftpd       #安装vsftpd服务
  • mkdir /var/ftp/centos7       #在ftp根目录下创建一个centos7目录
  • cp -rf /mnt/* /var/ftp/centos7/    #复制镜像文件到centos7目录中,文件略微有点大可在命令后加&到后台运行
  • systemctl start vsftpd       #开启服务
  • systemctl enable vsftpd      #开机自启服务
    在这里插入图片描述

第六步配置启动菜单文件

默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default

  • mkdir /var/lib/tftpboot/pxelinux.cfg
  • vim /var/lib/tftpboot/pxelinux.cfg/default
    default auto
    prompt 1
    label auto
    kernel vmlinuz
    append initrd=initrd.img method=ftp://192.168.184.10/centos7
    label linux text
    kernel vmlinuz
    append text initrd=initrd.img method=ftp://192.168.184.10/centos7
    label linux rescue
    kernel vmlinuz
    append rescue initrd=initrd.img method=ftp://192.168.184.10/centos7
    在这里插入图片描述

第七步记得关闭防火墙和安全机制功能

  • systemctl stop firewalld.service
  • setenforce 0

注意事项

  • 注意:使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错
  • 开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;
  • 若执行“linux text”命令,则进入文本安装入口;
  • 若执行 “linux rescue”命令,则进入救援模式

实现Kickstart无人值守安装

第一步准备安装应答文件

  • yum install -y system-config-kickstart #安装system-config-kickstart工具
    在这里插入图片描述

打开Kickstart 配置程序窗口

在这里插入图片描述
或者终端执行 system-config-kickstart 命令打开

第二步配置kickstart选项

  • 基本配置
    在这里插入图片描述
  • 安装方法
    在这里插入图片描述
  • 引导装载程序选项
    在这里插入图片描述
  • 分区信息
    在这里插入图片描述
  • 网络配置

在这里插入图片描述

  • 防火墙配置
    在这里插入图片描述
  • 安装后脚本
    mkdir /etc/yum.repos.d/repo.bak
    mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
    echo ‘[local]
    name=local
    baseurl=ftp://192.168.150.10/centos7
    enabled=1
    gpgcheck=0’ > /etc/yum.repos.d/local.repo在这里插入图片描述

保存应答文件

  • 保存自动应答文件,文件名为ks.cfg

在这里插入图片描述
在这里插入图片描述

第三步配置需要安装的软件包

最小化界面

  • 可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分就行
  • 如需要最小化安装,可复制下面的内容即可
    vim ks.cfg
    %packages
    @^minimal
    %end

图形化界面

  • vim anaconda-ks.cfg
    在这里插入图片描述

  • cp /home/stu/ks.cfg /var/ftp/ks.cfg
    开机引导读取的是/var/ftp内的内容,不是/root,/root仅仅是暂时保存的对方,所以,修改完再复制过去,或者直接复制过去再修改
    在这里插入图片描述

  • 把anaconda-ks.cfg文件中复制的内容G到底粘贴进去
    在这里插入图片描述

第六步编辑引导菜单文件 default,添加 ks 引导参数

  • vim /var/lib/tftpboot/pxelinux.cfg/default
    default auto
    prompt 0
    label auto
    kernel vmlinuz
    append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg
    在这里插入图片描述
    在这里插入图片描述

最后验证无人值守安装

  • 新建虚拟机(裸机)

  • 创建新建虚拟机需要注意的地方
    在这里插入图片描述
    在这里插入图片描述

  • 开启虚拟机等待
    在这里插入图片描述
    在这里插入图片描述

  • 勾选许可信息及装机完成过程
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53496398/article/details/114276570