CentOS下配置PXE+Kickstart無人值守安裝(Howto install CentOS through PXE+KickStart)

來源:互聯網
上載者:User
文章目錄
  • 理論
  • 實踐
CentOS下配置PXE+Kickstart無人值守安裝(Howto install CentOS through PXE+KickStart)

 

環境:CentOS 5.1 最小安裝。

理論

來源:http://coolerfeng.blog.51cto.com/133059/48801

什麼是PXE
PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使電腦通過網路啟動。協議分為client和server兩端,PXE client在網卡的ROM中,當電腦引導時,BIOS把PXE client調入記憶體執行,並顯示出命令菜單,經使用者選擇後,PXE client將放置在遠端的作業系統通過網路下載到本地運行。

PXE協議的成功運行需要解決以下兩個問題:
1. 既然是通過網路傳輸,那麼電腦在啟動時,它的IP地址由誰來配置;
2. 通過什麼協議下載Linux核心和根檔案系統

對於第一個問題,可以通過DHCP Server解決,由DHCP server來給PXE client分配一個IP地址,DHCP Server是用來給DHCP Client動態分配IP地址的協議,不過由於這裡是給PXE Client分配IP地址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。
至於第二個問題,在PXE client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協議到TFTP Server上下載所需的檔案。

這樣,PXE協議啟動並執行條件就具備了,下面我們就來看看PXE協議的工作過程。

工作過程

在中,PXE client是需要安裝Linux的電腦,TFTP Server和DHCP Server運行在另外一台Linux Server上。Bootstrap檔案、設定檔、Linux核心以及Linux根檔案系統都放置在Linux Server上TFTP伺服器的根目錄下。
PXE client在工作過程中,需要三個二進位檔案:bootstrap、Linux 核心和Linux根檔案系統。Bootstrap檔案是可執行程式,它向使用者提供簡單的控制介面,並根據使用者的選擇,下載合適的Linux核心以及Linux根檔案系統。

實踐

要實現一個PXE+Kickstart無人值守安裝,從上面的理論解說中,我們知道,至少需要DHCP與TFTP服務來完成引導。要進行網路安裝的 話,我們則需要NFS或者HTTP或者FTP服務。這裡,我們選擇NFS。TFTP要工作的話,我們又要安裝xinetd。加上要產生bootstrap 檔案要安裝的syslinux。我們要安裝的軟體包一共如下:

  • dhcp
  • tftp-server
  • xinetd
  • syslinux
  • nfs-utils

DCHP

安裝dhcp:

yum install -y dhcp

安裝完成之後,把dhcp.conf.sample檔案拷貝到/etc下面

cp /usr/share/doc/dhcp-3.0.5/dhcp.conf-sample /etc/dhcp.conf

編輯/etc/dhcp.conf。

找到:

ignore client-updates;

在後面添加上:

next-server 192.168.0.1;
filename "pxelinux.0";

找到:

option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-server 192.168.1.1;

將其注釋

配置你的網卡,將其IP改為192.168.0.1
編輯/etc/sysconfig/network-scripts/ifcfg-eth0

找到:

BOOTPROTO=dhcp

改為:

BOOTPROTO=static

並在其下加上兩行:

IPADDR=192.168.0.1
NETMASK=255.255.255.0

重啟網路並啟動dhcp

/etc/init.d/network restart
/etc/ini.d/dhcpd start

tftp-server
安裝tftp-server服務(tftp-server與xinetd的關係,請自己找資料):

yum install -y xinetd tftp-server

配置tftp-server
編輯/etc/xinetd.d/tftp

找到:

disable = yes

將其改為

disable = no

啟動tftp-server

/etc/init.d/xinetd start

pxelinux.0
pxelinux.0,我們在配置dhcp的時候,就已經用到了,其實,就是上面提到的bootstrap。在CentOS中,它是由syslinux來 產生的。我們只要安裝了syslinux,就會產生一個pxelinux.0,我們只需要將其拷貝到/tftpboot下面即可。

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

開機檔案
找到CentOS 5.1的DVD安裝盤或者ISO鏡像(我這裡就直接用鏡像了),將其mount到/mnt下面。

mount -o loop /root/CentOS-5.1-i386-bin-DVD.iso /mnt

拷貝核心檔案vmlinuz以及根檔案系統initrd.img到/tftpboot

cp /mnt/images/pxeboot/vmlinuz /mnt/images/pxeboot/initrd.img /tftpboot

建立/tftpboot/pxelinux.cfg目錄

mkdir /tftpboot/pxelinux.cfg

建立/tftpboot/pxelinux.cfg/default檔案

touch /tftpboot/pxelinux.cfg/default

檔案內容如下:

default linux
prompt 0
label linux
kernel vmlinuz
append ks=nfs:192.168.0.1:/netinstall/ks.cfg initrd=initrd.img

配置nfs網路安裝
拷貝整個安裝光碟片到/netinstall

mkdir /netinstall
cp -r /mnt/* /netinstall

安裝nfs服務,並將/netinstall發布出去

yum install -y nfs-utils
/etc/init.d/portmap start
/etc/init.d/nfs start
exportfs *:/netinstall

關於ks.cfg檔案

這個檔案要配置起來很是麻煩,因為參數實在太多,有興趣的,可以看看CentOS的官方文檔:http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-options.html。

沒興趣的,可以跟我一直做一個最簡單的ks.cfg。

拷貝本機安裝時的ks檔案到/netinstall並重新命名為ks.cfg

cp /root/anaconda-ks.cfg /netinstall/ks.cfg
chmod a+r /netinstall/ks.cfg

然後,做一點小小的修改,
找到第一行的install,將其改為text
第二行的cdrom,改為

nfs --server=192.168.0.1 --dir=/netinstall/

找到,

clearpart --linux --drives=sda

改為:

clearpart --all --drives=sda --initlabel

並在其上添加一行:

autopart

OK,到這裡,所有的配置就可以結束了。最後,大家把防火牆關閉,就可以直接測試了。
當然,這裡有一個前提就是,CentOS 5.1要能認得你的網卡,不然,安裝會提示找不ks檔案而失敗。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.