zoukankan      html  css  js  c++  java
  • RHEL6.6 PXE安装-基于VMWare WorkStation

    ///////////第一部分:安装安装服务器

    1.先安装一台RHEL6.6的服务器A(地址为192.168.139.132),作为安装服务器。这样后面的机器就可以指向这台服务器进行自动安装

    2.在A上安装http服务器

    3.将OS的文件拷贝到/var/www/html/rhel6.6

    4.在A上安装createrepo工具/rhel6.6

    5.在A上建立repo。指向http://192.168.139.132

    6.准备kickstart文件

    修改配置:由于安装服务器是用的cdrom安装,但后面的服务器需要从http服务上安装,所以需要修改

    #cdrom
    url --url http://192.168.139.132/rhel6.6/
    将cdrom注释掉,增加一条url指令

    当然也可以把fireware和selinux关掉

    [root@localhost ~]# cp anaconda-ks.cfg /var/www/html/
    [root@localhost ~]# chmod 777 /var/www/html/anaconda-ks.cfg

    # Kickstart file automatically generated by anaconda.
    
    #version=DEVEL
    install
    #cdrom
    url --url http://192.168.139.132/rhel6.6-install
    lang en_US.UTF-8
    keyboard us
    network --onboot yes --device eth0 --bootproto dhcp
    rootpw  --iscrypted $1$3MFQKYIJ$ifM2hjwz62pookT7VokgJ.
    # Reboot after installation
    reboot
    firewall --disabled
    authconfig --useshadow --enablemd5
    selinux --disabled
    timezone --utc Asia/Shanghai
    bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
    # The following is the partition information you requested
    # Note that any partitions you deleted are not expressed
    # here so unless you clear all partitions first, this is
    # not guaranteed to work
    clearpart --all --initlabel
    zerombr
    part /boot --fstype=ext4 --size=300
    part / --fstype=ext4 --grow --size=3000
    part swap --grow --maxsize=2048 --size=2048
    
    
    
    
    %packages
    @Base
    @Core
    @Desktop
    @Fonts
    @General Purpose Desktop
    @Internet Browser
    @Printing client
    @X Window System
    binutils
    gcc
    kernel-devel
    make
    patch
    python
    
    %end
    
    %post
    if [ -f /boot/grub/menu.lst -a ! -h /boot/grub/menu.lst ]; then cp /boot/grub/menu.lst /boot/grub/menu.lst.bak && sed -i 's/ rhgb//' /boot/grub/menu.lst; fi
    if [ -f /boot/grub/grub.conf -a ! -h /boot/grub/grub.conf ]; then cp /boot/grub/grub.conf /boot/grub/grub.conf.bak && sed -i 's/ rhgb//' /boot/grub/grub.conf; fi
    if [ -f /boot/grub2/grub.conf -a ! -h /boot/grub2/grub.conf ]; then cp /boot/grub2/grub.conf /boot/grub2/grub.conf.bak && sed -i 's/ rhgb//' /boot/grub2/grub.conf; fi
    if [ -f /etc/rc.d/rc.local ]; then cp /etc/rc.d/rc.local /etc/rc.d/rc.local.backup; fi
    cat >>/etc/rc.d/rc.local <<EOF
    #!/bin/bash
    echo
    echo "Installing VMware Tools, please wait..."
    if [ -x /usr/sbin/getenforce ]; then oldenforce=$(/usr/sbin/getenforce); /usr/sbin/setenforce permissive || true; fi
    mkdir -p /tmp/vmware-toolsmnt0
    for i in hda sr0 scd0; do mount -t iso9660 /dev/$i /tmp/vmware-toolsmnt0 && break; done
    cp -a /tmp/vmware-toolsmnt0 /opt/vmware-tools-installer
    chmod 755 /opt/vmware-tools-installer
    cd /opt/vmware-tools-installer
    mv upgra32 vmware-tools-upgrader-32
    mv upgra64 vmware-tools-upgrader-64
    mv upgrade.sh run_upgrader.sh
    chmod +x /opt/vmware-tools-installer/*upgr*
    umount /tmp/vmware-toolsmnt0
    rmdir /tmp/vmware-toolsmnt0
    if [ -x /usr/bin/rhgb-client ]; then /usr/bin/rhgb-client --quit; fi
    cd /opt/vmware-tools-installer
    for s in sr0 sr1; do eject -s /dev/$s; done
    ./run_upgrader.sh
    if [ -f /etc/rc.d/rc.local.backup ]; then mv /etc/rc.d/rc.local.backup /etc/rc.d/rc.local; else rm -f /etc/rc.d/rc.local; fi
    rm -rf /opt/vmware-tools-installer
    sed -i 's/3:initdefault/5:initdefault/' /etc/inittab
    if [ -f /boot/grub/menu.lst.bak ]; then mv /boot/grub/menu.lst.bak /boot/grub/menu.lst; fi
    if [ -f /boot/grub/grub.conf.bak ]; then mv /boot/grub/grub.conf.bak /boot/grub/grub.conf; fi
    if [ -f /boot/grub2/grub.conf.bak ]; then mv /boot/grub2/grub.conf.bak /boot/grub2/grub.conf; fi
    if [ -x /usr/sbin/getenforce ]; then /usr/sbin/setenforce $oldenforce || true; fi
    if [ -x /bin/systemd ]; then systemctl restart prefdm.service; else telinit 5; fi
    EOF
    chmod 755 /etc/rc.d/rc.local
    if [ -x /bin/systemd ]; then systemctl enable rc-local.service; fi
    /usr/sbin/adduser littlesuccess
    /usr/sbin/usermod -p '$1$3MFQKYIJ$ifM2hjwz62pookT7VokgJ.' littlesuccess
    /usr/bin/chfn -f "RHEL6.6" littlesuccess
    /bin/echo done
    %end

    ///////////////第二部分:安装必要工具/////////////

    1.安装syslinux

    yum install syslinux

    2.安装dhcp

    yum install dhcp

    需要进行配置

    vi /etc/dhcp/dhcpd.conf

    内容如下:

    ddns-update-style interim;
    ignore client-updates;
    
    allow booting;
    allow bootp;
    
    class "pxeclients"{
    match if substring(option vendor-class-identifier,0,9) = "PXEClient";
    filename "pxelinux.0";
    next-server 192.168.139.132;
    }
    
    subnet 192.168.139.0 netmask 255.255.255.0 {
    option routers 192.168.139.1;
    option subnet-mask 255.255.255.0;
    option time-offset -18000; # Eastern Standard Time
    range dynamic-bootp 192.168.139.2 192.168.139.254;
    default-lease-time 216000;
    max-lease-time 432000;
    }

    service dhcpd start

    chkconfig dhcpd on

    3.安装tftp-server

    yum install tftp-server

    修改配置文件vi /etc/xinetd.d/tftp将disable由yes改为no

    disable = no

    拷贝启动引导文件

    cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

    cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

    cp /var/www/html/rhel6.6/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

    mkdir /var/lib/tftpboot/pxelinux.cfg

    cp /var/www/html/rhel6.6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

    修改/var/lib/tftpboot/pxelinux.cfg/default的配置:

    default linux-ks
    #prompt 1
    timeout 10
    
    display boot.msg
    
    menu background splash.jpg
    menu title Welcome to Red Hat Enterprise Linux 6.6!
    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-ks
    menu label ^Install or upgrade an existing system with kickstart
    menu default
    kernel vmlinuz
    append initrd=initrd.img ks=http://192.168.139.132/anaconda-ks.cfg

    启动服务

    service xinetd start

    chkconfig xinetd on

    ///////////////第三部分:批量安装其他服务器

    1.在VMWare中建立一个空白服务器。

    2.启动空白服务器,此时空白服务器会自动找到安装服务器。整个过程无需人工干预

    问题解决:

    1.出现The storage may contain data的警告,这时需要人工干预。想去这个警告,进行全自动安装。

    在ks.cfg中加入

    # Clear the Master Boot Record
    zerombr

    2.出现ks.cfg无法访问的问题

    确保ks.cfg的访问权限没问题

  • 相关阅读:
    计算机导论课后总结第二弹
    深入懂得信息
    计算机导论课后总结第一弹
    upload-labs脑图
    高精度学习
    洛谷学习
    Bugku 密码学脑图
    Bypass disabled_functions
    Python库学习
    LFI-labs
  • 原文地址:https://www.cnblogs.com/littlesuccess/p/5080414.html
Copyright © 2011-2022 走看看