天天看點

kickstart自動化安裝--tftp+nfs+dhcp

使用kickstart實作Centos 自動化安裝

Kickstart自動化安裝簡介:

規模化:同時裝配多台 伺服器

自動化 :安裝系統,配置各種服務

遠端實作:不需要CD光牒,U盤等安裝媒體

優勢:

(1)流線自動化的安裝

(2)快速大量的裸機部署

(3)強制建立的一緻性(軟體包,分區,配置,監控,安全性)

(4)減少人為的部署失誤

使用Kickstart方法安裝的過程: (1).  建立一個kickstart檔案 (2).  建立有kickstart檔案的引導媒體或者使這個檔案在網絡上可用; (3).  籌備一個安裝樹 (4).  開始ks安裝:anconda自身啟動 –>選取ks安裝模式–> 從ks檔案讀取配置 –> 最後安裝 建立kickstart配置檔案的方式: (1).  文本編輯器(vim)等 (2). 用圖形化界面配置:system-config-kickstat(需要安裝system-config-kickstart.noarch包

PXE(preboot execute environment, )是由Intel公司開發的最新技術,工作client/server的網絡 模式,支援工作通過網絡從遠端伺服器 下載下傳映像,并由此支援  通過網絡啟動作業系統 ,在啟動過程中,終端要求伺服器 配置設定IP位址,在用TFTP或MTFTP協定下載下傳一個啟動軟體包到本機記憶體中執行,更有這個啟動軟體 包完成終端基本軟體設定,進而引導預先安裝在伺服器終端 作業系統,PXE可以引導 多種作業系統.

  1. 預啟動執行環境,在作業系統之前運作
  2. 可用于遠端安裝,建構無盤工作站

服務端:遠端DHCP服務,用來配置設定位址,定位引導程式;

             運作TFTP伺服器,提供引導程式下載下傳

用戶端 :網卡支援PXE協定

            主機闆支援 網絡啟動

基本部署過程:

  1. 準備rhel/centOS安裝源(YUM倉庫)
  2. 啟動TFTP服務,并提供核心,引導程式
  3. 啟動 DHCP服務,用來配置設定位址,指出引導程式位置
  4. 配置啟動菜單

【DHCP,TFTP安裝】

[root@kickstart ~]# mkdir /media/cdrom [root@kickstart ~]# mount /dev/cdrom /media/cdrom/

[root@kickstart ~]# yum install -y dhcp* tftp*

[root@kickstart ~]# grep disable /etc/xinetd.d/tftp | awk -F = '{print $2}' | sed -i 's#yes#no#g' /etc/xinetd.d/tftp

no [root@kickstart ~]# grep disable /etc/xinetd.d/tftp disable = no      

1:TFTP+PXE配置

要實作遠端安裝系統,首先需要在tftpboot目錄指定相關PXE相關核心子產品機制相關參數,配置步驟如下:

Ps:如果系統 是5.x,預設tftpboot目錄已經自動建立到/根目錄下

[root@localhost ~]# yum install -y syslinux

[root@kickstart ]# find / -name "pxelinux.0"

/usr/share/syslinux/pxelinux.0

[root@kickstart-server ~]# ln -s /var/lib/tftpboot/ /

[root@kickstart-server ~]# cp /usr/share/syslinux/pxelinux.0  /tftpboot/

[root@localhost tftpboot]# cp /media/cdrom/images/pxeboot/* /tftpboot/       #将系統核心拷貝tftpboot目錄下

[root@kickstart ~]# ls /tftpboot/
initrd.img pxelinux.0 TRANS.TBL vmlinuz

[root@localhost tftpboot]# rm -rf TRANS.TBL

[root@localhost tftpboot]# ls

initrd.img  pxelinux.0  vmlinuz

[root@localhost tftpboot]# mkdir -p pxelinux.cfg

 [root@localhost tftpboot]# ls

initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

 [root@localhost tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

[root@localhost tftpboot]# vim pxelinux.cfg/default

label centos6.5

kernel vmlinuz

append ks=nfs:192.168.2.136:/Centos_install/ks.cfg ksdevice=eth0 initrd=initrd.img      
kickstart自動化安裝--tftp+nfs+dhcp

詳解:192.168.2.136 是kickstart伺服器,

/Centos_install是nfs共享 linux鏡像 的目錄,也就是linux存放安裝檔案的路徑;

ks.cfg是kickstart主配置檔案;

Ksdevel-eth0代表當我們有多塊網卡 的時候,要實作自動化需要設定從eth0安裝

[root@kickstart tftpboot]# chkconfig tftp on     #TFTP配置完成之後,由于tftp不是獨立服務,需要依賴xinetd服務來啟動 [root@kickstart tftpboot]# service xinetd restart

2:NFS+kickstart配置

遠端系統安裝 ,用戶端需要下載下傳系統所需的軟體包,是以需要使用NFS或HTTPD把鏡像檔案共享出來

[root@kickstart ~]# yum install -y nfs*

[root@kickstart ~]# mkdir /Centos_install/     #建立NFS共享目錄,要與default目錄一緻

[root@kickstart ~]# nohup cp -rf /media/cdrom/* /Centos_install/ &     #背景拷貝

[root@kickstart ~]# echo "/Centos_install/ *(rw,sync)" >> /etc/exports     #在NFS配置檔案/etc/exports中加入如上語句:/Centos_install    *(rw,sync),表示允許任何主機通路/Centos_install目錄,有讀寫權限。

自定義ks.cfg,并賦予權限為chmod 777 ks.cfg




[root@localhost ~]# vim /centosinstall/ks.cfg            #這裡ks.cfg需要注意一下,并沒有按照anaconda-ks.cfg内容修改,該配置相容性 較強,經過優化處理~可上生産~
#kickstart file automatically generated  by anaconda.

install

text

nfs --server=192.168.2.136 --dir=/Centos_install/     #kickstart位址

key --skip

lang zh_CN,UTF-8

keyboard us

network --device eth0 --bootproto=dhcp --noipv6

rootpw 123456    #系統密碼為123456

firewall --disabled

authconfig --enableshadow --enablemd5

selinux --disabled

timezone Asia/shanghai

bootloader --location=mbr --driveorder=sda --append="rhgb quiet"

clearpart --all --initlabel

part /boot --fstype ext3 --size=200

part swap --size=1000

part / --fstype ext3 --size=10000

part /data --fstype ext3 --size=1 --grow

%packages

@base

@development-libs

@development-tools

mtools

pax

libxmu

%end

#給配置檔案權限,并重新開機服務

[root@kickstart Centos_install]# chmod 777 ks.cfg

[root@kickstart-server ~]# service xinetd restart

[root@kickstart-server centosinstall]# service nfs restart      

3:[DHCP服務]

[root@localhost ~]# yum install -y dhcp

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.200;     #可配置設定起始IP-結束IP位址池
option routers 192.168.2.136;
option subnet-mask 255.255.255.0;
default-lease-time 21600;           #設定預設的IP租用期限
max-lease-time 43200;                #設定IP最大租用期限
next-server 192.168.2.136;            #TFTP伺服器IP位址
filename "pxelinux.0"; 
}      

OK到目前為止,kickstart服務端的配置已經全部配置完成!為了保證服務正常生效,我們最後一次重新開機一下三個服務!

[root@localhost ~]# /etc/init.d/dhcpd restart

[root@localhost ~]# /etc/init.d/xinetd restart

 [root@localhost ~]# /etc/init.d/nfs restart

用戶端驗證,是否自動化安裝部署系統

建立rheld虛拟機(ps:要保證系統和服務屬于同一個網段)

kickstart自動化安裝--tftp+nfs+dhcp
kickstart自動化安裝--tftp+nfs+dhcp
kickstart自動化安裝--tftp+nfs+dhcp
kickstart自動化安裝--tftp+nfs+dhcp
kickstart自動化安裝--tftp+nfs+dhcp
kickstart自動化安裝--tftp+nfs+dhcp
kickstart自動化安裝--tftp+nfs+dhcp

輸入使用者名和密碼(123456)即可登入系統

kickstart自動化安裝--tftp+nfs+dhcp

繼續閱讀