PXE/kickstart網絡裝機

裝機環境
1, win7的電腦中經過vmware workstation裝了一臺redhat6.7的虛擬機做爲服務端,若是電腦系統是linux則選擇KVM來安裝linux虛擬機
2,服務器的ip是使用的橋接模式獲取的,最好是把服務端IP固定linux

3,服務端須要安裝如下服務器
服務端ip 192.168.1.105
DHCP服務器          分配IP地址,定位引導程序
DNS服務器            爲客戶機分配主機名(可選)
TFTP服務器           使用的UDP協議 不須要驗證 速度塊,爲客戶機提供引導程序下載
FTP/HTTP/NFS        提供yum源爲客戶端安裝軟件bootstrap

4,PXE的原理與流程vim

  -  客戶機從本身的 PXE 網卡啓動,向本網絡中的 DHCP 服務器索取 IP,並搜尋引導文件的位置。
  -  DHCP 服務器返回分給客戶機 IP 以及 bootstrap 文件的放置位置(該文件通常是放在一臺 TFTP 服務器上)。
  -  客戶機向本網絡中的 TFTP 服務器索取 bootstrap 文件。客戶機取得 bootstrap 文件後之執行該文件。根據 bootstra 的執行結果,經過 TFTP 服務器加載內核和文
     件系統,進入安裝畫面, 此時能夠經過選擇 FTP,HTTP,NFS 方式之一進行安裝。
5,安裝過程服務器

   (1)服務端搭建yum倉庫
    我使用的掛載本地鏡像源,把光盤當作文件系統掛到OS中,設置成開機自啓動,
    [root@C pxelinux.cfg]# cat /etc/fstab |grep -i ftp
    /dev/cdrom                /var/ftp/rhel6          iso9660 defaults,loop   0 1
    
    
    [root@C pxelinux.cfg]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        18G   15G  2.3G  87% /
    tmpfs           932M  136K  931M   1% /dev/shm
    /dev/sda1       283M   41M  228M  16% /boot
    /dev/sr0        3.6G  3.6G     0 100% /var/ftp/rhel6
    (2) DHCP服務的配置
    1.安裝dhcp軟件包
    2.修改主配置文件/etc/dhcp/dhcpd.conf
        :r  /usr/share/doc/dhcp*/dhcpd.conf.sample網絡

     subnet 192.168.1.0 netmask 255.255.255.0 {
      range 192.168.1.10 192.168.1.20;         #指定DHCP服務分配地址的範圍
      option domain-name-servers 192.168.1.105;     #指定DHCP服務器
       next-server 192.168.1.105;             #指定客戶端找的下一個服務器的的地址,也就是TFTP服務器
      filename "pxelinux.0";                 #指定PXE程序引導文件名
      option routers 192.168.1.1;            
    }app

    檢查DHCP語法是不是正確的  配置語法檢查:service dhcpd configtest
    3.啓動dhcpd服務並設置爲開機自起
    找個其餘的虛擬機測試是否能夠從192.168.1.105獲取ip
        dhclient -d eth0
    
    服務端dhcp的分配IP的檔案查看租約文件:            /var/lib/dhcpd/dhcpd.leases
    客戶端查看得到過哪些dhcp服務器分配的IP查看租約文件      /var/lib/dhclient/dhclient-eth0.leasesdom

    (3) TFTP服務器的安裝與配置
    TFTP是臨時服務由xinetd管理,安裝TFTP並去/etc/xinetd.d/tftp把服務啓用,最好設置開機自啓動
    資源根目錄是 /var/lib/tftpboot
    3)讀取啓動配置(pxelinux.cfg/default)
    根據用戶選擇(或超時自動選擇)下載指定的vmlinuz和initrd.img
    把光盤內的/var/ftp/rhel6/images/pexboot/下的文件  initrd.img 和vmlinuz拷到tftp的家目錄
    /var/lib/tftpboot
    
    準備pxelinux.0(網卡引導文件)
 
    # yum  provides  */pxelinux.0   #查詢由那個包產生的
      
    # yum -y install syslinux-nonlinuxide

    # rpm -ql syslinux-nonlinux |   grep pxelinux.0工具

    # cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/ 把網卡引導文件也拷貝到TFTP的家目錄下面
    # ls  /var/lib/tftpboot/
    [root@C tftpboot]# ll
    total 39716
    -r--r--r-- 1 root root 36411002 Dec 12 20:21 initrd.img        #redhat6系統的鏡像文件    
    -rw-r--r-- 1 root root    26759 Dec 12 20:30 pxelinux.0        #引導文件
    drwxr-xr-x 2 root root     4096 Dec 12 20:40 pxelinux.cfg    #引導文件的配置,選擇哪一個系統
    -r-xr-xr-x 1 root root  4222192 Dec 12 20:21 vmlinuz        #redhat6的臨時文件系統
        
    4,如何配置網卡引導配置文件
    [root@C pxelinux.cfg]# cat default
    prompt 1
    timeout 600           #超時的時間
    default rhel6        #默認選擇的系統的標籤
    label rhel6        #標籤名稱
        kernel vmlinuz        #在/var/lib/tftpboot/加載vmlinuz
        append initrd=initrd.img #導入鏡像文件oop

    
    5.什麼是Kickstart?
    預先提供應答文件,定義好各類安裝設置
    免去交互過程,實現全自動化安裝
    添加%post腳本,可執行安裝後的各類配置
    6.生成kickstart的方法有哪些?
    /root/anaconda-ks.cfg   找一臺已經安裝系統的詳細過程模板
    服務端須要安裝 安裝system-config-kickstart工具

    7,使用kickstart自動安裝,須要修改,把/root/anaconda-ks.cfg拷貝到FTP家目錄下面
    達到自動配置客戶機的需求      
    # vim /var/lib/tftpboot/pxelinux.cfg/default
      default abc
      timeout 60
      label abc
        kernel vmlinuz
        append initrd=initrd.img ks=ftp://192.168.4.5/ks.cfg

    ks.cfg能夠先在192.168.1.105的服務器端設置好,會生成一個ks.cfg文件也就是配置的模板

總結:這個PXE網絡裝機是yum 源,網絡配置,DHCP,FTP,TFTP加文件系統分區的集合,須要熟悉這些工做的流程和原理,具體細節配置能夠百度。

相關文章
相關標籤/搜索