• PXE基础装机环境


                                                                    PXE基础装机环境

    案例1PXE基础装机环境

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

    案例3:配置PXE引导

    案例4:验证PXE网络装机

    案例5PXE+kickstart自动装机

    1案例1PXE基础装机环境

    1.1问题

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

    CentOS真机部署Web目录/var/www/html/rh7dvd

    挂载RHEL7光盘镜像文件到该目录

    访问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服务器(若已构建,此步可跳过)

    [root@room9pc13~]#yum -y install httpd//装包

    [root@room9pc13~]#systemctl restart httpd//启动服务

    [root@room9pc13~]#systemctl enable httpd//设置开机自启

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

    [root@room9pc13~]#mkdir /var/www/html/rh7dvd//建挂载点

    [root@room9pc13~]#vim /etc/fstab

    ....

    /ISO/rhel-server-7.2-x86_64-dvd.iso/var/www/html/rh7dvd iso9660 loop,ro 0 0

    [root@room9pc13~]#mount -a//挂载ISO镜像文件

    [root@room9pc13~]#ls /var/www/html/rh7dvd///确认部署位置

    addons isolinux repodata

    EFI LiveOS RPM-GPG-KEY-redhat-beta

    EULA media.repo RPM-GPG-KEY-redhat-release

    GPL Packages TRANS.TBL

    images release-notes

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

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

     

    -1


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

    2.1问题

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

    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软件包

    [root@svr7~]#yum -y install dhcp

    ....

    2)建立dhcpd.conf服务配置

    [root@svr7~]#vim /etc/dhcp/dhcpd.conf

    subnet 192.168.4.0 netmask 255.255.255.0{

    range 192.168.4.10 192.168.4.200;

    next-server 192.168.4.7;

    filename"pxelinux.0";

    }

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

    [root@svr7~]#systemctl restart dhcpd

    [root@svr7~]#systemctl enable dhcpd

    Created symlink

    from/etc/systemd/system/multi-user.target.wants/dhcpd.service to/usr/lib/systemd/system/dhcpd.service.

    4)确认dhcpd服务状态

    [root@svr7~]#netstat -anptu | grep dhcpd

    udp 0 0 0.0.0.0:67 0.0.0.0:*58693/dhcpd

    ....

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

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

    [root@pc207~]#dhclient -d eth0

    Internet Systems Consortium DHCP Client 4.2.5

    Copyright 2004-2013 Internet Systems Consortium.

    All rights reserved.

    For info,please visit https://www.isc.org/software/dhcp/

    ....

    DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval

    7(xid=0x6707682f)

    DHCPREQUEST on eth0 to 255.255.255.255 port 67(xid=0x6707682f)

    DHCPOFFER from 192.168.4.7

    DHCPACK from 192.168.4.7(xid=0x6707682f)

    bound to 192.168.4.10--renewal in 18008 seconds.

    ^C//Ctrl+c键退出测试

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

    [root@pc207~]#pkill -9 dhclient//杀死dhclient进程

    [root@pc207~]#nmcli connection up eth0//激活原配置

    ....


    案例3:配置PXE引导

    3.1问题

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

    启用TFTP服务器,部署引导文件(内核vmlinuz、初始文件initrd.img、网卡启动程序pxelinux.0

    创建pxelinux.cfg/配置目录,在此目录下建立默认引导文件default

    3.2方案

    TFTPTrivial 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软件包

    [root@svr7~]#yum -y install tftp-server

    ....

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

    [root@svr7~]#systemctl restart tftp

    [root@svr7~]#systemctl enable tftp

    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程序

    [root@svr7~]#yum -y install syslinux

    [root@svr7~]#rpm -ql syslinux | grep pxelinux.0

    /usr/share/syslinux/gpxelinux.0

    /usr/share/syslinux/pxelinux.0

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

    [root@svr7~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    [root@svr7~]#ls /var/lib/tftpboot/

    pxelinux.0

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

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

    [root@svr7~]#mkdir /var/lib/tftpboot/rhel7

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

    [root@svr7~]#cd /var/lib/tftpboot/rhel7/

    [root@svr7 rhel7]#wget http://192.168.4.254/rh7dvd/isolinux/vmlinuz

    [root@svr7 rhel7]#wget http://192.168.4.254/rh7dvd/isolinux/initrd.img

    //下载内核、初始化文件

    确认部署结果:

    [root@svr7 pxeboot]#ls -R /var/lib/tftpboot/

    /var/lib/tftpboot/:

    pxelinux.0 rhel7

    /var/lib/tftpboot/rhel7:

    initrd.img vmlinuz

    步骤三:配置启动菜单

    1)创建配置目录

    [root@svr7~]#mkdir /var/lib/tftpboot/pxelinux.cfg

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

    [root@svr7~]#cd /var/lib/tftpboot/

    [root@svr7 tftpboot]#wget

    http://192.168.4.254/rh7dvd/isolinux/vesamenu.c32

    //提供图形支持

    [root@svr7 tftpboot]#wget

    http://192.168.4.254/rh7dvd/isolinux/splash.png

    //准备背景图片

    [root@svr7 tftpboot]#wget -O pxelinux.cfg/default

    http://192.168.4.254/rh7dvd/isolinux/isolinux.cfg

    //建立菜单配置

    [root@svr7 isolinux]#ls -R /var/lib/tftpboot///确认部署结果

    /var/lib/tftpboot/:

    pxelinux.0 pxelinux.cfg rhel7 splash.png vesamenu.c32

    /var/lib/tftpboot/pxelinux.cfg:

    default

    /var/lib/tftpboot/rhel7:

    initrd.img vmlinuz

    3)调整启动参数

    [root@svr7~]#vim /var/lib/tftpboot/pxelinux.cfg/default

    default vesamenu.c32//默认交给图形模块处理

    timeout 600//选择限时为60秒(单位1/10秒)

    ....

    menu title PXE Installation Server//启动菜单标题信息

    ....

    label linux//菜单项标签

    menu label^Install Red Hat Enterprise Linux 7

    kernel rhel7/vmlinuz//内核的位置

    append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd

    //初始镜像、安装源位置

    label rescue

    menu label^Rescue a Red Hat Enterprise Linux system

    kernel rhel7/vmlinuz

    append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd rescue

    label local//从硬盘启动

    menu default//默认启动方式

    menu label Boot from^local drive

    localboot 0xffff

    menu end

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

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

    [root@pc207~]#yum -y install tftp

    ....

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

    [root@pc207~]#tftp 192.168.4.7-c get pxelinux.0

    [root@pc207~]#ls-lh pxelinux.0//检查下载结果

    -rw-r--r--.1 root root 27K 113 15:48 pxelinux.0


    案例4:验证PXE网络装机

    4.1问题

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

    选择采用URL源,自动获取IP地址

    指定路径http://192.168.4.254/rh7dvd

    后续过程与光盘本地安装相同

    4.2方案

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

    通过DHCP配置网卡、获知TFTP地址及PXE启动文件

    TFTP服务器下载PXE启动文件

    读取启动配置(pxelinux.cfg/default

    根据用户选择下载vmlinuzinitrd.img

    内核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网络引导安装的目标已经实现了。


    案例5PXE+kickstart自动装机

    5.1问题

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

    实现全自动的安装及配置

    能够自动配好YUM仓库

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

    再次将测试客户机从PXE启动并安装

    完成后,重启客户机并验证结果

    5.2方案

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

    5.3步骤

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

    步骤一:准备应答文件

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

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

    [root@svr7~]#yum -y install system-config-kickstart

    ....

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

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

    [root@svr7~]#vim /etc/yum.repos.d/rh7dvd.repo

    [development]

    name=Red Hat Enterprise Linux 7

    baseurl=http://192.168.4.254/rh7dvd

    gpgcheck=0

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

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

     

    -6

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

    -7

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

     

    -8

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

     

    -9

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

     

    -10

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

     

    -11

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

     

    -12

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

     

    -13

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

    4)应答文件微调整

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

    [root@svr7~]#vim /root/ks-rhel7.cfg

    install//安装基本信息设置

    xconfig--startxonboot

    keyboard--vckeymap=cn--xlayouts='cn'

    rootpw--iscrypted$1$.48kBNVL$e.Ym0L/RzkJonYwbg9Brq1

    timezone Asia/Shanghai

    url--url="http://192.168.4.254/rh7dvd"//安装源设置

    lang zh_CN

    firewall--disabled

    #repo--name="Server-HighAvailability"--baseurl=file:///run/install/repo/addons/HighAvailability

    #repo--name="Server-ResilientStorage"--baseurl=file:///run/install/repo/addons/ResilientStorage

    #autopart--type=lvm//分区设置

    zerombr

    clearpart--all--initlabel

    part/boot--fstype="xfs"--size=200

    part swap--fstype="swap"--size=2000

    part/--fstype="xfs"--grow--size=1

    ....

    %post--interpreter=/bin/bash//安装后脚本设置

    echo'[rhel7]

    name=Red Hat Enterprise Linux 7

    baseurl=http://192.168.4.254/rh7dvd

    gpgcheck=0'>/etc/yum.repos.d/rhel7.repo

    %end

    %packages//软件包设置

    @^graphical-server-environment

    @base

    @core

    @desktop-debugging

    @development

    ....

    initial-setup

    initial-setup-gui

    -NetworkManager

    -NetworkManager-team

    ....

    %end

    步骤二:部署应答文件

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

    部署并确认文件:

    [root@room9pc13~]#scp root@192.168.4.7:/root/ks-rhel7.cfg  

    /var/www/html/

    [root@room9pc13~]#ls -lh /var/www/html/ks-rhel7.cfg//检查部署的文件

    -rw-r--r--.1 root root 4.5K 113 20:20/var/www/html/ks-rhel7.cfg

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

    [root@pc207~]#wget http://192.168.4.254/ks-rhel7.cfg

    ....

    2017-01-13 20:22:19(183 MB/s)-ks-rhel7.cfg”已保存[4508]

    [root@pc207~]#ls-lh ks-rhel7.cfg//检查下载的文件

    -rw-r--r--.1 root root 4.5K 113 20:22 ks-rhel7.cfg

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

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

    [root@svr7~]#vim /var/lib/tftpboot/pxelinux.cfg/default

    ....

    label linux

    menu label^Install Red Hat Enterprise Linux 7

    kernel rhel7/vmlinuz

    append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks-rhel7.cfg

    ....

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

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

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

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

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

    -14

  • 相关阅读:
    urllib3使用池管理发送请求和requests常用方法的基本使用+session使用
    Ajax爬取动态数据和HTTPS自动默认证书
    urllib库中的URL编码解码和GETPOST请求
    urllib的使用和进阶——urllib.request
    1.8学习进度总结
    1.7学习进度总结
    1.5学习进度总结
    1.4学习进度总结
    第十二周周进度总结
    第十一周周进度总结
  • 原文地址:https://www.cnblogs.com/qingbai/p/11940540.html
Copyright © 2020-2023  润新知