批量装机环境,配置PXE引导,kickstart自动应答

本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务:

  1. 在CentOS真机部署Web目录/var/www/html/rh7dvd
  2. 挂载RHEL7光盘镜像文件到该目录
  3. 访问 http://192.168.4.254/rhel7/ 测试,确保可用

1.2 方案

PXE网络装机的整体思路 —— 装机条件准备:

  • 准备RHEL7安装源(HTTP方式YUM库)
  • 启用DHCP服务

PXE网络装机的整体思路 —— PXE引导配置:

  • 启用TFTP服务,提供装机用的内核、初始化文件
  • 提供PXE引导程序、配置启动菜单

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:通过 HTTP 方式发布RHEL7软件源

此环节可以直接使用网络内共有的YUM软件源,比如CentOS真机。

1)快速构建httpd服务器(若已构建,此步可跳过)

  1. [[email protected] ~]# yum -y install httpd         //装包
  2. [[email protected] ~]# systemctl restart httpd         //启动服务
  3. [[email protected] ~]# systemctl enable httpd         //设置开机自启

2)准备yum仓库,部署到Web子目录

  1. [[email protected] ~]# mkdir /var/www/html/rh7dvd     //建挂载点
  2. [[email protected] ~]# vim /etc/fstab
  3. .. ..
  4. /ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rh7dvd iso9660 loop,ro 0 0
  5. [[email protected] ~]# mount -a                         //挂载ISO镜像文件
  6. [[email protected] ~]# ls /var/www/html/rh7dvd/         //确认部署位置
  7. addons isolinux repodata
  8. EFI LiveOS RPM-GPG-KEY-redhat-beta
  9. EULA media.repo RPM-GPG-KEY-redhat-release
  10. GPL Packages TRANS.TBL
  11. images release-notes

步骤二:确保yum仓库HTTP资源可用

从浏览器访问http://192.168.4.254/rh7dvd/,可看到仓库资源(如图-1所示)。

图-1

2 案例2:配置并验证DHCP服务

2.1 问题

本例要求为PXE客户机提供地址分配服务,在主机 svr7 上搭建支持PXE的DHCP服务器,提供的地址参数如下:

  • IP地址范围 192.168.4.10~200/24
  • PXE引导服务器位于 192.168.4.7、引导文件 pxelinux.0

然后在主机 pc207 上使用dhclient命令测试 DHCP地址分配服务。

2.2 方案

DHCP地址分配的四次会话:DISCOVERY --> OFFER --> REQUEST -->ACK 。

DHCP服务器基本概念:

  • DHCP租期:允许客户机租用IP地址的时间期限,单位为秒
  • DHCP作用域:分配给客户机的IP地址所在的网段
  • DHCP地址池:用来动态分配的IP地址的范围

DHCP服务端:软件包dhcp、系统服务dhcpd

DHCP服务端配置文件:/etc/dhcp/dhcpd.conf

传输协议及端口:UDP 67(服务器)、UDP 68(客户端)

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置DHCP服务端

1)安装dhcp软件包

  1. [[email protected] ~]# yum -y install dhcp
  2. .. ..

2)建立dhcpd.conf服务配置

  1. [[email protected] ~]# vim /etc/dhcp/dhcpd.conf
  2. subnet 192.168.4.0 netmask 255.255.255.0 {
  3. range 192.168.4.10 192.168.4.200;
  4. next-server 192.168.4.7;
  5. filename "pxelinux.0";
  6. }

3)启动系统服务dhcpd,并设置开机自启

  1. [[email protected] ~]# systemctl restart dhcpd
  2. [[email protected] ~]# systemctl enable dhcpd
  3. Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

4)确认dhcpd服务状态

  1. [[email protected] ~]# netstat -anptu | grep dhcpd
  2. udp 0 0 0.0.0.0:67 0.0.0.0:* 58693/dhcpd
  3. .. ..

步骤二:在客户端测试DHCP服务

1)使用dhclient命令测试,观察获取IP地址的过程

  1. [[email protected] ~]# dhclient -d eth0
  2. Internet Systems Consortium DHCP Client 4.2.5
  3. Copyright 2004-2013 Internet Systems Consortium.
  4. All rights reserved.
  5. For info, please visit https://www.isc.org/software/dhcp/
  6. .. ..
  7. DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7 (xid=0x6707682f)
  8. DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x6707682f)
  9. DHCPOFFER from 192.168.4.7
  10. DHCPACK from 192.168.4.7 (xid=0x6707682f)
  11. bound to 192.168.4.10 -- renewal in 18008 seconds.
  12. ^C                                 //按Ctrl+c键退出测试

2)若因操作异常导致IP故障,可恢复客户机原有IP配置

  1. [[email protected] ~]# pkill -9 dhclient                     //杀死dhclient进程
  2. [[email protected] ~]# nmcli connection up eth0             //激活原配置
  3. .. ..

3 案例3:配置PXE引导

3.1 问题

本例要求为PXE装机提供引导服务,并提供必要的素材,完成下列任务:

  1. 启用TFTP服务器,部署引导文件(内核vmlinuz、初始文件initrd.img、网卡启动程序pxelinux.0)
  2. 创建pxelinux.cfg/配置目录,在此目录下建立默认引导文件default

3.2 方案

TFTP,Trivial File Transfer Protocol:简单文件传输协议,通过UDP 69端口提供小文件的传输服务,默认应将资源部署到/var/lib/tftpboot目录下,不支持认证和目录访问等复杂FTP操作。

网卡启动程序pxelinux.0由软件包syslinux提供。

PXE安装用的内核及初始化文件可从RHEL7的光盘目录/images/pxeboot/下提取。

PXE启动配置相关资料可参考RHEL7的光盘目录/isolinux/,其中包括图形支持模块vesamenu.c32、背景图片spash.png、菜单配置文件isolinux.cfg(使用时改名为default)。

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:快速构建TFTP服务器

1)安装tftp-server软件包

  1. [[email protected] ~]# yum -y install tftp-server
  2. .. ..

2)启动系统服务tftp,并设置开机自启

  1. [[email protected] ~]# systemctl restart tftp
  2. [[email protected] ~]# systemctl enable tftp
  3. Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.

步骤二:部署启动文件

1)拷贝pxelinux.0程序,部署到TFTP目录

在软件包syslinux提供的目录下找到pxelinux.0程序

  1. [[email protected] ~]# yum -y install syslinux
  2. [[email protected] ~]# rpm -ql syslinux | grep pxelinux.0
  3. /usr/share/syslinux/gpxelinux.0
  4. /usr/share/syslinux/pxelinux.0

将其拷贝到/var/lib/tftpboot/目录下,确认部署结果:

  1. [[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  2. [[email protected] ~]# ls /var/lib/tftpboot/
  3. pxelinux.0

2)拷贝引导装机的内核、初始镜像,部署到TFTP目录

当文件较多时,可以在TFTP目录下创建子目录:

  1. [[email protected] ~]# mkdir /var/lib/tftpboot/rhel7

再通过RHEL7光盘目录找到PXE版内核vmlinuz、初始镜像initrd.img,将其拷贝到上述子目录:

  1. [[email protected] ~]# cd /var/lib/tftpboot/rhel7/
  2. [[email protected] rhel7]# wget http://192.168.4.254/rh7dvd/isolinux/vmlinuz
  3. [[email protected] rhel7]# wget http://192.168.4.254/rh7dvd/isolinux/initrd.img
  4. //下载内核、初始化文件

确认部署结果:

  1. [[email protected] pxeboot]# ls -R /var/lib/tftpboot/
  2. /var/lib/tftpboot/:
  3. pxelinux.0 rhel7
  4. /var/lib/tftpboot/rhel7:
  5. initrd.img vmlinuz

步骤三:配置启动菜单

1)创建配置目录

  1. [[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

2)以光盘中的isolinux目录为模板,拷贝必要的文件

  1. [[email protected] ~]# cd /var/lib/tftpboot/
  2. [[email protected] tftpboot]# wget http://192.168.4.254/rh7dvd/isolinux/vesamenu.c32
  3. //提供图形支持
  4. [[email protected] tftpboot]# wget http://192.168.4.254/rh7dvd/isolinux/splash.png
  5. //准备背景图片
  6. [[email protected] tftpboot]# wget -O pxelinux.cfg/default http://192.168.4.254/rh7dvd/isolinux/isolinux.cfg
  7. //建立菜单配置
  8. [[email protected] isolinux]# ls -R /var/lib/tftpboot/         //确认部署结果
  9. /var/lib/tftpboot/:
  10. pxelinux.0 pxelinux.cfg rhel7 splash.png vesamenu.c32
  11. /var/lib/tftpboot/pxelinux.cfg:
  12. default
  13. /var/lib/tftpboot/rhel7:
  14. initrd.img vmlinuz

3)调整启动参数

  1. [[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
  2. default vesamenu.c32                             //默认交给图形模块处理
  3. timeout 600                                     //选择限时为60秒(单位1/10秒)
  4. .. ..
  5. menu title PXE Installation Server             //启动菜单标题信息
  6. .. ..
  7. label linux                                 //菜单项标签
  8. menu label ^Install Red Hat Enterprise Linux 7
  9. kernel rhel7/vmlinuz                     //内核的位置
  10. append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd
  11. //初始镜像、安装源位置
  12. label rescue
  13. menu label ^Rescue a Red Hat Enterprise Linux system
  14. kernel rhel7/vmlinuz
  15. append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd rescue
  16. label local                                     //从硬盘启动
  17. menu default                             //默认启动方式
  18. menu label Boot from ^local drive
  19. localboot 0xffff
  20. menu end

步骤四:访问TFTP服务端确保可用

1)在pc207上安装tftp命令工具

  1. [[email protected] ~]# yum -y install tftp
  2. .. ..

2)在pc207上访问svr7上的TFTP服务端,下载文件测试

  1. [[email protected] ~]# tftp 192.168.4.7 -c get pxelinux.0
  2. [[email protected] ~]# ls -lh pxelinux.0                     //检查下载结果
  3. -rw-r--r--. 1 root root 27K 1月 13 15:48 pxelinux.0

4 案例4:验证PXE网络装机

4.1 问题

沿用案例三,本例要求新建一台虚拟机(内存1G、硬盘20G),完成PXE网络装机的过程测试:

  1. 选择采用URL源,自动获取IP地址
  2. 指定路径 http://192.168.4.254/rh7dvd
  3. 后续过程与光盘本地安装相同

4.2 方案

认识PXE客户机装机的引导环节:

  1. 通过DHCP配置网卡、获知TFTP地址及PXE启动文件
  2. 从TFTP服务器下载PXE启动文件
  3. 读取启动配置(pxelinux.cfg/default)
  4. 根据用户选择下载 vmlinuz 和 initrd.img
  5. 内核 vmlinuz 运行后,主导安装过程

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:新建虚拟机pxetest

新建一台虚拟机,注意将安装方式选择“网络引导(PXE)”(如图-2所示)。虚拟机的其他设置参考:内存1G、硬盘20G;网络类型要与PXE服务器相同,比如选用private1隔离网络。

图-2

注意:如果是生产环境中已经有系统的客户机,则需要调整BIOS设置,将网络引导作为第一启动设备。

步骤二:启动虚拟机pxetest,验证PXE网络安装过程

1)确认启动界面

客户机通过PXE引导以后,可以获得服务端提供的配置界面(如图-3所示)。

图-3

2)选择第一个菜单项开始安装RHEL7操作系统

成功出现RHEL7安装程序的欢迎界面,根据提示选择中文(如图-4所示)后继续。

图-4

3)下一步需手动选择安装源

指定位于http://192.168.4.254/rh7dvd的软件仓库(如图-5所示),软件选择、安装位置等设置根据需要指定,确认后继续。

图-5

后续过程与正常的光盘安装类似,不再赘述。

顺利操作到这里说明PXE网络引导安装的目标已经实现了。

5 案例5:PXE+kickstart自动装机

5.1 问题

本例要求在PXE服务器上为RHEL7客户机准备ks应答文件,完成下列任务:

  1. 实现全自动的安装及配置
  2. 能够自动配好YUM仓库

然后在客户机上验证PXE+kickstart全自动装机过程:

  1. 再次将测试客户机从PXE启动并安装
  2. 完成后,重启客户机并验证结果

5.2 方案

使用图形配置工具system-config-kickstart来生成应答文件

5.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:准备应答文件

找一台RHEL7系统的模板虚拟机,使用配置工具生成应答文件。

1)在模板机上安装system-config-kickstart软件包

  1. [[email protected] ~]# yum -y install system-config-kickstart
  2. .. ..

2)调整模板机的yum仓库设置

清理掉无关的yum源,只保留为客户机安装RHEL7系统所必要的yum源,并且将源的ID修改为development。

  1. [[email protected] ~]# vim /etc/yum.repos.d/rh7dvd.repo
  2. [development]
  3. name = Red Hat Enterprise Linux 7
  4. baseurl = http://192.168.4.254/rh7dvd
  5. gpgcheck = 0

3)运行system-config-kickstart工具,创建应答文件

在支持图形程序的环境运行system-config-kickstart,即可打开该配置工具(如图-6所示)。

图-6

通过“文件”菜单打开/root/anaconda-ks.cfg文件,作为应答配置模板,这样可以节省很多时间(如图-7所示)。根据需要确认默认语言、时区,设置根口令、磁盘分区规划等基本信息。

图-7

在安装方法部分,选择“执行新安装”,并正确设置HTTP安装源的访问地址信息(如图-8所示)。

图-8

在分区信息部分,选择清除主引导记录、删除所有现存分区、初始化磁盘标签,并手动添加/boot 200MB、SWAP分区 2000MB、/分区 所有剩余空间(如图-9所示)。

图-9

在网络配置部分,确认已添加第一块网卡,设为DHCP自动获取(如图-10所示)。

图-10

在防火墙配置部分,禁用SELinux、禁用防火墙(如图-11所示)。

图-11

在软件包选择部分,根据客户机的实际需要定制。比如若要使用图形桌面环境,建议将GNOME相关的包勾选上(如图-12所示)。

图-12

在安装后脚本部分,添加经验证的正确可执行语句,使客户机装好系统后能够自动配好YUM源(如图-13所示)。

图-13

确认上述调整后,通过“文件”菜单将其保存为/root/ks-rhel7.cfg。

4)应答文件微调整

删除掉随模板机配置残留的不可用仓库记录(比如以repo --name开头的Server-HighAvailability、Server-ResilientStorage、autopart等行)

  1. [[email protected] ~]# vim /root/ks-rhel7.cfg
  2. install                                                 //安装基本信息设置
  3. xconfig --startxonboot
  4. keyboard --vckeymap=cn --xlayouts=‘cn‘
  5. rootpw --iscrypted $1$.48kBNVL$e.Ym0L/RzkJonYwbg9Brq1
  6. timezone Asia/Shanghai
  7. url --url="http://192.168.4.254/rh7dvd"                 //安装源设置
  8. lang zh_CN
  9. firewall --disabled
  10. #repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
  11. #repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
  12. #autopart --type=lvm                                     //分区设置
  13. zerombr
  14. clearpart --all --initlabel
  15. part /boot --fstype="xfs" --size=200
  16. part swap --fstype="swap" --size=2000
  17. part / --fstype="xfs" --grow --size=1
  18. .. ..
  19. %post --interpreter=/bin/bash                         //安装后脚本设置
  20. echo ‘[rhel7]
  21. name = Red Hat Enterprise Linux 7
  22. baseurl = http://192.168.4.254/rh7dvd
  23. gpgcheck = 0‘ > /etc/yum.repos.d/rhel7.repo
  24. %end
  25. %packages                                             //软件包设置
  26. @^graphical-server-environment
  27. @base
  28. @core
  29. @desktop-debugging
  30. @development
  31. .. ..
  32. initial-setup
  33. initial-setup-gui
  34. -NetworkManager
  35. -NetworkManager-team
  36. .. ..
  37. %end

步骤二:部署应答文件

1)将应答文件部署在客户机可访问的位置

部署并确认文件:

  1. [[email protected] ~]# scp [email protected]192.168.4.7:/root/ks-rhel7.cfg /var/www/html/
  2. [[email protected] ~]# ls -lh /var/www/html/ks-rhel7.cfg         //检查部署的文件
  3. -rw-r--r--. 1 root root 4.5K 1月 13 20:20 /var/www/html/ks-rhel7.cfg

在客户端下载应答文件,确保可访问:

  1. [[email protected] ~]# wget http://192.168.4.254/ks-rhel7.cfg
  2. .. ..
  3. 2017-01-13 20:22:19 (183 MB/s) - “ks-rhel7.cfg” 已保存 [4508]
  4. [[email protected] ~]# ls -lh ks-rhel7.cfg                 //检查下载的文件
  5. -rw-r--r--. 1 root root 4.5K 1月 13 20:22 ks-rhel7.cfg

2)在PXE服务器上修改default引导配置,调用应答文件

找到相应的label启动项,在append后添加ks=应答文件地址,去掉原有的inst.stage2参数设置:

  1. [[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
  2. .. ..
  3. label linux
  4. menu label ^Install Red Hat Enterprise Linux 7
  5. kernel rhel7/vmlinuz
  6. append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks-rhel7.cfg
  7. .. ..

步骤三:验证PXE+kickstart自动应答

1)新建一台虚拟机裸机,确认支持PXE网卡启动

新建一台虚拟机裸机,注意以下事项:将内存设为1G、硬盘设为20G;网络类型要与pxesvr服务器的相同,比如选择private1。

2)启动虚拟机裸机,验证PXE网络安装过程

正常PXE引导,选择第一个启动项回车确认即快速进入全自动安装,后续过程基本无需人工干预(如图-14所示)。

原文地址:https://www.cnblogs.com/chenyiqi777/p/10300573.html

时间: 2024-10-12 16:10:45

批量装机环境,配置PXE引导,kickstart自动应答的相关文章

虚拟机console基础环境配置——PXE引导无人值守安装环境配置

1. 概述2. 部署过程2.1 部署DHCP服务器2.1.1 YUM安装依赖环境2.1.2 配置/etc/dhcp/dhcpd.conf2.2 部署TFTP服务器2.2.1 安装xinetd服务2.2.2 安装tftp-server2.2.3 配置tftp-server2.2.4 启动xinetd服务2.3 配置pxelinux引导环境2.3.1 安装syslinux2.3.2 编辑default和oslist2.3.3 无盘工作站2.4 配置镜像站点2.4.1 配置操作系统镜像站点2.4.2

批量装机环境 、 配置PXE引导 、 kickstart自动应答

虚拟机A    1. 将防火墙状态设置为trusted  2.SELinux当前修改为permissive  3.SELinux永久状态修改为permissive    4.清空Yum缓存,检查Yum是否可用 虚拟机B    1. 将防火墙状态设置为trusted  2.SELinux当前修改为permissive  3.SELinux永久状态修改为permissive    4.清空Yum缓存,检查Yum是否可用 /etc/selinux/config (永久状态配置文件) #########

CentOS 7 DHCP+PXE+Apache+Kickstart 自动安装

关闭selinux,关闭防火墙,配置网络 getenforce setenforce 0 vi /etc/selinux/config systemctl stop firewalld.service systemctl disable firewalld.serivce 挂载光盘,备份文件,创建repo文件,清除和重建缓存 mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom mkdir /etc/yum.repos.d/backup/ mv /etc/yu

PXE基础装机环境

TopNSD SERVICES DAY04 案例1:PXE基础装机环境 案例2:配置并验证DHCP服务 案例3:配置PXE引导 案例4:验证PXE网络装机 案例5:PXE+kickstart自动装机 1 案例1:PXE基础装机环境1.1 问题 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 在CentOS真机部署Web目录/var/www/html/rh7dvd 挂载RHEL7光盘镜像文件到该目录 访问 http://192.168.4.254/rhel7/ 测试,确保可

kickstart自动装机

1.安装epel源 [[email protected] src]# rpm -Uvh epel-release-6-8.noarch.rpm 2.安装DHCP [[email protected] ~]# yum install dhcp -y 3.配置DHCP [[email protected] ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf cp: overwrite `/etc/dhcp/d

Linux-PXE批量装机

1.tftp yum install xinetd tftp-server -y  :xinetd :超级进程 vim /etc/xinetd.d/tftp   :编写tftp配置文件 disable = no :关机禁制选项   启动tftp service xinetd start     启动服务 chkconfig xinetd on      加入开机启动项 yum install syslinux -y    安装 cp /usr/share/syslinux/pxelinux.0

PXE无人值守自动批量装机

实验要求: PXE无人值守自动批量装机(red hat 6) 实验步骤: 一.安装需要的服务器 1.TFTP yum -y install tftp-servervi /etc/xinetd.d/tftp 2.DHCP yum -y install dhcpvi /etc/dhcp/dhcpd.confddns-update-style none;     //支持DNS动态更新,一般选择关闭//next-server 192.168.100.20;  //指定TFTP服务器地址//filena

pxe+kickstart自动装机详解

pxe+kickstart 这个网上文档还挺多的,但是基本都好多坑,最后自己综合了几篇做成功了,在此记录. pxe的工作示意图,不管做什么还是要弄懂原理的 整个过程图解: 一.测试环境 centos 6.8(基础服务器安装) NAT网络模式 IP:192.168.40.134 关闭防火墙 SELINUX=disabled 二.安装篇 1 apache安装 #yum install httpd -y 注:此处还可以用nfs或者ftp #service httpd start #chkconfig

PXE高效批量装机和Kickstart无人值守技术(从此解放双手)

一.PXE概述: ?PXE,Pre-boot-eXcution Environment?预启动执行环境,在操作系统之前运行?可用于远程安装.构建无盘工作立?服务端?运行DHCP服务,用来分配地址.定位引导程序?运行TFTP服务器,提供引导程序下载?客户端?网卡支持PXE协议?主板支持网络启动 二.PXE的优点: ?规模化:同时配多台服务器?自动化:安装系统,配置各种服务?远程实现:不需要光盘,U盘等安装介质 三.服务部署要点: 1.DHCP服务(自动分配IP地址 定位引导文件) next-ser