天天看點

[官版翻譯ing]OpenStack雲計算快速入門之三:OpenStack鏡像管理 第三部分 OpenStack鏡像管理

很多源都有為OpenStack已經編譯好的各種鏡像了,您可以直接下載下傳并通過使用這些鏡像來熟悉OpenStack。

不過如果是為生産環境進行部署的話,您一定需要建構含有定制軟體或配置的鏡像檔案。不要着急,本章将引領您完成幾種較為流行的Linux發行版鏡像,最後也将制作一份Windows的鏡像。

由不同的Linux發行版制作鏡像時,過程幾乎一樣,僅有微小的差别而已。由于含有cloud-ini軟體包,人們用Ubuntu系統制作鏡像檔案變得非常容易。Cloud-init軟體在執行個體運作時能夠自動維護執行個體配置,也将為無密碼登陸完成密匙導入以及完成設定主機名等任務。每個執行個體都将通過169.254.169.254的中繼資料接口,從nova運算中讀取特定的配置。

如果您制作發行版不含有諸如cloud-init此類的軟體包,您就需要自行完成密匙導入等操作了。說來也簡單,隻需向rc.local檔案中添加相關指令即可。

如前所述,建立Linux不同發行版的過程除了幾細微之處外,其餘完全一緻。不同點将在後文闡述。

本文所有的例子,都是在KVM基礎上完成的。正像前兩章說道的那樣,現在我正在使用client1。

接下來的操作将制作很多鏡像,這些鏡像代表一個沒有分區的硬碟。

第一部,首先是在Client1上建立一塊空鏡像,這塊鏡像用作虛拟機的硬碟,是以請保證留出你所需的空間的大小:

kvm-img create -f qcow2 server.img 5G

下載下傳你所需的Linux發行版iso原鏡像檔案,比如您想安裝Ubuntu,您可以使用wget或浏覽器從網站“http://releases.ubuntu.com”獲得iso檔案。

将下載下傳的iso檔案置入虛拟機的CD-ROM後,啟動KVM一個虛拟機執行個體。您将看到安裝過程的開始。鍵入如下指令,它将在端口0開放VNC服務:

sudo kvm -m 256 -cdrom ubuntu-12.04-server-amd64.iso -drive file=server.img,if=virtio,index=0 -boot d -net nic -net user -nographic  -vnc :0

使用0這個展示端口連入虛拟機的VNC,并完成安裝。

舉例如下,client1的IP位址是10.10.10.4,則通過下列指令通路vnc:

vncviewer 10.10.10.4 :0

注意,在制作Linux鏡像過程中,請建立一個單獨的ext4格式分區并将其挂在swap分區下。

安裝結束後,通過執行下列指令重新載入虛拟機:

sudo kvm -m 256 -drive file=server.img,if=virtio,index=0 -boot c -net nic -net user -nographic -vnc :0

此時,您可以在這個系統上安裝定制的軟體包,進行系統更新,添加使用者或更改配置了。

執行以下指令:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install openssh-server cloud-init

清除 /etc/udev/rules.d檔案的網絡裝置命名規則,因為這些規則将從執行個體的網卡獲得。

sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules

運作如下指令:

yum update

yum install openssh-server

chkconfig sshd on

然後編輯 /etc/sysconfig/network-scripts/ifcfg-eth0檔案如下所示:

DEVICE="eth0"

BOOTPROTO=dhcp

NM_CONTROLLED="yes"

ONBOOT="yes"

關閉虛拟機。

由于Fedora沒有cloud-init或類似軟體,您需要親自進行幾步配置使執行個體可以得到諸如ssh key這樣的中繼資料。

編輯 /etc/rc.local檔案并且把以下内容粘貼到“touch /var/lock/subsys/local”行前:

depmod -a

modprobe acpiphp

# simple attempt to get the user ssh key using the meta-data service

mkdir -p /root/.ssh

echo >> /root/.ssh/authorized_keys

curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key| grep 'ssh-rsa' >> /root/.ssh/authorized_keys

echo "AUTHORIZED_KEYS:"

echo "************************"

cat /root/.ssh/authorized_keys

選擇ssh服務,curl以及其他需要的包。

安裝ssh伺服器:

zypper install openssh

安裝crul:

zypper install curl

使用如下步驟将Ssh Key注入執行個體中:

首先,建立檔案 /etc/init.d/sshkey并且寫入下列内容:

curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key | grep 'ssh-rsa' >> /root/.ssh/authorized_keys

然後,為該檔案設定權限:

chmod 755 /etc/init.d/sshkey

将sshkey服務設定為開機自動啟動:

chkconfig sshkey on

使用下列指令設定防火牆(而非iptables),令其允許ssh服務:

yast2

最後同樣地,清除 /etc/udev/rules.d檔案的網絡裝置命名規則,因為這些規則将從執行個體的網卡獲得。

安裝時選擇SSH伺服器,Curl及相關軟體。

然後進行必要的設定,為key注入而編輯 /etc/rc.local檔案并增加如下内容:

同樣地,清除 /etc/udev/rules.d檔案的網絡裝置命名規則,因為這些規則将從執行個體的網卡獲得。

編輯 /etc/sysconfig/network-scripts/ifcfg-eth0檔案如下所示:

使用如下指令上傳鏡像:

glance add name="" is_public=true container_format=ovf disk_format=qcow2 .img

第一步,仍然是在Client1上建立一塊空鏡像,這塊鏡像用作虛拟機的硬碟,是以請保證留出你所需的空間的大小:

kvm-img create -f qcow2 windowsserver.img 20G

當執行個體運作時,OpenStack利用virtio接口來使用鏡像,于是鏡像中的作業系統需要裝有virtio驅動。不巧的是,預設Windows Server 2008是沒有virtio驅動的。您可以在如下網址:http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin 下載下傳裝有該驅動的iso鏡像并使用該鏡像進行安裝。

譯者注1:Virtio 是半虛拟化 hypervisor 中位于裝置之上的抽象層。virtio 由 Rusty Russell 開發,virtio 是對半虛拟化 hypervisor 中的一組通用模拟裝置的抽象。該設定還允許 hypervisor 導出一組通用的模拟裝置,并通過一個通用的應用程式設計接口(API)讓它們變得可用。[來源:開源中國http://www.oschina.net/p/virtio ]

譯者注2:該連結的virtio-win是0.1-22版,不能用。下載下傳用1.1.16新版即可。

執行此指令開始安裝:

sudo kvm -m 1024 -cdrom windows2008.iso -drive file=windowsserver1.img,if=virtio -boot d -drive file=virtio-win-0.1-22.iso,index=3,media=cdrom  -device virtio-net-pci -net nic -net user -nographic -vnc :5

當安裝提示您選擇一塊硬碟裝置步驟時,您并不能看到目前有可用裝置。點選左下方的“載入裝置(Load drivers)”按鈕,選擇第二CDROM後,含有virtio驅動的硬碟便被加載了。

在安裝結束之前,您需要重新開機系統一次,此時您可以安裝其它您所需的軟體或執行任何需要的配置更改。除此之外,請務必開放執行個體中的遠端桌面,因為遠端桌面将是您連接配接并使用該執行個體的唯一途徑。同時,Windows防火牆應該相應地設定為對ICMP和RDP開放。

關閉虛拟機并将該鏡像使用如下指令上傳至OpenStack中:

glance add name="windows" is_public=true container_format=ovf disk_format=qcow2 

************************ <b>第三章,完結[2012-07-12 20:43:00]</b> *********************

<b>五嶽之巅原創,如有轉載,必須注明出處,否則追究。</b>

繼續閱讀