1. 程式人生 > >kickstart自動化安裝--tftp+nfs+dhcp

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

優勢 ins efault too centos6.x disabled dia key usr

使用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可以引導 多種操作系統.

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

服務端:遠程DHCP服務,用來分配地址,定位引導程序;

運行TFTP服務器,提供引導程序下載

客戶端 :網卡支持PXE協議

主板支持 網絡啟動

基本部署過程:

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

一.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配置

3NFS+kickstart配置

遠程系統安裝 ,客戶端需要下載系統所需的軟件包,所以需要使用NFS或HTTPD把鏡像文件共享出來

[[email protected] ~]# yum install nfs

[[email protected] ~]# echo "/centosinstall * (rw,sync)" >>/etc/exports

3NFS+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