RHEL7系列的常见安装流程2—PXE部分
  1. RHEL7系列的常见安装流程-(2)

    ————网络安装部分

    by lblneva

    2018.12.20

  2. [email protected]

  3. 前言

    基于网络的安装,大体变化为安装介质从本地的转移及安装程序的启动。由于安装文件转移到网络位置,故启动安装程序需要指定网络位置。

    整个网络安装可以基于有人值守及无人值守方式进行安装,差别在于有人值守可能需要本地安装介质,或已经配置好网络引导,但安装过程中需要手动输入必要项。无人值守在于整个安装流程中,计算机从网络引导并提前创建好配置有文件,用以自动配置安装需要内容(如磁盘的划分,安装的软件等等)。

    本文简要记录无人值守安装的过程

  4. 引导流程

    计算机启动过程中,如计算机本身没有启动项,系统是启动不了的。如果一台新机器想要无人值守,那么必须有引导介质。考虑到无人值守,并且面对大量机器环境下,通过网络安装是个不错的选择。

    网络安装中,目前主要用的技术是pxe。简单来说就是计算机支持PXE,开机时候运行PXE固件,使用dhcp获得IP地址及网络中引导文件的路径与文件名,通过tftp协议下载这个文件并执行,由该程序来进行系统的安装(可以加载配置文件用来无人值守安装)。

    做下总结,PXE安装系统的前提如下:

  • 计算机支持PXE
  • 有PXE环境:
  • 环境中有dhcp服务器,并正确配置支持PXE(主要是告诉PXE客户端要启动文件的路径与名字)
  • 环境中有tftp服务器(存放启动文件及配置文件)
  • 环境中有可以通过网络访问方式获取的系统安装源
  1. 环境

    参考上篇文章。本机为Linux,使用KVM作为虚拟化环境,本机提供必要的网络服务

  2. 无人值守系统安装:

  3. 拓扑

  4. 无人值守下的配置及验证

  5. 无人值守配置文件的生成:

    系统安装时候需要输入各种必要信息,要无人值守安装系统,需提前设置好系统在安装时必要的信息,将其存放在服务器供安装程序调用。用到的配置文件主要有两个:

  • kickstart配置文件
  • pxe引导配置文件
  1. kickstart文件

    这个配置文件的作用为系统安装过程中的各种必要设定,如系统的语言,系统账户的密码等等。这个文件是个文本文件,可以自行编写也可以使用工具进行生成。

    笔者这里使用kickstart这个软件生成配置文件,以RHEL7为例:

    01.配置本地光盘为yum源。用以方便的安装软件。

    02.建立yum的缓存

    03.安装软件

    04.运行软件来设置安装中需要设置的各个项目,并将其生成为kickstart配置文件(笔者这里生成的配置文件名字为ks.cfg,名字可以自定义)

    最后附笔者生成的配置文件内容,大意为设置了ftp服务器(ftp://192.168.200.1)中的rhel-server-7.2-x86_64-dvd.iso镜像为安装源,做了磁盘的划分等:

    #platform=x86, AMD64, 或 Intel EM64T

    #version=DEVEL

    # Install OS instead of upgrade

    install

    # Keyboard layouts

    keyboard ‘us’

    # Root password

    rootpw –iscrypted $1$O1C5z8p5$IfO9rqzeicd70F4G9g28/.

    # System timezone

    timezone Asia/Shanghai

    # Use network installation

    url –url=”ftp://192.168.200.1/rhel-server-7.2-x86_64-dvd.iso”

    # System language

    lang en_US

    # Firewall configuration

    firewall –disabled

    # System authorization information

    auth –useshadow –passalgo=sha512

    # Use text mode install

    text

    # SELinux configuration

    selinux –disabled

    # Do not configure the X Window System

    skipx

    key –skip

    # Network information

    network –bootproto=dhcp –device=eth0

    # Reboot after installation

    reboot

    # System bootloader configuration

    bootloader –location=mbr

    # Clear the Master Boot Record

    zerombr

    # Partition clearing information

    clearpart –all –initlabel

    # Disk partitioning information

    part /boot –asprimary –fstype=”xfs” –size=500

    part /home –fstype=”xfs” –size=2048

    part pv.01 –size=14192

    volgroup Rei pv.01

    logvol / –vgname=Rei –size=14192 –fstype=”xfs” –name=root

    %packages

    @base

    @core

    @dial-up

    @fonts

    @print-client

    -vim

    %end

  2. PXE文件及其配置文件

    PXE需要引导PXE程序,这个程序可以由syslinux这个软件获得。

    流程大体是通过PXE固件引导的计算机通过dhcp获得pxelinux.0这个文件的网络路径,下载执行后加载配置文件中的设置。对于linux来说就是通过它的执行来下载并启动一个linux的内核,内核加载kickstart配置文件来实现无人值守的安装。

    Syslinux中的文件如下图:


    这里我将必要的PXE文件打包为tftpboot.zip,并将其释放到PXE环境中TFTP服务器上。其中pxelinux.cfg是个文件夹,用来存放PXE的配置文件(名字为default),用来配置启动网络中操作系统的安装程序。

    PXE的配置文件可以修改Linux的安装光盘中isolinux文件夹里的isolinux.cfg这个文件,只需要在菜单处添加PXE启动菜单即可。笔者对其主要的修改为添加了如下内容:

    label Pex

    menu label ^Install RHEL 7.2 ON PEX

    menu default

    kernel vmlinuz

    append initrd=initrd.img inst.stage2=tftp://192.168.200.1 inst.ks=tftp://192.168.200.1/ks.cfg quiet

    大意为建立了个标题为”Install RHEL 7.2 ON PEX“的引导项,kickstart配置文件为tftp服务器(192.168.200.1)中的ks.cfg文件.

  3. PXE环境的搭建

  4. FTP

    这里笔者选用的是vsftp这个软件作为FTP服务器, 需要和上面kickstart配置文件中安装源对应。配置(大意是设置ftp的匿名用户主目录为/ReiR0/ftproot,在这个目录中放入RHEL7.2的镜像文件)如图:

  5. TFTP

    这里笔者选用的是aftpd这个软件作为TFTP服务器, 用来存放PXE引导文件及内核文件。需要和上面PXE程序的配置文件对应。配置(大意是设置tftp的主目录为/ReiR0/tftpdir,将PXE用到的文件存放到这个目录中的RHEL7.2目录中。文件是在RHEL7.2中打包的tftpboot.zip里的文件)如图:

  6. DHCP

    最后需要配置网络中的dhcp,这里笔者使用dhcpd作为DHCP服务器。配置(大意是本机IP 192.168.200.1/24,,分配该网段100到200的IP,PXE引导tftp服务器是192.168.200.1,pxe的文件是服务器中RHEL7.2目录下的pxelinux.0文件)如图:

  7. PXE验证

  8. 客户端的创建

    设定虚拟机的安装方式为PXE:

    新建虚拟机,如图:

    指定新虚拟机的磁盘大小与存储位置:

    指明虚拟机的网络设置,这里设置为virbr1这个桥对应的网络:

    PXE的提供由本机提供,显示的不支持PXE可以忽略

    虽说启动顺序是磁盘高于网络,但是因为新磁盘,故虚拟机启动时会进入网络引导,在安装完系统后会进入磁盘内安装好的操作系统:

  9. 效果的演示

    启动虚拟机,可以看到已经进入到PXE:

    可以看到设置的pxe引导的内核加载的配置文件,里面有笔者创建的引导项:

    进入到引导项,自动无人值守安装开始:

    这里又创立了新的虚拟机,开机后自动进入到系统的安装:

    安装结束后重启,进入到已安装到磁盘中的操作系统引导:

    引导结束,进入到系统:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇