zoukankan      html  css  js  c++  java
  • 红帽虚拟化RHEV-PXE批量安装RHEV-H

    目录

    前言

    RHEV-H在RHEV中作为虚拟机的载体,一个RHEV-M可以最多管理500个RHEV-H。当企业需要部署大规模的虚拟化平台时,需要大量的安装RHEV-H,这时PXE自动安装无疑是一个非常好的选择。当然我们也顺带的做一个安装RHEL6的PXE任务。

    软件环境

    • 系统
      • RHEL 6.4
    • 软件
      • RHEV 3.2

    前提

    安装一个RHEL6作为PXE Server,并且做如下两点基本准备:
    1. 正常配置静态 IP 地址(192.168.0.4),并根据需要配置网关、DNS、Hostname。
    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE="eth0"
    BOOTPROTO="static"
    HWADDR="00:0C:29:1D:28:25"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    UUID="e33341c7-6726-4f3d-ba30-173b9ec38420"
    IPADDR=192.168.0.4
    GETWARY=192.168.0.4
    NETMASK=255.255.255.0
    
    1. 关闭防火墙及SELinux
    service iptables stop
    chkconfig iptables off
    
    setenforce 0
    

    部署 PXE 环境

    使用 yum 安装所需软件

    如果是 redhat 付费用户,可以直接使用 redhat 官方 yum 联网安装。非付费用户可以利用 DVD 安装光盘作为 yum 源。利用 DVD 关盘作为 yum 源,方法如下:
    1). 将 DVD 光盘放入虚拟机。并卸除默认挂载,将其重新挂载到/media

    umount /dev/cdrom  
    mount /dev/cdrom /media

    2). 配置 yum 的配置文件。将 DVD 光盘作为 yum 源。
    vim /etc/yum.repos.d/localhost.repo

    [localhost] 
    name=localhost 
    baseurl=file:///media 
    enabled=1 
    gpgcheck=0 

    检测YUM源

    yum list

    3). 安装应用服务软件

    yum install  -y  dhcp  syslinux  tftp-server  vsftpd 

    配置 DHCP

    DHCP用于分配 IP 地址,以及指定 TFTP 服务器和 PXE 引导文件。
    1). 修改 DHCP 主配置文件
    vim /etc/dhcp/dhcpd.conf

    subnet 192.168.0.0 netmask 255.255.255.0 {   
        range 192.168.0.100  192.168.0.200;   
        next-server 192.168.0.4;   
        filename  "pxelinux.0"; 
    }

    2). 启动 DHCP 服务,并设置开机启动

    service dhcpd start 
    chkconfig dhcpd on 

    配置 TFTP-Server

    1). 修改 xinetd 中涉及 TFTP-Server 的文件
    vim /etc/xinetd.d/tftp
    将其中的disable = yes改为disable = no

    service tftp
    {
            socket_type             = dgram
            protocol                = udp
            wait                    = yes
            user                    = root
            server                  = /usr/sbin/in.tftpd
            server_args             = -s /var/lib/tftpboot
            disable                 = no
            per_source              = 11
            cps                     = 100 2
            flags                   = IPv4
    }
    

    2). 启动 TFTP-Server,并设置开机启动

    service xinetd start  
    chkconfig xinetd on 

    3). 复制内核文件,初始化镜像文件及 PXE 引导文件到 TFTP-Server 的根目录

    cp  /media/isolinux/*  /var/lib/tftpboot/     
    cp  /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/ 

    4). 在 TFTP-Server 的根目录中设置默认启动菜单文

    mkdir  /var/lib/tftpboot/pxelinux.cfg  
    cd  /var/lib/tftpboot/  
    cp  isolinux.cfg  pxelinux.cfg/default 

    配置 vsftpd 服务,用于提供安装系统所需软件包

    1). 创建目录,用于存放 DVD 光盘

    mkdir /var/ftp/dvd 

    2). 将 DVD 光盘镜像的内容复制到/var/ftp/dvd 或将 DVD 直接挂载到/var/ftp/dvd

    cp -a /media/*  /var/ftp/dvd/ 

    或者
    ···
    mount /dev/cdrom /var/ftp/dvd
    ···
    3). 启动 vsftpd,并设置开机启动

    service vsftpd start  
    chkconfig  vsftpd on 

    安装 kickstart,并配置自动应答文件

    1). 安装 system-config-kickstart

    yum  install  -y  system-config-kickstart 

    2). 运行 kickstart 创建 ks.cfg 文件

    system-config-kickstart 

    在图形化界面配置 ks.cfg 文件。下列截图作为参考
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    3). 将配置保存为 ks.cfg,并将 ks.cfg 文件复制到/var/ftp 目录中

    修改 pxe 默认菜单启动文件

    实现 pxe 无人值守安装
    vim /var/lib/tftpboot/pxelinux.cfg/default

    efault linux
    prompt 0
    #timeout 600
    
    display boot.msg
    
    menu background splash.jpg
    menu title Welcome to Red Hat Enterprise Linux 6.3!
    menu color border 0 #ffffffff #00000000
    menu color sel 7 #ffffffff #ff000000
    menu color title 0 #ffffffff #00000000
    menu color tabmsg 0 #ffffffff #00000000
    menu color unsel 0 #ffffffff #00000000
    menu color hotsel 0 #ff000000 #ffffffff
    menu color hotkey 7 #ffffffff #ff000000
    menu color scrollbar 0 #ffffffff #00000000
    
    label linux 
      menu label ^Install or upgrade an existing system
      menu default
      kernel vmlinuz
      append ks=ftp://192.168.0.4/ks.cfg initrd=initrd.img

    测试使用 PXE 无人值守安装 RHEL6.4

    制作RHEL6和RHEV-H的PXE无人值守文件

    使用 RHEV3.2的ISO镜像设置 yum 源

    1). 暂时卸载并从虚拟机中弹出原有的 rhel6.4DVD 光盘镜像

    umount  /dev/cdrom 

    2). 向虚拟机中插入 rhev3.2 光盘镜像,并将镜像内容复制到/rhev 目录中

    这里写图片描述

    mkdir /rhev  
    mount /dev/cdrom /mnt  
    cp -a /mnt/* /rhev 

    3). 设置 rhev 的 yum 源
    vim /etc/yum.repos.d/rhev.repo

    [rhev]  
    name=rhev 
    baseurl=file:///rhev  
    enabled=1  
    gpgcheck=0  

    4). 卸载 rhev3.2 的 iso 镜像,从虚拟机弹出并插入 rhel6.4DVD 镜像,挂载到/media

    umount   /dev/cdrom 

    这里写图片描述

    mount  /dev/cdrom   /media 
    mount /dev/cdrom /var/ftp/dvd/

    用 yum 安装 rhev-hypervisor 或从 redhat 官网下载 rhev-H 的 iso 镜像

    yum  install  rhev-hypervisor6* 

    从 rhev-H 的 ISO 镜像中获取 PXE 安装文件制作脚本,并生成 rhev-H 的 PXE 文件

    1). 将 rhev-hypervisor 的 iso 镜像挂载到/mnt 目录

    cd  /usr/share/rhev-hypervisor  
    mount  -o loop  rhevh-6.4-20130912.1.el6_4.iso /mnt 

    2). 复制出 PXE 安装文件制作脚本

    cd /mnt/LiveOS  
    cp livecd-iso-to-pxeboot /root 

    3). 卸载 rhev-hypervisor 光盘镜像,并生成 PXE 安装文件

    umount /mnt  
    umount  /media  
    cd  /root  
    ./livecd-iso-to-pxeboot rhevh-6.4-20130912.1.el6_4.iso  

    Create the PXEfile Successfully:

    #Output
    Your pxeboot image is complete.
    
    Copy tftpboot/ subdirectory to /tftpboot or a subdirectory of /tftpboot.
    Set up your DHCP, TFTP and PXE server to serve /tftpboot/.../pxeboot.0
    
    Note: The initrd image contains the whole CD ISO and is consequently
    very large.  You will notice when pxebooting that initrd can take a
    long time to download.  This is normal behaviour.
    mount /dev/cdrom /media 

    NOTE1:在生成 PXE 安装文件之前要保证当前目录不存在 tftpboot 子目录,否则生成失败。
    NOTE2:在生成 PXE 安装文件之前要保证/media 中没有挂载任何光盘,否则可能生成失败。

    设置 rhevh 的 PXE 服务器

    1). 将原有/var/lib/tftpboot 中所有内容暂时移动到/var/lib/tftpboot/backup目录

    cd /var/lib/tftpboot 
    mkdir backup 
    mv *  backup 

    2). 将/root/tftpboot 目录中所有内容复制到/var/lib/tftpboot 目录

    cp -a /root/tftpboot/* /var/lib/tftpboot/ 

    修改 PXE 默认启动目录文件(选)

    将/var/lib/tftpboot/pxelinux.cfg/default 中的

        APPEND rootflags=loop initrd=initrd0.img root=live:/rhevh-6.4-20130912.1.el6_4.iso rootfstype=auto ro liveimg check rootflags=ro crashkernel=128M elevator=deadline install quiet rd_NO_LVM max_loop=256 rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM ONERROR LOCALBOOT 0 

    修改为:

        APPEND rootflags=loop initrd=initrd0.img root=live:/rhevh-6.4-20130912.1.el6_4.iso rootfstype=auto ro liveimg check rootflags=ro crashkernel=128M elevator=deadline install xdriver=vesa nomodeset  

    测试使用 PXE 安装 rhevh

    整合PXE目录文件

    1). 将/var/lib/tftpboot/a 目录中的所有文件移动回/var/lib/tftpboot/目录

    mv /var/lib/tftpboot/a/* /var/lib/tftpboot/ 

    2). 修改 PXE 默认启动目录文件
    vim /var/lib/tftpboot/pxelinux.cfg/default

    default vesamenu.c32
    #prompt 1
    timeout 600
    
    display boot.msg
    
    menu background splash.jpg
    menu title Welcome to Red Hat Enterprise Linux 6.3!
    menu color border 0 #ffffffff #00000000
    menu color sel 7 #ffffffff #ff000000
    menu color title 0 #ffffffff #00000000
    menu color tabmsg 0 #ffffffff #00000000
    menu color unsel 0 #ffffffff #00000000
    menu color hotsel 0 #ff000000 #ffffffff
    menu color hotkey 7 #ffffffff #ff000000
    menu color scrollbar 0 #ffffffff #00000000
    
    label linux
      menu label ^Install or upgrade an existing system
      menu default
      kernel vmlinuz
      append ks=ftp://192.168.0.4/ks.cfg initrd=initrd.img
    label vesa
      menu label Install system with ^basic video driver
      kernel vmlinuz
      append initrd=initrd.img xdriver=vesa nomodeset
    label rescue
      menu label ^Rescue installed system
      kernel vmlinuz
      append initrd=initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    label memtest86
      menu label ^Memory test
      kernel memtest
      append -
    label rhevh
            menu label ^rhev-hypervisor
            KERNEL vmlinuz0
            APPEND rootflags=loop initrd=initrd0.img root=live:/rhevh-6.4-20130912.1.el6_4.iso rootfstype=auto ro liveimg check rootflags=ro crashkernel=128M elevator=deadline xdriver=vesa nomodeset storage_init=/dev/sda storage vol=::::: local_boot BOOTIF=eth0 management_server=rhev-m-1.nice.com ip= netmask= gateway= dns= hostname= ntp= adminpw=$1$whFx6uaH$eH5DLoacPhnF41FPfsnhJ0
    

    注释

    storage_init=/dev/sda                   #将 rhevh 安装到哪个硬盘 
    BOOTIF=eth0                             #启动网卡名称 
    management_server=rhev-m-1.nice.com     #rhevm 的 FQDN 名 ip=                                     #rhevh 的 ip 地址,无法分配的空 
    netmask=                                #rhevh 的子网掩码 
    gateway=                                #rhevh 的默认网关 
    dns=192.168.1.10                        #rhevh 的 DNS 服务器 
    hostname=                               #rhevh 的 FQDN 
    ntp=192.168.1.10                        #rhevh 的 NTP 服务器 
    adminpw=$1$Y03POPQr$/dzCyeKie/zZG0MucLRuV.    #admin 用户的密码 注:adminpw 的密码由 openssl passwd -1 命令产生。 

    最后

    在同一网段中使用PXE装机测试

    这里写图片描述

    可以看见rhev-hypervisor选项表示PXE服务器搭建成功。 :-)

  • 相关阅读:
    Linux 工具命令
    Js的一些工具方法
    使用curl测试网络通信
    python 创建XML
    Nginx 使用Lua脚本
    lua 安装cjson
    3对象和类_动手动脑
    10.5
    10.4动手动脑
    10.2
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/7533720.html
Copyright © 2011-2022 走看看