在很多的運維公司都會有用到Kickstart檔案來進行定製化自己的作業系統,今天我來寫篇文章來分享一下我的製作Kickstart檔案的方法以及過程,以下是如何製作Kickstart檔案的方法及過程(以centos 6.5 x86_64為例),後續還會寫一些使用Kickstart 檔案來進行遠端自動化重灌作業系統的文章,有興趣的朋友可以看看其它的經驗,謝謝。
工具/原料
電腦、Centos、Linux作業系統、winscp、putty
製作前言
在工作中總會離不開使用kickstart檔案來安裝系統,自己公司會用到,其他運維公司也會提供過來讓我們幫他們進行安裝系統,但發現總有不足的地方。他們使用定製的總是ISO格式,就要幫他們下載並記錄光碟安裝才可以。
如果是光碟大批量重灌系統的,不僅耗費人力與物力,關鍵也很慢。有的也使用U盤去定製一個作業系統,分發到IDC 運維那裡進行安裝,這種方法也顯得很不可取。現在網路這麼好,可以完全使用網路安裝,只需要給到ks的獲取路徑到運維的人員即可。
基於以上的種種情況,我的想法是:運維人員可以根據現有的可靠開源站點或者自己搭建好的站點作為安裝源,使用ks檔案進行網路安裝,這樣可以更加快速方便地安裝及重灌系統。此方法只需要在啟動安裝介質介面輸入一個命令即可自動化裝系統。(無須記錄光碟,也無須用U盤,大量減少工作量),具體的步驟,我在下面簡述下
製作KS檔案方法及步驟
首先在Centos 6.5 x86_64位的系統上用system-config-kickstart命令開啟製作kickstart的操作介面(也可以在系統的選單裡找到),另外一種方法是根據自己已經有的kickstart檔案進行修改也行。下面我是使用kickstart操作介面進行修改安裝系統時產生的anaconda-ks.cfg (在系統的/root目錄下面),根據自己的實際情況而定製合適的kickstart檔案。【需要在圖形介面操作的】
開啟軟體的介面,我們呼叫anaconda-ks.cfg,然後再進行編輯
裡邊包含了安裝系統的每一個步驟以及安裝系統之後的一些相關script操作。可以設定安裝完之後自動重啟以及建立搭建環境。從而實現自動化過程,還有自己的定製化要求。
想要從事這些工作的人群都離不開英文,所以這軟體的介面英文還是看得懂的。我從事這方面也有幾年的經驗。下面我共享自己的一個ks.cfg檔案大家參考下。
以下是一個我用於網路安裝Centos 6.5的一個很簡單的ks檔案,只負責重灌好系統,並還沒有更加定製化
# Kickstart file automatically install Centos 6.5 i386
# author
install
url --url=
skipx
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --mtu=1 --bootproto static --ip 192.168.1.147 --netmask 255.255.255.0 --gateway 192.168.1.1 --noipv6 --nameserver 114.114.114.114
rootpw --iscrypted $6$a4JU7fD1Bi5OkZyf$HudWM1bouOmCIBsrhgPikHS/hFRX7H4yAFcVViHLuuiX7DFjj15ALOqiOnZeUrKdzfmENi6zKpApXqt0NM2T31
firewall --enabled --ssh --port=43999:tcp
authconfig --enableshadow --enablemd5 --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
reboot
clearpart --drives=sda --all --initlabel
zerombr yes
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
part /boot --fstype=ext4 --size=128
part / --fstype=ext4 --size=20480
part swap --size=2048
part /data --fstype=ext4 --grow --size=200
%packages
@core
@server-policy
rsyslog
gcc
gcc-c++
gcc-objc
gcc-objc++
make
autoconf
automake
ntp
ntpdate
vim-minimal
%end
Kickstart檔案使用方法
例如上面我給出的一個檔案範例,我將它存在網路上面。以HTTP方式在安裝的時候進行獲取。在安裝啟動介面的時候輸入相關的指令,即可自動化安裝好系統重啟並進入安裝好的系統登陸介面。如下圖
我在安裝介面的時候,按TAB鍵編輯選單,在後面新增內容 ks=後面是ks的網路路徑(這裡寫不了連結)。因為在安裝的時候IP 與DNS 都是本地自動分配的,所以不用指定也可以。因為路徑是我放在百度雲上面的,所以路徑不方便透露。
這樣使用ks定製安裝作業系統就非常方便了,無論在哪裡都可以進行呼叫安裝以及提供給運維人員幫自己重灌系統,再也不用擔心選擇少元件或者每一次安裝好系統都要安裝環境,可以在ks裡邊定製好。非常方便的,最後還想說必須根據網路環境而定製化。
注意事項
定製化Kickstart網路安裝系統需要可靠的安裝源
每一項設定都必須根據自己的實際情況而出發,尤其是在一些生產系統多硬碟資料的時候,更是小心謹慎,切記資料重要