標籤:kickstart 營運自動化 centos7 無人值守
實驗過程:
本文在一台RHEL6.5機器上,通過向原生CentOS7.2 iso中添加kickstart啟動指令碼ks.cfg和讀取指令碼的開機選項,再對該iso鏡像重新封裝的方式,完成CentOS7.2自動安裝光碟片的製作,並建立一台虛擬機器掛載該光碟片,來驗證作業系統的自動安裝。
所需工具:
1. 一台RHEL6.5主機(虛擬機器也可以,但本文涉及要在該主機上建立虛擬機器,因此建議該主機應支援KVM或別的虛擬機器技術)
2. virt-manager 可視化的虛擬機器管理工具
3. virt-install 虛擬機器安裝工具
4. qemu-img QEMU磁碟工具,用於建立虛擬機器磁碟
5. CentOS-7-x86_64-DVD-1511.iso CentOS官網下載的iso鏡像
6. mkisofs(genisoimage) 製作光碟片工具
實驗步驟:
1. 掛載鏡像:
mount -o loop -t iso9660 /root/CentOS-7-x86_64-1511.iso /mnt
2. 複製目錄的中所有內容到其他本地目錄:
cp -a /mnt/* /cloud/iso/centos7.2/
3. 複製編寫的可以完成自動安裝的ks.cfg指令碼到目錄中。
cp /root/ks.cfg /cloud/iso/centos7.2/
4. 進入複製的目錄,編輯isolinux/isolinux.cfg檔案,仿照其他啟動菜單格式,加入如下開機選項:
label ks menu label Install CentOS 7 by the ^kickstart menu default kernel vmlinuz append initrd=initrd.img inst.ks=cdrom:/ks.cfg inst.stage2=hd:LABEL=asika
5. 編輯EFI/BOOT/grub.conf檔案,仿照其他啟動菜單格式,加入如下內容:
menuentry ‘Install CentOS 7 by kickstart‘ --class fedora --class gnu-linux --class gnu --class os { linuxefi /images/pxeboot/vmlinuz inst.ks=cdrom:/ks.cfg inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet initrdefi /images/pxeboot/initrd.img}
6. 使用genisoimage命令製作光碟片
genisoimage -v -cache-inodes -joliet-long -R -J -T -V asika -o ./CentOS-x86_64-7-1511-my-ks.iso -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -b images/efiboot.img -no-emul-boot ./centos7.2/
7. 建立虛擬機器,並測試該鏡像
qemu-img create -f qcow2 CentOS7-ks-test.img 20Gvirt-install --name CentOS7-ks-test --vcpus=2 --ram 2048 --disk path=/cloud/vm_imgs/CentOS7-ks-test.img,format=qcow2,bus=virtio --network network:default --os-type=linux --vnc --autostart --cdrom /cloud/iso/CentOS-x86_64-7-1511-my-ks.iso --keymap=en-us
註:
1. inst.ks的內容應指定為ks.cfg在cdrom中的路徑。比如你的ks.cfg檔案放置在isolinux目錄下,inst.ks應等於cdrom:/isolinux/ks.cfg。
2. 製作光碟片時指定的光碟片ID ,即-V選項的內容應與isolinux.cfg中添加的label中hd:LABEL選項內容一致,多次實驗中,表明內容不一致導致系統無法從光碟片中正常載入,同時實驗表明光碟片ID無需同BOOT/grub.conf中添加行的hd:LABEL內容一致。。。
參考文章:
http://xiaoli110.blog.51cto.com/1724/1617541
本文出自 “琴裡伊始” 部落格,請務必保留此出處http://kotori.blog.51cto.com/4819846/1893137
CentOS 7.2 自動安裝光碟片實驗全過程記錄