kickstart自動化安裝--tftp+nfs+dhcp
使用kickstart實現Centos 自動化安裝
Kickstart自動化安裝簡介:
規模化:同時裝配多臺 服務器
自動化 :安裝系統,配置各種服務
遠程實現:不需要光盤,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可以引導 多種操作系統.
- 預啟動執行環境,在操作系統之前運行
- 可用於遠程安裝,構建無盤工作站
服務端:遠程DHCP服務,用來分配地址,定位引導程序;
運行TFTP服務器,提供引導程序下載
客戶端 :網卡支持PXE協議
主板支持 網絡啟動
基本部署過程:
- 準備rhel/centOS安裝源(YUM倉庫)
- 啟動TFTP服務,並提供內核,引導程序
- 啟動 DHCP服務,用來分配地址,指出引導程序位置
- 配置啟動菜單
一.DHCP,TFTP安裝
[[email protected] ~]# yum install -y dhcp* tftp*
首先配置tftp服務:
[[email protected] ~]# vim /etc/xinetd.d/tftp
2)TFTP+PXE配置
要實現遠程安裝系統,首先需要在tftpboot目錄指定相關PXE相關內核模塊機相關參數,配置步驟如下:
Ps:如果系統 是5.x,默認tftpboot目錄已經自動創建到/根目錄下
如果系統是6.x,則默認tftpboot目錄在/var/lib/目錄下,所以centos6.x需要做軟鏈接到/目錄下
[[email protected] ~]# yum install -y syslinux
[[email protected] ~]# find / -name "pxelinux.0"
/usr/share/syslinux/pxelinux.0
[[email protected] ~]# ln -s /var/lib/tftpboot/ /
[[email protected] ~]# cd /tftpboot/
[[email protected] tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[[email protected] tftpboot]# ls
pxelinux.0
[[email protected] tftpboot]# cp /media/cdrom/images/pxeboot/* .[A1]
[[email protected] tftpboot]# ls
initrd.img pxelinux.0 TRANS.TBL vmlinuz
[[email protected] tftpboot]# rm -rf TRANS.TBL
[[email protected] tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[[email protected] tftpboot]# mkdir -p pxelinux.cfg
[[email protected] tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[[email protected] tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[[email protected] tftpboot]# vim pxelinux.cfg/default
ps:註解[A1]拷貝tftpboot目錄下,也就是當前目錄,也tftpboot目錄
解析:192.168.20.150是kickstart服務器,/centosinstall是nfs共享 linux鏡像 的目錄,也就是linux存放安裝文件的路徑;ks.cfg是kickstart主配置文件;設置timeout 60 /*超時時間為10s */;
Ksdevel-etho代表當我們有多塊網卡 的時候,要實現自動化需要設置從etho安裝
TFTP配置完畢,由於 是tftp是非獨立服務,需要依賴xinetd服務來啟動
啟動命令為
[[email protected] tftpboot]# chkconfig tftp --level 35 on
[[email protected] tftpboot]# service xinetd restart
二.NFS+kickstart配置
3)NFS+kickstart配置
遠程系統安裝 ,客戶端需要下載系統所需的軟件包,所以需要使用NFS或HTTPD把鏡像文件共享出來
[[email protected] ~]# yum install nfs
[[email protected] ~]# echo "/centosinstall * (rw,sync)" >>/etc/exports
3)NFS+kickstart配置
遠程系統安裝 ,客戶端需要下載系統所需的軟件包,所以需要使用NFS或HTTPD把鏡像文件共享出來
[[email protected] ~]# yum install nfs
[[email protected] ~]# echo "/centosinstall * (rw,sync)" >>/etc/exports
可以直接拷貝/root目錄下anaconda-ks.cfg。重命名為ks.cfg,並把ks.cf拷貝到剛共享的/centosinstall目錄下,賦予權限為chmod 777 ks.cfg
[[email protected] ~]# mkdir /centosinstall
[[email protected] ~]# cd /centosinstall/
[[email protected] centosinstall]# nohup cp /media/cdrom/* . -a &[A1]
ps:註解 [A1]後臺復制
[[email protected] ~]# vim /centosinstall/ks.cfg
#kickstart file automatically generated by anaconda.
install
text
nfs --server=192.168.20.150 --dir=/centosinstall
key --skip
lang zh_CN,UTF-8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw 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
[[email protected] ~]# service xinetd restart
[[email protected] centosinstall]# service nfs restart
三.安裝dhcp服務
[[email protected] ~]# yum install -y dhcp
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
OK到目前為止,kickstart服務端的配置已經全部配置完成!為了保證服務正常生效,我們最後一次重啟一下三個服務!
[[email protected] ~]# /etc/init.d/dhcpd restart
[[email protected] ~]# /etc/init.d/xinetd restart
[[email protected] ~]# /etc/init.d/nfs restart
客戶端驗證,是否自動化安裝部署系統
新建rheld虛擬機(ps:要保證系統和服務屬於同一個網段)
輸入用戶名和密碼(123456)即可登錄系統
Ps:kickstart所有配置就此告一段落,真實環境需要註意,新服務器跟kickstart最後獨立在一個網絡,不要跟辦公環境或者服務器機房混在一起,如果其他機器以網卡就會把它的系統重新裝成linux系統,
kickstart自動化安裝--tftp+nfs+dhcp