使用kvm製做Eucalyptus鏡像(Windows Server 2008r2爲例)

 

一、前言

  Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) 是一種開源的軟件基礎結構,用來經過計算集羣或工做站羣實現彈性的、實用的雲計算。它最初是美國加利福尼亞大學 Santa Barbara 計算機科學學院的一個研究項目,如今已經商業化,發展成爲了 Eucalyptus Systems Inc。不過,Eucalyptus 仍然按開源項目那樣維護和開發。php

  咱們這裏所要製做的鏡像是桉樹實例啓動的模板,須要在鏡像模板中提早配置好桉樹管理工具及相關軟件,而後註冊到桉樹中方可以使用。建立鏡像咱們建議在NC節點上執行,需中止該節點上全部實例,以及節點服務,再進行相關建立工做。html

 

二、前期準備

桉樹環境shell

(1)、版本:4.0.0windows

(2)、節點使用狀況瀏覽器

說明:建議在NC節點上進行製做工做,而且NC節點服務需關閉,關閉會致使該節點上實例永久性消失(PS:實例沒有作持久化,一旦中止就會消失)。因此咱們這裏製做實例使用的是沒有被分配節點的63服務器。安全

service eucalyptus-nc stop //關閉NC節點服務

工具軟件服務器

關於相關工具的使用上咱們提供了兩種方案,你們可依據本身的喜愛決定採用哪種。製做Eucalyptus Windows Server2008r2鏡像咱們採用第一種方案演示。網絡

方案一:MobaXtermdom

MobaXterm 官方下載地址:http://mobaxterm.mobatek.net/download-home-edition.html  綠色版下載ide

注:MobaXterm是一個X服務器和一組的Unix命令(GNU/ Cygwin的)封裝在一個單一的便攜式exe文件的加強終端。 MobaXterm包括一個巨大的multitab原生的Windows終端。操做簡單,功能強大,易上手,也是此次咱們推薦使用的。後面的流程是基於MobaXterm操做的。

方案二:tightvnc +Xshell+Xftp

tightvnc 官方下載支持:http://www.tightvnc.com/download-old.php 綠色版下載  

注:TightVNC 是一套免費的 VNC 軟件,能讓你輕鬆控制遠程的計算機,就像坐在本身家的計算機前面通常,讓你出門在外無後顧之憂!

Xshell  官方下載地址:http://www.netsarang.com/download/down_xsh4.html

注:Xshell 是一個極好用的免費 SSH 客戶端,能夠做爲 Telnet、Rlogin、SSH、SFTP、Serial 等協議的安全終端模擬軟件,讓你輕鬆管理遠程主機。

Xftp 官方下載地址:http://www.netsarang.com/download/down_xfp4.html

注:是一個基於 MS windows 平臺的功能強大的SFTP、FTP 文件傳輸軟件。使用了 Xftp 之後,MS windows 用戶能安全地在 UNIX/Linux 和 Windows PC 之間傳輸文件。Xftp 能同時適應初級用戶和高級用戶的須要。它採用了標準的 Windows 風格的嚮導,它簡單的界面能與其餘 Windows 應用程序緊密地協同工做,此外它還爲高級用戶提供了衆多強勁地功能特性。

這裏咱們爲了方便提供了Xshell & Xftp整合版綠色版下載地址:http://pan.baidu.com/s/1bnngdXH

相關程序包和文件

(1)、Windows Server 2008r2  64位安裝包(這個下載地址你們百度吧,也能夠是windows的其餘版本,可是須要注意集成程序包對應)

(2)、桉樹Windows集成程序包,依據具體狀況採用,下載地址:

windows-prep-tools-3.4.0.iso http://downloads.eucalyptus.com/software/tools/windows-prep/ 

windows-prep-tools-legacy.iso http://downloads.eucalyptus.com/software/tools/windows-prep/

(3)、啓動用配置文件libvirt-kvm-windows.xml。該文件示例模板位置在節點服務器/usr/share/eucalyptus/doc/文件夾下。/usr/share/eucalyptus/doc/libvirt-kvm-windows-example.xml,咱們只須要進行簡單的定製修改便可。 

 

三、製做流程

3.一、收集相關文件到指定目錄並初始化

3.1.一、設置工做空間

登錄63節點服務器在home目錄下新建一個工做目錄,做爲製做虛擬機用到的iso及配置文件等的統一存放目錄:

cd /home     //進入到home目錄
mkdir makeimages  //建立一個makeimages目錄
cd /home/makeimages   //進入到makeimages目錄
ls //查看makeimages   下全部文件

MobaXterm連接遠程Linux服務器,請參考文章:http://www.cnblogs.com/gis-luq/p/3993378.html

使用MobaXterm工具能夠實現文件的拖拽上傳,上傳成功後文件列表以下:

 

3.1.二、建立disk磁盤文件 

dd if=/dev/zero of=windows.2008r2_X64_test.img bs=1M count=1 seek=36999

注意: 建立DISK 命名必須要以windows 開頭。 本例生成36999個1M的容量(大約37G)硬盤。

3.1.三、建立軟驅文件

dd if=/dev/zero of=floppy.img bs=1k count=1474

3.1.四、建立第二塊磁盤文件

dd if=/dev/zero of=secondary.img bs=1M count=1 seek=1000 

3.1.五、拷貝虛擬機配置文件

系統自帶了一系列配置文件模板,咱們把使用到的複製過來。這裏複製的是kvm-windows文件。

cp /usr/share/eucalyptus/doc/libvirt-kvm-windows-example.xml /home/makeimages/

備註:將安裝系統用到的ISO文件,也統一放到此目錄下。建立windows虛擬機時,須要使用libvirt-kvm-windows配置文件來啓動,libvirt-kvm-windows中進行了相應的磁盤路徑、ISO路徑的配置。而在這一過程當中,總計須要三次修改libvirt配置文件:

3.1.六、檢查所需文件列表

說明:當文件列表信息有改動時,右側文件列表需被刷新後方可顯示爲最新。

3.二、第一次修改libvirt文件

 3.2.一、修改libvirt-kvm-windows-example.xml文件中devices下的disk中的節點信息

因爲libvirt-kvm-windows-example.xml文件中包含大量說明性信息,這裏僅截取實際使用部分。ISO 路徑掛載Win_Server_08_R2_SP1_33in1.iso。硬盤掛在爲windows.2008r2_X64_test.img,並使第二塊硬盤及軟驅路徑配置不生效

libvirt-kvm-windows-example.xml在MobaXterm中雙擊便可修改,相關信息參考以下:

<domain type='kvm'>
    <name>eucalyptus-windows</name>
    <os>
    <type>hvm</type>
    <boot dev='cdrom'/>
    </os>
    <features>
        <acpi/>
    </features>
    <memory>524288</memory>
    <vcpu>1</vcpu>
    <devices>
        <disk type='file'>
            <source file='/home/makeimages/windows.2008r2_X64_test.img'/>
            <target dev='hda'/>
        </disk
        <!--   <disk type='file' device='disk'>
            <source file='/home/makeimages/secondary.img'/>
            <target dev='vda' bus='virtio'/>
        </disk> 
        <disk type='file' device='floppy'>
             <source file='/home/makeimages/floppy.img'/>
             <target dev='fda'/>
        </disk>  --> 
        <disk type='file' device='cdrom'>
            <source file='/home/makeimages/Win_Server_08_R2_SP1_33in1.iso'/>
            <target dev='hdc'/>
            <readonly/>
        </disk>
        <interface type='bridge'>
            <source bridge='br0'/>
            <model type='rtl8139'/>
        </interface>
    <!--<interface type='bridge'>
        <source bridge='br0'/>
        <model type='virtio'/> 
    </interface> -->
        <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
    </devices>
</domain>
View Code

 

3.2.二、執行命令建立虛擬機

virsh create libvirt-kvm-windows-example.xml

如上圖所示,虛擬機建立成功已在正常運行。

3.2.三、經過VNC遠程鏈接,完成操做系統安裝

在MobaXterm工具中選擇Sessions—>new Session進入Session Setting頁面,選擇VNC選項卡,設置IP地址和端口號。

 

說明:這裏服務器中只有一臺虛擬機,默認端口5900,若多臺虛擬機端口號依次遞增,登錄成功後以下圖所示。

 

此處即爲通常Windows的安裝過程,具體過程這裏不作贅述。若在安裝過程當中出現找不到磁盤的狀況,請注意libvirt中的磁盤文件的地址是否是配置對了,筆者在操做過程當中就不仔細地址配置錯誤,致使出現磁盤找不到的狀況。

3.2.4、系統安裝完畢後,關機

 

3.三、第二次修改libvirt文件

本次修改配置文件的目的爲掛載windows-prep-tools-3.4.0.iso。須要更改的內容包括,ISO 路徑、並使第二塊硬盤及軟驅路徑配置生效。

看到這裏我想細心的讀者已經發現了前面出現的一直都是windows-prep-tools-3.4.0.iso,而環境需求的出現的是兩個,那這兩個包該如何選擇呢,官方的幫助是這樣說的:

The following step assumes you're running a recent version of Windows. If you're running Windows Server 2003, you'll need to download the legacy version of the Windows prep tool from:  http://downloads.eucalyptus.com/software/tools/windows-prep/

If you're running a version of Windows more recent than Windows Server 2003, download the most recent version of the Windows Image Preparation Tool from http://downloads.eucalyptus.com/software/tools/windows-prep/ to /var/lib/libvirt/images on your NC or on the host running the vSphere client.

從上面咱們能夠知道,若是運行是 Windows Server 2003使用第一個,更新版本的使用第二個,這裏Server 2008使用第二個。即:windows-prep-tools-3.4.0.iso

3.3.一、具體配置信息參照以下配置文件

<domain type='kvm'>
    <name>eucalyptus-windows</name>
    <os>
    <type>hvm</type>
    <boot dev='cdrom'/>
    </os>
    <features>
        <acpi/>
    </features>
    <memory>524288</memory>
    <vcpu>1</vcpu>
    <devices>
        <disk type='file'>
            <source file='/home/makeimages/windows.2008r2_X64_test.img'/>
            <target dev='hda'/>
        </disk>
     <disk type='file' device='disk'>
         <source file='/home/makeimages/secondary.img'/>
         <target dev='vda' bus='virtio'/>
      </disk> 
       <disk type='file' device='floppy'>
             <source file='/home/makeimages/floppy.img'/>
             <target dev='fda'/>
        </disk> 
        <disk type='file' device='cdrom'>
            <source file='/home/makeimages/windows-prep-tools-3.4.0.iso'/>
            <target dev='hdc'/>
            <readonly/>
        </disk>
        <interface type='bridge'>
            <source bridge='br0'/>
            <model type='rtl8139'/>
        </interface>
    <!--<interface type='bridge'>
        <source bridge='br0'/>
        <model type='virtio'/> 
    </interface> -->
        <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
    </devices>
</domain>
View Code

3.3.二、執行命令,啓動虛擬機

virsh create libvirt-kvm-windows-example.xml

3.3.三、經過VNC遠程鏈接到虛擬機。安裝windows-prep-tools-3.4.0工具,工具會自動安裝相應的網絡和軟盤驅動。

安裝驅動程序時,確保在WINDOWS 虛擬機內發現全部的VIRTIO 設備,包括軟驅,第二塊硬盤,總線,網卡。

安裝.net 3.5。 CD驅動器中包含了一個,可是在Server 2008r2中默認已經包含了.net3.5.咱們只須要開啓就能夠了,若須要使用IIS下下一步操做中開始IIS功能便可。

注意:在徹底完成軟件安裝前不要在windows 下執行sysperp工具。

3.3.四、進行相應軟件的安裝,好比ArcGIS Server、Tomcat等須要的應用。

3.3.五、關閉防火牆,容許遠程鏈接。

3.3.六、關機。

3.四、第三次修改libvirt文件

3.4.一、第三次修改成了更改配置文件,只掛載VIRTIO驅動的設備。具體內容參照配置文件

<domain type='kvm'>
    <name>eucalyptus-windows</name>
    <os>
    <type>hvm</type>
    <boot dev='cdrom'/>
    </os>
    <features>
        <acpi/>
    </features>
    <memory>524288</memory>
    <vcpu>1</vcpu>
    <devices>
        <disk type='file'>
            <source file='/home/makeimages/windows.2008r2_X64_test.img'/>
            <target dev='hda'/>
        </disk>
     <disk type='file' device='disk'>
         <source file='/home/makeimages/secondary.img'/>
         <target dev='vda' bus='virtio'/>
        </disk> 
         <disk type='file' device='floppy'>
             <source file='/home/makeimages/floppy.img'/>
             <target dev='fda'/>
        </disk>
      <disk type='file' device='cdrom'>
            <source file=''/>
            <target dev='hdc'/>
            <readonly/>
        </disk>
        <interface type='bridge'>
            <source bridge='br0'/>
            <model type='rtl8139'/>
        </interface>
    <!--<interface type='bridge'>
        <source bridge='br0'/>
        <model type='virtio'/> 
    </interface> -->
        <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
    </devices>
</domain>
View Code

3.4.二、執行命令啓動虛擬機

virsh create libvirt-kvm-windows-example.xml

3.4.三、經過VNC遠程鏈接到虛擬機,進入虛擬機後,配置並運行sysperp 工具,將自動清理掉全部相關的應用。

(1)配置活動文件夾 https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#shared/images_win_activedirectory.html

(2)配置遠程桌面 https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#shared/images_win_rdp.html

(3)運行sysperp 工具

 按照eucalyptus4.0官方的幫助文檔,是須要配置活動文件夾和遠程桌面的,可是筆者在安裝過程當中僅運行了sysperp工具,並沒有配置也可經過,因此就跳過了這兩步。所產生的問題暫時尚未發現。

說明:運行sysperp 工具後若顯示successful則成功,若屢次運行,可能會報錯,並致使實例建立成功鏈接不上的問題。

3.4.四、關機

以上內容,配置了一個基於Windows系統的虛擬機,接下來須要將此虛擬機文件拷貝到CLC上,並註冊爲Eucalyptus的Image鏡像。

3.五、Windows鏡像模板上傳

3.5.一、登錄CLC所在服務器,在CLC節點的var目錄下,新建一個img文件夾

cd /var
mkdir img

3.5.二、從NC節點拷貝img文件

scp root@192.168.20.63:/home/makeimages/windows.2008r2_X64_test.img /var/img

3.5.三、將鏡像上傳Eucalyptus中

euca-install-image -n wintest -i /var/img/windows.2008r2_X64_test.img -r x86_64 --virtualization-type hvm -b winnull --platform=windows 

安裝過程比較慢,等到完成,經過瀏覽器界面,能夠查看到上傳的Image鏡像。接下來可使用此鏡像進行實例部署。

命令行查看已安裝鏡像。

 euca-describe-images

管理頁面查看已安裝鏡像

四、參考連接

https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#shared/images_win.html

相關文章
相關標籤/搜索