不論在服務器還是在工作站,安裝系統都是我們首要的任務。若按平常安裝系統來說我們需要在安裝過程中交互的完成系統參數的配置例如語言、鍵盤、分區.... 但是有些時候我們不能完成交互安裝或者交互安裝太麻煩【比如說IDC機房(服務器沒有鍵盤鼠標)、安裝大量的主機】,這時候就需要我們來非交互的安裝系統。
自動安裝系統有兩種方法:手動引導安裝和pxe引導安裝,下面我們來一一介紹(我們的環境是虛擬機裡的linux enterprise 5.4系統)
一、手動引導安裝
這種方法就是把系統所需要的配置寫進一個名為ks.cfg(當然文件名稱也可自定)的文件,然後把這個文件交給anaconda(交互式的安裝程序)來避免交互,剩下的就是引導安裝。那我們怎樣把ks.cfg給anaconda呢,當我們引導系統的時候會出現一個引導畫面,其中有boot: ,在boot:後面填寫ks.cfg文件的路徑進行手動引導安裝。而文件的路徑又有不同,下面我們來具體說明:
boot:
linux ks=cdrom/目錄/ks.cfg (ks.cfg放在引導光盤上)
linux ks=hd:sda2【分區】:目錄/ks.cfg (ks.cfg放在第二塊分區上)
linux ks=usl (服務器上文件ks.cfg的路徑)
ftp://地址或名稱/目錄/ks.cfg (文件在ftp服務器上)
http://地址或名稱/目錄/ks.cfg (文件在http服務器上)
當然引導的方式也有好幾種:光盤、U盤以及PXE引導,接下來我們就以光盤引導為例、以ftp為服務器安裝多台主機為模型為大家做一下講解:
1、我們把linux系統所在主機做成ftp服務器,這樣我們就可以同時為多台計算機安裝系統。所以第一步先安裝vsftpd的軟件包。
2、啟動vsftp服務,並設為開機啟動
3、掛載光盤,並把光盤上的所有東西拷到訪問ftp服務器的匿名根/var/ftp下
4、如果我們在ks.cfg裡指定所要安裝主機的ip地址,那麼多台主機勢必會地址沖突,所以我們還需要把linux系統做成dhcp服務器。安裝dhcp軟件包,然後設置dhcp的配置文件/etc/dhcpd.conf
用vim編輯配置文件,在底行模式下用r讀取下邊方框標記的文件,該文件是該服務配置的模板文件,我們只需要做一些修改就行了
修改後的文件
然後啟動服務並設置為開機啟動
5、在生成ks.cfg之前我們要先配置好yum的環境,這是因為要生成ks.cfg需要進入一個設置各種參數的界面,其中就有軟件包的選擇,我們想要在安裝系統的主機上安裝軟件的話就需要yum的支持。這裡我們利用本地yum,對/etc/yum.repos.d/rhel-debuginfo.repo進行yum環境的配置
6、安裝kickstart
查看有關軟件,然後利用yum -install 來安裝顯示的第二個軟件
7、輸入system-config-kickstart命令來運行名為system-config-kickstart的工具來生成ks.cfg文件,在出現配置窗口後進行下列配置
(1)基本配置
(2)安裝方法
這裡我們選擇新的安裝,安裝方法是ftp服務器安裝
(3)boot loader選項
(4)分區選項
(5)網絡功能(選擇DHCP動態獲得ip)
(6)身份驗證
(7)防火牆設置
(8)顯示設置
(9)軟件包選擇(根據需要增加)
(10)生成ks.cfg文件
8、為了避免交互,打開ks.cfg,在裡面添加key --skip,跳過key值的添加
9、制作引導光盤
(1)把光盤上的引導鏡像進行掛載
我們可以看到在/mnt/iso目錄下有個名為isolinux的目錄,當我們進入該目錄可以看到裡邊有內核、驅動等一些系統必要文件
(2)新建/tmp/iso目錄作為引導光盤的根目錄,再把/mnt/iso下的所有文件拷到其中
(3)把/root/ks.cfg拷到/tmp/iso目錄下
(4)把/tmp/iso打包成iso文件
從下圖中可以看到一個名為myiso.iso的文件
10、開始安裝
(1)首先把myiso.iso文件提取宿主機的桌面上
(2)在虛擬機裡新建一台主機,選擇典型硬件、暫時不掛載光盤、操作系統為5系列。當到硬件的詳細配置時,需要我們作出配置
(3)避免從虛擬機獲得ip而不是dhcp服務器,所以要在虛擬機上把網卡1給卸掉
(4)然後打開電源,進入引導界面,如下圖我們在boot:後面要輸入ks.cfg的文件路徑
 
(5)然後就進入安裝界面,如下圖所示,說明我們已經進入正常的安裝了,當然你也可以在這段時間去喝點茶休息一下了!
二、pxe網絡引導安裝
Pxe網絡引導安裝可以說是實現真正意義上的無人值守安裝,原理是:要安裝的機器首先從網絡上的DHCP服務器獲得ip信息和tftp服務器的地址信息,而tftp服務器上放置有引導文件、內核和驅動。然後訪問tftp服務器,通過引導文件來引導安裝,並加載內核和驅動。當然這種安裝方式同樣需要一個ks.cfg的文件把參數傳遞給anaconda,這裡只需要指明ftp服務器的ks.cfg的文件路徑就行了,不需要手動指明路徑,從而避免交互。
1、掛載光盤,分別安裝名為vsftp和dhcp的軟件包,啟動服務並設置為開機啟動
2、按照kickstart的實訓中的方法對dhcp服務配置文件做配置
3、,查看有關tftp的軟件包,如下圖,從圖中標記處可以看出tftp服務依賴於超級守護進程
4、對服務配置文件/etc/xinetd..d/tftp進行修改
用service xinetd restart來啟動守護進程
5、切換到tftp的匿名根目錄/tftpboot,然後把驅動、內核和引導文件分別拷到這個目錄下面
6、在/tftpboot目錄下新建一個存放引導文件配置文件的目錄pxelinux.cfg,然後把光盤下的配置文件拷到該目錄並改名為default
7、對default文件進行配置
8、為了讓要安裝的機器知道tftp的位置,還要配置dhcp的配置文件dhcpd.conf
9、這裡有個問題需要考慮,要安裝的機器可以動態獲得ip,但是主機名要怎樣改變呢?這裡我們編寫了一個腳本,可以讓主機名隨著ip地址的不同而不同
10、依照手動引導安裝實訓中生成ks.cfg,我們來進行yum環境的配置、kickstart工具的安裝和ks.cfg的生成,這些基本上都相同,唯一有差別的是後安裝腳本需要我們把剛才編寫的腳本拷到裡邊
注意:生成ks.cfg後不要忘記在裡邊添加key -- skip,生成的ks.cfg要拷到ftp的匿名根下
11、安裝的過程我們依照手動引導安裝過程,先做一個空的虛擬主機,之後啟動機器。如下圖所示,說明機器進入正常的安裝過程
作者署名:51cto博客 xiaoxiaozhou