1. 程式人生 > >從ISO建立例項、例項生成快照,建立映象(基於openstack kilo平臺、KVM虛擬化)

從ISO建立例項、例項生成快照,建立映象(基於openstack kilo平臺、KVM虛擬化)

ISO建立例項
從ISO建立例項有兩個關鍵配置:雲主機型別flavor和ISO映象引數。
雲主機型別:openstack使用ISO映象建立虛擬機器例項時,會將選擇的雲主機型別flavor中的根磁碟(Disk)設定為cdrom,作為ISO的啟動的光碟機裝置,用於OS的安裝源;臨時磁碟(OS-FLV-EXT-DATA:ephemeral)作為虛擬機器例項的系統盤,作為安裝目標。因此在配置用於ISO啟動的雲主機型別flavor時,需要設定根磁碟(disk)值,可以略大約ISO映象檔案,5G/10G均可,可根據現場配置;臨時磁碟作為系統的啟動盤,需要根據業務需要設定大小,一般100G以上。
ISO映象引數:ISO映象引數按照kvm/vsphere/xen等虛擬化型別設定,具體引數可參考http://docs.openstack.org/cli-reference/content/chapter_cli-glance-property.html進行設定。針對centos6.7作業系統,KVM虛擬化,需要設定屬性為os_distro、os_version、hw_boot_menu,具體設定命令glance image-update,詳細使用請使用glance help image-update檢視
正確設定雲主機型別和ISO映象屬性後一般可以正常啟動虛擬機器並完成作業系統的安裝。對於windows的作業系統,預設不能識別磁碟,需要載入安裝對應的virtio驅動,特定OS版本請google之。

ISO虛擬機器例項生成qcow2快照


從iso虛擬機器例項生成的qcow2關鍵的問題是需要解決虛擬機器的OS引導源的順序。目前在kvm虛擬化上沒有開放BIOS的配置選項(也可能是筆者沒有找到入口,若有請告知筆者,跪謝),虛擬機器第一啟動選項為從CD/DVD啟動。所以為了解決虛擬機器的啟動順序,我們需要eject cdrom,可以採用如下辦法:
使用virsh attach-disk空裝置,彈出cdrom
找到需要生成快照的虛擬機器所在物理主機,執行如下命令找到虛擬機器的ID
#virsh list
找到對應虛擬機器的ID。執行如下命令彈出cdrom
#virsh attach-disk --type cdrom --mode readonly 35 "" hda --live
其中35為虛擬機器的ID,通過virsh list可以查詢。此時可以在虛擬機器中執行reboot重啟虛擬機器驗證,可以發現虛擬機器會直接啟動OS

生成centos的虛擬機器快照

生成centos快照主要是用來作為映象模版,快速啟動虛擬機器,省去安裝作業系統的耗時操作並自動完成配置。從實踐看,主要是需要解決網絡卡裝置名稱遞增的問題,例如新生成的虛擬機器網絡卡啟動失敗、網絡卡名字變成eth1等。可以通過如下辦法解決:
a、刪除關於網絡卡/etc/sysconfig/network-scripts/ifcfg-eth0的特定係數,比如MAC引數、UUID,建議只保留如下引數:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=yes
b、刪除/etc/udev/70-persistent-net.rules,避免映象生成的虛擬機器網絡卡名稱序號遞增為eth1
ubuntu作業系統的虛擬機器快照建議參考centos的要求適配修改。

windows作業系統的虛擬機器快照主要是配置防火牆以及開啟遠端桌面服務,並允許遠端訪問,具體開啟方式請google之