1. 程式人生 > >pxe實現自動化安裝centos系統

pxe實現自動化安裝centos系統

端口 錯誤 安裝系統 打開 use time splay rom sha

實驗:pxe實現自動化安裝centos7系統

將配置搭建為如下框架:
    .
    ├── initrd.img
    ├── menu.c32
    ├── pxelinux.0
    ├── pxelinux.cfg
    │?? └── default
    └── vmlinuz
(1)A機器配置
    yum info tftp-server httpd  dhcp syslinux       syslinux提供pxelinux.0引導文件
    #chkconfig tftp on  開啟有xinetd守護的tftp服務  centos6上
    #vim  /etc/xinetd.d/tftp    也可以直接改文件
    /var/lib/tftpboot   此為tftp服務的共享目錄,裸機網卡內置的tftp客戶端可以從此獲取文件
    可以安裝tftp客戶端進行獲取文件測試,tftp 172.18.62.60命令連接服務端,get獲取共享目
    錄的文件;
    cd /var/lib/tftpboot
    cp /mnt/centos7/isolinux/{initrd.img,vmlinuz} . 復制內核和根文件系統到此目錄下
    updatedb        更新數據庫
    locate pxelinux.0   用locate命令查詢引導文件
    cp   /usr/share/syslinux/pxelinux.0 .   復制syslinux包生成的引導文件pxelinux.0到當前目
    錄;
    cp  /usr/share/syslinux/menu.c32 .      復制syslinux包的menu.c32文件到當前目錄作為啟
    動菜單的背景;
    mkdir pxelinux.cfg
    cp /mnt/centos7/isolinux/isolinux.cfg pxelinux.cfg/default  復制菜單文件到當前創建的目
    錄,並改名;
    vim   pxelinux.cfg/default  
        default menu.c32
        timeout 600
        menu title PXE INSTALL CentOS
        label desktop
            menu label ^Install Desktop CentOS 7
            kernel vmlinuz
            append initrd=initrd.img ks=http://172.18.62.60/ks/ks7-pxe-desktop.cfg

        label mimi
        menu label install ^Mini CentOS 7
        kernel 7/vmlinuz
        append initrd=7/initrd.img ks=http://172.18.62.60/ks/ks7-pxe-mini.cfg
        label local
            menu default
            menu label Boot from ^local drive
            localboot 0xffff
        menu end

    systemctl start tftp    開啟服務
    cd /var/www/html/
    mkdir centos/7/ -pv
    mkdir ks/
    cd ks
    放入用工具或自己模板修改做好的ks文件如下:
        ├── ks7-pxe-desktop.cfg
        └── ks7-pxe-mini.cfg
    chmod 644 *
    mount /dev/sr0 centos/7/    掛載系統到此目錄下,ks文件寫入此系統安裝路徑
    systemctl start httpd
    vim /etc/dhcp/dhcpd.conf
        option domain-name "yongstar.tech"; 全局配置
        option domain-name-servers 114.114.114.114,8.8.8.8;
        default-lease-time 86400;
        max-lease-time 864000;
        subnet 172.18.0.0 netmask 255.255.0.0 {
                        range 172.18.62.70 172.18.62.200;
                        option routers 172.18.0.1;
                        filename "pxelinux.0";  pxe配置的啟動文件名
                        next-server 172.18.62.60;   tftp的地址
        }
        systemctl start dhcpd
        確保67、69、80端口的打開
(2)要安裝系統的機器配置
    虛擬機全局配置不能使用本地dhcp獲取地址,而要使用搭建的dhcp服務
    網絡模式要設置為僅主機模式
    centos7桌面版安裝時內存需要大於1024M
(3)實驗升級,實現在centos7上搭建可以同時安裝centos6和centos7的系統的架構
    cd  /var/www/html/ks
    rz  將做好的ks文件導入實現如下:
        .
        ├── ks6-pxe-desktop.cfg
        ├── ks6-pxe-mini.cfg
        ├── ks7-pxe-desktop.cfg
        └── ks7-pxe-mini.cfg
    chmod 644 *
    cd ..
    mkdir centos/6
    mount /dev/sr1 centos/6/    做好centos6的系統倉庫
    cd /var/lib/tftpboot/
    mkdir {6,7}
    vim pxelinux.cfg/default
        default menu.c32
        timeout 600
        menu title PXE INSTALL CentOS
        label desktop
            menu label ^Install Desktop CentOS 7
            kernel 7/vmlinuz
            append initrd=7/initrd.img ks=http://172.18.62.60/ks/ks7-pxe-desktop.cfg
        label desktop
            menu label ^Install Desktop CentOS 6
            kernel 6/vmlinuz
            append initrd=6/initrd.img ks=http://172.18.62.60/ks/ks6-pxe-desktop.cfg
        label mimi
            menu label install ^Mini CentOS 7
            kernel 7/vmlinuz
            append initrd=7/initrd.img ks=http://172.18.62.60/ks/ks7-pxe-mini.cfg
        label mimi
            menu label install ^Mini CentOS 6
            kernel 6/vmlinuz
            append initrd=6/initrd.img ks=http://172.18.62.60/ks/ks6-pxe-mini.cfg   路徑要對,否則
        會出現很詭異錯誤,如內核指令集被禁用等;
        label local
            menu default
            menu label Boot from ^local drive
            localboot 0xffff
        menu end
    mv initrd.img  7/
    mv vmlinuz    7/
    cp /var/www/html/centos/6/isolinux/{initrd.img,vmlinuz} 6/
    形成如下目錄:
        .
        ├── 6
        │   ├── initrd.img
        │   └── vmlinuz
        ├── 7
        │   ├── initrd.img
        │   └── vmlinuz
        ├── menu.c32
        ├── pxelinux.0
        └── pxelinux.cfg
                └── default

實驗:centos6實現pxe自動化安裝系統

(1)A機器配置
    yum install httpd tftp-server dhcp syslinux
    chkconfig httpd on
    chkconfig dhcpd on
    chkconfig --list
    chkconfig tftp on
    cd /etc/dhcp/
    cat dhcpd.conf  發現沒有內容
    cp /usr/share/doc/dhcp*/dhcpd.conf.sample dhcpd.conf    拷貝配置文件示例
    vim dhcpd.conf
        subnet 172.18.0.0 netmask 255.255.0.0 {
                        range 172.18.62.10 172.18.62.50;
                        filename "pxelinux.0";
                        next-server 172.18.62.50;
        }
    service dhcpd start
    ss -nul
    cd /var/www/html/
    mkdir centos/6 -pv
    mount /dev/sr0 centos/6/
    mkdir ksdir
    cd ksdir/
    rz  導入應答文件
    vim ks7-pxe-desktop.cfg     安裝centos7系統,加入此3行可以保證全自動
        eula --agreed
        systemctl set-default multi-user.target
        systemctl disable initial-setup-graphical.service
    mv ks6-mini_\(2\).cfg ks6-pxe-mini.cfg
    mv ks6-desktop.cfg ks6-pxe-desktop.cfg
    chmod 644 *
    cd /var/lib/tftpboot/
    yum install mlocate
    updatedb
    locate pxelinux.0
    cp /usr/share/syslinux/pxelinux.0 .
    cp /mnt/centos6/isolinux/{initrd.img,vmlinuz} .
    cp /mnt/centos6/isolinux/{boot.msg,vesamenu.c32} .  復制菜單布局文件
    mkdir   pxelinux.cfg
    cp /mnt/centos6/isolinux/isolinux.cfg pxelinux.cfg/default
    vim pxelinux.cfg/default 
        default vesamenu.c32
        #prompt 1
        timeout 600
        display boot.msg
        menu background splash.jpg
        menu title PXE INSTALL CentOS 6.9!
        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 desktop
            menu label ^Install an Desktop system
            menu default
            kernel vmlinuz
            append initrd=initrd.img ks=http://172.18.62.50/ksdir/ks6-pxe-desktop.cfg
        label mini
            menu label Install ^Mini system
            kernel vmlinuz
            append initrd=initrd.img ks=http://172.18.62.50/ksdir/ks6-pxe-mini.cfg
        label local
            menu label Boot from ^local drive
            localboot 0xffff
    cp /mnt/centos6/isolinux/splash.jpg .
    ss -nutl    確保67、69、80端口打開

(2)要安裝系統的機器配置
    虛擬機全局配置不能使用本地dhcp獲取地址,而要使用搭建的dhcp服務
    網絡模式要設置為僅主機模式
    centos6桌面版安裝時內存不需要需要大於1024M
    註意:磁盤選擇的大小和ks內的設置分區關系密切 

pxe實現自動化安裝centos系統