CentOS6.5實現PXE+Kickstart無人值守安裝操做系統

1.PXE原理及流程
html

    嚴格來講,PXE 並非一種安裝方式,而是一種引導的方式。當計算機引導時,BIOS把 PXE Client 調入內存中執行,而後由 PXE Client 將放置在遠端的文件經過網絡下載到本地運行。linux

    流程:支持PXE的電腦開機(預先打開網卡PXE功能,網絡引導)---> DHCP給該電腦一個IP地址,並指明下一跳tftp文件服務器 ---> 服務器去tftp服務器上(/tftpboot 文件夾下面)下載到一個叫作pxelinux.0的文件,並拿到pxelinux.cfg文件夾下的default配置文件 ---> 根據該配置文件加載內核等操做,同時該配置文件中能夠指明ks.cfg文件的地址,這樣實現全程無人化安裝!windows

2.PXE+Kickstart所須要安裝的服務及其做用
centos

    DHCP:爲PXE客戶端配置網絡並指明tftp服務器的地址;
bash

    TFTP:爲PXE客戶端提供系統啓動所需文件;
服務器

    文件服務器:爲客戶端提供系統安裝所須要文件,如FTP、NFS、HTTP等;
網絡

3.安裝配置DHCP服務app

yum install dhcp -y
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

修改/etc/dhcp/dhcpd.conf配置文件爲一下內容:dom

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.202.0 netmask 255.255.255.0 {
        option routers                  192.168.202.2;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      192.168.202.2;
        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.202.60 192.168.202.100;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.202.129;    #指定tftp server服務器的地址
        filename "pxelinux.0";    #指定Bootstrap文件
}

啓動DHCP服務並添加開機自啓動:
socket

service dhcpd start
chkconfig dhcpd on

4.安裝配置tftp服務

yum install tftp* -y

修改/etc/xinetd.d/tftp配置文件以下:

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no    #將yes改成no便可
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

啓動tftp服務並添加開機自啓動:

service xinetd start
chkconfig xinetd on

5.設置PXE啓動文件

安裝syslinux獲取PXE引導安裝主程序文件pxelinux.0:

yum install syslinux -y
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot

掛載鏡像文件並輔助PXE啓動文件:

mount /dev/cdrom /mnt    #掛載鏡像文件
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #開機引導菜單
cp /mnt/p_w_picpaths/pxeboot/initrd.img /var/lib/tftpboot/
cp /mnt/p_w_picpaths/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot #圖形化安裝菜單

修改/var/lib/tftpboot/pxelinux.cfg/default文件:

#default vesamenu.c32
default ks    #更改默認啓動的是label ks標記的內核
prompt 1    #顯示'boot:'提示符,爲0時不顯示,直接啓動default參數指定的內容
timeout 600    #設置超時時間

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.5!
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
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img xdriver=vesa nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label ks
  kernel vmlinuz
  append ks=ftp://192.168.202.129/pub/ks/ks.cfg initrd=initrd.img
      #告訴系統從哪裏獲取ks文件
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

注意:若是ISO鏡像文件直接經過解壓複製到系統中,安裝過程當中將會出現如下錯誤:

Unable to read package metadata, This may be due ro a missing repodata directory.Please ensure that your install tree has bee correctly generated.

出現這個錯誤的主要緣由是repodata文件夾下的那些文件缺乏擴展名,因此必須使用UltraISO等專業工具提取iso鏡像文件內容。

6.安裝配置FTP服務

yum install vsftpd -y

拷貝系統安裝鏡像文件到文件服務器:

cp -rf /mnt/* /var/ftp/pub

注意:iso鏡像文件也能夠在windows中用UltraISO等工具提取文件在複製到文件服務器中來。

啓動ftp服務器並添加開機自啓動:

service vsftpd start
chkconfig vsftpd on

7.生成ks文件

安裝system-config-kickstart軟件包:

yum install system-config-kickstart -y
system-config-kickstart &> /dev/null &    #開始進行圖形化配置

配置完成後將ks.cfg文件保存至/var/lib/tftpboot/pxelinux.cfg/default文件中指定的ks文件路徑下。

注:system-config-kickstart界面不支持LVM的建立,若是須要建立LVM,能夠直接手動編輯生成的配置文件。

8.測試無人值守方式安裝系統

配置一臺新的虛擬機,修改BIOS設置爲從網絡啓動系統便可。

參考資料:

http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html

http://jiechao2012.blog.51cto.com/3251753/1153353

http://instance.iteye.com/blog/1687413

http://blog.csdn.net/Andy_YF/article/details/7749282

http://www.linuxidc.com/Linux/2013-07/87456p2.htm

http://petmaster.blog.51cto.com/5408825/1668940

http://cwtea.blog.51cto.com/4500217/834991/

相關文章
相關標籤/搜索