天天看點

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的CD光牒
mount /dev/sr1 /var/www/html/centos/6/os/x86_64/    挂載centos6的CD光牒
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/               

制作CD光牒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           

進行多系統安裝

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的應答檔案