PXE實現自動化安裝系統

安裝前提

    systemctl disable firewalld       centos7開機不自啓防火牆
    systemctl stop firewalld          centos7停止防火牆
    service iptables stop             centos6關閉iptables
    service iptables enable           centos6開機不自啓iptables
    sed -i "s/SELINUX=SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config    修改selinux配置文件
    reboot   重啓生效

安裝過程

安裝HTTP服務

yum install http
cd /var/www/html/
mkdir centos/{6,7}/os/x86_64/
mount /dev/sr0 /var/www/html/centos/7/os/x86_64/    掛載centos7的光盤
mount /dev/sr1 /var/www/html/centos/6/os/x86_64/    掛載centos6的光盤
mkdir ksdir

kickstart

安裝kickstart

yum install system-config-kickstart 

啓動kickstart

`system-config-kickstart    以圖形化界面來製作應答文件 `

圖形化界面如下:

  • basic configuration
    語言
    鍵盤佈局
    時區
    root口令,輸入兩次
    架構默認
    安裝完系統之後重啓
    以字符界面安裝,默認是圖形化
  • installation Method
    選擇HTTP安裝
    HTTP Server:192.168.146.200
    HTTP Directory: /centos/7
    我們搭建的http服務器的ip和安裝源的路徑
    Boot Loader Options
  • install new boot loader
    是否給GRUB設置口令
    安裝在MBR中
    是否設置內核參數
    partiton Information
    清除BOOT Loader 信息
    清除已存在的分區
    清除已有的磁盤標籤
    然後進行正常分區
  • Network Configuration 添加網卡,獲取ip地址的方式,網卡名稱
  • Authertication 默認
  • Firewall Configuration 關閉防火牆 和selinux
  • DIsplay Configuration 默認
  • Package Selection 要安裝的程序包
  • Pre-installation Script 安裝前腳本
  • Post-Installation Script 安裝後腳本

點擊左上角的File,選擇保存路徑,至此,kickstart 文件製作完成
創建kickstart文件的方式有兩種

  1. 直接手動編輯,依照某模板修改
    在我們自己手動安裝完系統之後,系統會根據當前安裝系統中手動選擇的選項,自動生成一個模板文件,存放在root目錄下anaconda-ks.cfg文件模板

  2. 還有一種就是上面的方法,通過system-config-kickstart工具製作

將文件複製在/var/www/html/ksdir/目錄下

    如果是修改模板文件,在修改完成後,最好檢查一下語法錯誤
    ksvalidator  /path/to/kickstart_file      檢查kickstart文件是否錯誤

搭建DHCP

前提:

  • 僅主機模式,
  • 禁止在橋接模式
  • 關閉vm虛擬編輯器dhcp
    yum install dhcpd                 安裝DHCP服務
    vim /etc/dhcp/dhcpd.conf     修改DHCP配置文件
    **默認dhcp配置文件裏面是空的,我們要藉助dhcp示例文件**
    cp /usr/share//doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    配置文件如下
    option domain-name "magedu.com";     搜索域,在網絡中獲取DHCP服務器默認設置的搜索域名
    option domain-name-servers 114.114.114.114, 223.5.5.5;  DNS服務器
    default-lease-time 86400 ;      默認租期時間,單位:秒
    max-lease-time 864000;      最大租期時間,單位:秒
    subnet 192.168.146.0 netmask 255.255.255.0 {
    range 192.168.146.10 192.168.146.100;   分配的IP範圍
    option routers 192.168.146.254;     網關
    next-server 192.168.146.3;    指明引導文件的服務器IP
    filename "pxelinux.0";     指明引導文件
    }
    啓動服務
    systemctl start dhcpd

    搭建TFTP服務器

    功能:

    netx-server 192.168.146.3 指明tftp服務器的IP
    通過DHCP服務器指定TFTP服務器的ip地址,進而我們安裝的服務器可以連接到TFTP服務器,下載我們實現自動安裝的必要文件
    UDP:69

    安裝

    yum install tftp-server
    systemctl restart tftp

    配置文件“

    /var/lib/tftpboot tftp的工作目錄,只要將文件放在該目錄下,就可以提供客戶端的下載

    準備啓動文件

    安裝引導文件 pxelinux.0
    yum install syslinux

將pxelinux.0文件複製到tftp服務器的工作目錄

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

製作啓動菜單

cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/   更加簡潔的啓動菜單

複製啓動相關文件

    cp /mnt/isolinux/vmlinuz /var/lib/tftpboot/      
    cp /mnt/isolinux/initrd.img  /var/lib/tftpboot/    

製作光盤ISO

mkdir /var/lib/tftpboot/pexlinux.cfg

cp /mnt/isolinux/isolinux.cfg   /var/lib/tftpboot/pxelinux.cfg/default
vim  /var/lib/tftpboot/pxelinux.cfg/default

default修改文件如下

default menu.c32  
timeout 60     
menu title Auto Install centos

label Centos7
    menu label ^Install CentOS_Mini 7
    kernel vmlinuz
    append initrd=initrd.img ks=http://192.168.146.3/ksdir/ks7_mini.cfg

label local
 menu default
 menu label Boot from ^local drive
 localboot 0xffff

完成
創建一個新的虛擬機
當出現下方圖片時,快速按下ESC鍵
PXE實現自動化安裝系統
選擇通過網絡安裝
PXE實現自動化安裝系統
當出現這個菜單,說明實驗成功了
PXE實現自動化安裝系統
選擇要安裝的系統,進行安裝。大功告成

進行多系統安裝

想要進行多系統安裝,我們只要修改/var/lib/tftpboot/pxelinux.cfg/default 文件
再添加lable
如添加centos6

    label Centos6
        menu label ^Install CentOS_Mini 6
        kernel vmlinuz    需要指明具體路徑
        append initrd=initrd.img    指明具體路徑 ks=http://192.168.146.3/ksdir/ks6_mini.cfg

注意:
    centos7 用centos7的內核文件和驅動程序文件
    centos6 用centos6的內核文件和驅動程序文件
    製作好centos6的應答文件

如有錯誤和問題,請評論。渣渣一個,請大佬指正!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章