漫漫運維路——使用kickstart實現系統自動安裝

安裝Linux系統時,可能需要安裝多個相同的系統到不同主機上,此時如若一一指定每個主機所安系統的屬性則顯得十分繁瑣,如設置時區,語言,鍵盤類型,安裝完成後指定系統相關屬性等,此時如果使用kickstart實現自動部署,爲每一臺主機設置自動安裝就顯得十分便捷。

    實驗環境介紹:使用kickstart配合vsftpd完成無人值守CentOS6.6系統安裝。

實驗過程

    一.首先定製kickstart文件

    在CentOS6.6系統上,可以直接打開/root目錄下編輯anaconda-ks.cfg文件,或者使用更直觀的方式,使用命令[root@wuxiaotao ~]# system-config-kickstart &打開GUI圖形界面定製其相關功能。

    

wKioL1U070OwSBW4AAMacdbW6v8975.jpg

    如上所示,可根據上圖個菜單下的子項來修改新的kickstart文件。當然還可以根據當前系統上的配置來進行修改,方法爲點擊上面窗口的file菜單,打開當前系統上的/root目錄下的anaconda-ks.cfg文件,就會自動加載相關配置信息,然後根據需求進行進一步修改即可

    在此 ,主要進行以下設置


    1.設置語言環境。併爲管理員創建密碼


wKioL1U08GXxlGmVAAMvPK1EwLQ343.jpg   


     2.設定安裝路徑,即ISO鏡像位置


wKioL1U08Oyh4QJlAAI8Ry5y6YQ500.jpg


    3.指定grub密碼


wKiom1U08ALhpJ7QAAIW3PgknCI523.jpg


    4.爲//root/var等目錄新建分區,並指定文件系統


wKiom1U08Gawy-cwAAJVfHjsesA767.jpg



 5.設置網絡地址爲自動獲取(注,需要當前環境下啓動DHCP服務,如果沒有DHCP服務,則可以自己指定靜態IP地址)

wKioL1U08laDumejAAGMgHt22P8896.jpg


    6.關閉防火牆及selinux,防火牆默認會拒絕除了sshd以外的所有服務的鏈接,當然如果打開防火牆也可以,但是由於此處使用FTP服務器安裝方式進行安裝。則要放行ftp服務相關數據:


wKioL1U08q-Qs3QBAAGRLeWo6Kc697.jpg


    7.選擇安裝包,如所要安裝的圖形界面等:


wKiom1U08a3z-CjtAAK4ql61tPQ438.jpg


    8.指定安裝前和安裝後腳本,若安裝過程和安裝後要執行特殊任務,則在Post-installation script裏指定即可

二.自制系統啓動盤 

自制系統啓動盤可使用CentOS官方提供的系統安裝鏡像文件中的isolinux目錄修改而成

    1.首先在/tmp目錄下創建目錄centos用於掛在從官網下載的CentOS 6.6啓動盤,並掛載:

   設置虛擬機光驅使用鏡像文件並連接


wKiom1U08-_jX8nOAAI9iYK81Tg319.jpg


    新建目錄

[root@localhost tmp]# mkdir /tmp/centos

    掛載鏡像文件至/tmp/centos目錄

[root@localhost tmp]# mount -t iso9660 -r /dev/dvd /tmp/centos/

切換到/tmp/centos目錄下,並複製目錄到/tmp/cdrom

[root@localhost cdrom]# cp -fr /tmp/centos/isolinux/ /tmp/cdrom/

複製ks.cfg文件到/tmp/cdrom目錄下

[root@localhost cdrom]# cp /root/ks.cfg /tmp/cdrom/

修改isolinux目錄下的文件isolinux.cfg append後面添加ks文件的路徑,此處我把ks文件直接放在啓動盤,所以路徑爲cdrom/ks.cfg,可根據自己使用情況進行修改,也可以和鏡像文件同放於ftp下。在此我把kickstart配置文件之間放在了啓動iso文件裏所以修改此文件的append項如下

append initrd=initrd.img ks=cdrom:/ks.cfg

2.製作啓動盤:

切換目錄到/tmp下,使用命令mkisofs製作啓動光盤鏡像文件

[root@localhost tmp]# !mkisofs
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boo.iso cdrom/
I: -input-charset not specified, using utf-8 (detected in locale settings)
genisop_w_picpath 1.1.9 (Linux)
Scanning cdrom/
Scanning cdrom/isolinux
Excluded by match: cdrom/isolinux/boot.cat
Excluded: cdrom/isolinux/TRANS.TBL
Writing:   Initial Padblock                        Start Block 0
Done with: Initial Padblock                        Block(s)    16
Writing:   Primary Volume Descriptor               Start Block 16
Done with: Primary Volume Descriptor               Block(s)    1
Writing:   Eltorito Volume Descriptor              Start Block 17
Size of boot p_w_picpath is 4 sectors -> No emulation
Done with: Eltorito Volume Descriptor              Block(s)    1
Writing:   Joliet Volume Descriptor                Start Block 18
Done with: Joliet Volume Descriptor                Block(s)    1
Writing:   End Volume Descriptor                   Start Block 19
Done with: End Volume Descriptor                   Block(s)    1
Writing:   Version block                           Start Block 20
Done with: Version block                           Block(s)    1
Writing:   Path table                              Start Block 21
Done with: Path table                              Block(s)    4
Writing:   Joliet path table                       Start Block 25
Done with: Joliet path table                       Block(s)    4
Writing:   Directory tree                          Start Block 29
Done with: Directory tree                          Block(s)    2
Writing:   Joliet directory tree                   Start Block 31
Done with: Joliet directory tree                   Block(s)    2
Writing:   Directory tree cleanup                  Start Block 33
Done with: Directory tree cleanup                  Block(s)    0
Writing:   Extension record                        Start Block 33
Done with: Extension record                        Block(s)    1
Writing:   The File(s)                             Start Block 34
 25.74% done, estimate finish Sat Apr 18 21:21:25 2015
 51.39% done, estimate finish Sat Apr 18 21:21:23 2015
 77.11% done, estimate finish Sat Apr 18 21:21:23 2015
Total translation table size: 4701
Total rockridge attributes bytes: 1438
Total directory bytes: 2048
Path table size(bytes): 26
Done with: The File(s)                             Block(s)    19284
Writing:   Ending Padblock                         Start Block 19318
Done with: Ending Padblock                         Block(s)    150
Max brk space used 0
19468 extents written (38 MB)

    把文件拷貝到物理機上

    3.掛載鏡像光盤到ftp服務器的/var/CentOS6.6.iso目錄下

[root@localhost cdrom]# mount /dev/dvd /var/ftp/CentOS6.6.iso/
mount: block device /dev/sr0 is write-protected, mounting read-only

    安裝vsftpd服務

[root@localhost cdrom]# yum install vsftpd -y


    重啓vsftpd服務,並關閉防火牆

[root@localhost cdrom]# service vsftpd restart
Shutting down vsftpd:                                      [FAILED]
Starting vsftpd for vsftpd:                                [  OK  ]
You have new mail in /var/spool/mail/root
[root@localhost cdrom]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@localhost cdrom]#

    三.測試

    1.新建虛擬機並使用之前製作的iso文件爲啓動盤

    

wKiom1U09pOAN_d1AAH7cfyY7FU926.jpg


    啓動新建的虛擬機直接敲Enter,然後進入安裝後就會自動安裝。


wKioL1U0-A-wQkM6AAEwskzY3bU540.jpg


    自動創建分區和格式化


wKiom1U09v6it793AACDrlC5zq0348.jpg


    安裝軟件包


wKioL1U0-HjxLSdtAAJATj22nqA728.jpg


    安裝完成進入的登陸界面


wKioL1U0-KSDa9grAACanHg6QWk162.jpg


    到此,使用kickstart配置文件引導安裝CentOS6.6成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章