使用kickstart實現Centos 自動化安裝linux
Kickstart自動化安裝簡介:vim
規模化:同時裝配多臺 服務器centos
自動化 :安裝系統,配置各類服務安全
遠程實現:不須要光盤,U盤等安裝介質服務器
優點:網絡
(1)流線自動化的安裝app
(2)快速大量的裸機部署編輯器
(3)強制創建的一致性(軟件包,分區,配置,監控,安全性)優化
(4)減小人爲的部署失誤ui
使用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協議
主板支持 網絡啓動
基本部署過程:
【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
詳解: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:要保證系統和服務屬於同一個網段)
輸入用戶名和密碼(123456)便可登陸系統