這是 OpenStack 實施經驗分享系列的第 2 篇。linux
OpenStack 經過 Glance 鏡像部署 instance,上一節咱們介紹了 linux 鏡像製做方法,windows 鏡像與 linux 有很大不一樣,今天咱們以 windows2008 爲例詳細討論。
windows
鏡像製做步驟以下:
1. 建立並運行 windows2008 KVM 虛擬機
2. 安裝 virtio 驅動
3. 安裝 cloudbase-init
4. 其餘定製工做
5. 建立 Glance 鏡像
6. 經過鏡像部署新 instance性能
若是有 virt-manager,這一步能夠在圖形界面中完成。考慮到不是全部狀況都有 virt-manager,咱們這裏直接在 KVM 宿主機上操做。下面的步驟用於建立 windows2008 虛擬機。spa
首先建立一塊 20G 的虛擬磁盤做爲虛擬機的啓動盤: 操作系統
qemu-img create -f qcow2 /var/lib/libvirt/images/win2008r2sp1.qcow2 20G orm
copy 虛擬機模板 xml
cp template.xml win2008r2sp1.xml 部署
template.xml 這個模板怎麼來?其實很簡單,一般直接 dump 現有 kvm 虛擬機的 xml 定義就能夠了。好比: 虛擬機
virsh dumpxml [vm-id] > template.xml it
修改win2008r2sp1.xml中如下各項:
虛擬機名稱
虛擬磁盤(前面經過 qemu-img 建立的)和啓動ISO
建立虛擬機
virsh define win2008r2sp1.xml
啓動虛擬機
virsh start win2008r2sp1
經過vnc鏈接虛擬機
這裏 172.17.12.11 爲宿主機 IP,端口號爲 2(可經過 virsh vncdisplay 查詢到)。鏈接成功後,顯示虛擬機安裝界面
經過嚮導安裝操做系統,過程再也不贅述。若是在安裝過程當中虛擬機沒有自動重啓,能夠經過下面的命令啓動虛擬機
virsh start win2008r2sp1
安裝成功後,設置 IP 地址
OpenStack 默認使用 virtio 磁盤和網卡,virtio 的性能很好。因爲 windows 沒有自帶 virtio 的驅動,須要手動安裝,步驟以下:
添加一個 virtio 類型的磁盤。
virsh edit win2008r2sp1
修改當前的網卡設備爲 virtio。
重啓操做系統,安裝 virtio 的驅動程序。
virtio driver 的下載地址爲 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
cloudbase-init 使 windows 鏡像部署的 instance 可以自動配置 IP 地址等個性化信息。其做用與 linux 的 cloud-init 同樣,下面演示 cloudbase-init 的配置方法。
下載 cloudbase-init
https://cloudbase.it/cloudbase-init/#download
在虛擬機中安裝 cloudbase-init
可經過遠程桌面上傳 cloudbase-init 安裝程序並安裝
系統會自動關機。
從新啓動虛擬機,完成其餘定製工做,好比根據須要安裝一些經常使用軟件等。至此,windows 鏡像文件已經準備好,文件路徑爲
/var/lib/libvirt/images/win2008r2sp1.qcow2
鏡像建立方法與上一節 linux 鏡像同樣
glance image-create --name "Windows 2008 R2 SP1" --file /var/lib/libvirt/images/win2008r2sp1.qcow2 --disk-format qcow2 --container-format bare --is-public true --progress
點擊鏡像後面的「啓動雲主機」按鈕。
給 instance 命名,並點擊「運行」,instance 建立成功並分配到 IP。
點擊 instance 名字。
打開 console。
在 VNC 控制檯能夠看到 instance 正常啓動。
點擊 Administrator 用戶
第一次登陸須要修改密碼。
以上就是定製 OpenStack Windows 鏡像的操做,下一節討論幾個鏡像使用上的經驗和技巧。