pxe+kickstart+tftp+dhcp 自動安裝

今天將我做的自動安裝系統實驗奉上,當然也都是參考了很多資料,知道51上的高手很多,要是那裏有說的不對或者撰寫的有錯誤,還請大家能夠指出。其實寫出來最主要是怕忘記,還有更希望大家相互交流的學習~~

(如果你是要同時給很多臺電腦安裝系統,那可就方便多了~)

 

下面開始進行自動安裝部署啦~ 我們一步一步的來進行:

一.先說說大概的思路和原理(我也是參考別人總結的資料)。

 

 

 

 

1、客戶端網卡在主機啓動初始化時通過網卡內置的PXE芯片啓動DHCP進程向server獲取ip地址,網卡獲取到ip地址後,server會提供給client一個下載bootloader的指令,就是dhcp服務器中dhcpd.conf配置文件中filename這個選項。

 

2、網卡PXE芯片中已經包含了tftp client程序,獲取到ip地址後,網卡會啓動tftp服務去向tftp server請求傳輸這個bootloader文件PXElinux.0。當Bootloader加載後我們可以看到主機屏幕上有信息顯示,而這個畫面就是我們在用光驅裝linux的時候看到的第一個畫面。畫面提示選擇圖形界面安裝還是linux text字符界面安裝等信息。如果在server端的tftpboot目錄下只有這個文件,那麼客戶機會一直停留在boot這個地方,因爲沒有default這個bootloader配置文件告訴機器下一步加載哪個系統內核,default配置文件的作用是告訴主機從哪裏去加載操作系統內核,這個時候如果我們按照正常光碟裝機時會看到提示:輸入回車或者linux text等信息。Bootloader會去調用default配置文件中的操作系統內核文件。

3default 文件配置好之後,接着就是指定內核文件,這個在default文件最後。就是vmlinuzinitrd.img *.msg 這幾個文件。

4、到這一步加載成功後,系統就按照我們平常光碟裝系統看到的過程一模一樣了,選擇語言,鼠標,鍵盤等,但因爲有了KS這個自動安裝腳步,這些都不要我們手工去指定,全部會自動完成。

5、到這裏爲止,也許有人會問,那我們從哪裏去加載安裝的鏡像。且慢,不是有個ks安裝腳本嗎,就是這個腳本里面我們可以指定安裝鏡像在哪裏

6、現在就考慮系統鏡像的傳輸,這裏我們選用linux特有的NFS網絡文件系統進行鏡像的傳輸。當然也可以用HTTPFTP等方式。但爲什麼我們不直接使用tftp呢,因爲這個協議在傳輸大文件的時候效率非常低。

二.操作步驟開始啦。(我這裏使用的是redhat6.2的os)

1.首先檢查系統類是否安裝有nfs、dhcp、tftp。

 

 

 都沒有,現在我們需要簡單配置下yum源來進行安裝啦~~

在這裏我使用的是中國教育網的免費yum源~~ 因爲沒有6.2的所以用centos6.3的也可以好像~呵呵。

2.安裝我們暫時需要的nfs、tftp、dhcp軟件包。

我這裏是安裝了共11個包,當然根據你的系統不同安裝包多少當然也是不同啦~ 其中很多都是依賴包了~~ 最主要的就是幾個包的主程序了~~

3.現在開始編輯dhcp配置文件,搭建dhcp server。

 

4.開始修改tftp配置文件,並啓動。

這是最重要的一步,首先我將系統的光盤掛載到了/media下,然後將裏面的lsolinux目錄下的所有內容複製到tftp的數據目錄中,並在目錄下面創建一個pxelinux.cfg目錄,將原有目錄下得isolinux.cfg移動到這個目錄下並改名爲default。

下面需要修改defult這個文件中的內容。

用黃色部分標識出來的是需要我們修改的,timeout是指自動安裝時出現的界面現實的時間,ks=xx指我們的自動安裝選項的文件地址。

5.安裝kickstart配置ks.cfg。(需要安裝kickstart包並且在圖形界面下執行

system-config-kickstart

 

彈出窗口後就可以配置啦~~ 裏面的選項也都是很傻瓜的,很通俗易懂,在結尾我會把我的配置好的ks.cfg文件放在附件裏供大家參考。

[root@localhost /]# cat pub/ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.0.49 --dir=/media
# Root password
rootpw --iscrypted $1$bYS3.Qy2$nCw7rDJY4LKomGCojahXm.
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=400
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1

%packages
@basic-desktop
@chinese-support
@desktop-debugging
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@kde-desktop
@legacy-x
@remote-desktop-clients
@system-management
@system-management-messaging-server
@system-management-snmp
@x11

%end

創建/pub目錄並且將安裝選項文件ks.cfg放在該目錄下面,注意該目錄的權限應該設置爲757~~

 

好啦~~ 爲了萬無一失。現在重新啓動dhcp、nfs、tftp服務。

 

險些不能啓動nfs服務了~ 不過解決啦~ 貼出來不知道你會不會也是這樣。呵呵~~

好了~~ 現在我在虛擬機新建一臺試試~~ 嘿嘿。

哦也~~~ 大功告成(你可以安裝N多臺電腦的系統了)。最後嘮叨一句,在重啓服務之後別忘記關掉iptables和selinux。

如果哪有不對的地方還希望大家指出!!! 謝謝~~~

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