Centos5.7使用xen搭建虛擬機集羣過程

1,在用光盤安裝centos5.7時,在選擇安裝的組建的時候,需要選擇上虛擬機組建,我把兩個都選上了,一個是KVM的,安裝好centos以後,就可以在系統菜單上找到虛擬機管理工具:Applications->System Tools->virtual machine manager,這樣就可以打開管理界面了,看到裏面有一個Domain-0,自動就產生了,我理解這其實就是本機,在這裏也被視爲虛擬機存在。

2,點擊管理頁面下面的new選項,建立一個新的虛擬機,選擇full virtual的方式建立,這種方式支持光盤安裝操作系統,支持iso鏡像安裝等。我剛開始不能選擇這種full virtual的安裝方式,只能選擇paravirtual的方式,這種方式不支持光盤。看到下面的提示說,我的系統本身是支持full virtual的,只是我的bios設置沒有打開intel cpu的某些功能,因此不能用full virtual的方式。因此我重啓進入bios,把bios中關於虛擬機選項的地方給enable了,然後就可以支持full virual了。

3,開始用光盤安裝虛擬機,虛擬機也是centos的,而且我是建立了一個虛擬網絡,使用nat方式連接我的實際網絡。虛擬機都建立在這個虛擬網絡上,充當一個小的內網。我看這個virtual machine manager裏面寫着xen的字樣,而且image創建目錄是在xen的lib目錄下,所以我懷疑我現在其實使用的就是xen,雖然我從未顯示安裝過xen,但是正在使用它。

4,安裝好了第一臺虛擬機,我現在希望一共安裝5臺虛擬機,這5臺虛擬機都使用centos5.7系統,它們都在一個虛擬網絡當中。這時,我不想剩下的每一臺虛擬機都使用光盤安裝的方式,我希望能像vmware那樣,把我安裝好的虛擬機複製一下,就變成了另外一個虛擬機,這是可行的,具體的話需要去下載一個工具,詳細信息如下:http://blog.csdn.net/jackyyen/article/details/3265572

////////////////////////////////////////

4.1.從http://virt-manager.et.redhat.com/download.html 下載virt-clone工具,在virt-install包中。我下載的是virtinst 0.600.1這個版本,下載下來一個gz的包,裏面有安裝方法,按照要求去做就能安好。
4.2 這個包裏面有一個virt-clone的工具,利用它就可以實現對現有虛擬機的clone. 命令行方式爲:
./virt-clone -o 原虛擬機名字 -n 新虛擬機名字 -f 新虛擬機鏡像文件名字

4.3 執行成功上一行命令,發現virtual machine manager窗口中自動多了一個新虛擬機名字的虛擬機,但是卻找不到新虛擬機鏡像文件,不管我是不是指定了目錄,virt-clone都不會新建一個虛擬機鏡像文件。這時察看新建的虛擬機的詳細信息時,發現它仍然使用原虛擬機的鏡像文件,兩個虛擬機使用同樣的鏡像文件,它們是不能同時運行的,這時就需要解決這個問題。

4.4 打開新建的虛擬機的硬件信息目錄中,找到它的磁盤信息,看到鏡像文件的名字是原來虛擬機鏡像文件。這時,到文件瀏覽器中拷貝一個原有鏡像文件到一個指定目錄,並把這個新複製的鏡像文件名修改一下。然後到硬件信息中,把原來的磁盤刪掉,讓虛擬機沒有磁盤,然後再點擊增加硬件,爲虛擬機創建一個新的磁盤,創建新的磁盤時選擇那個新拷貝好的鏡像文件,這時,新的虛擬機就有了自己的鏡像文件了。同時,新虛擬機還有一個地方需要改,就是硬件當中的網絡部分,不改的話,網卡mac地址和原有的一樣,這樣可不行,重新建立一個網絡,建立時選擇添加到虛擬網絡中,這時就會看到新的網卡新的mac地址,然後我把原來的那個網絡刪掉了。這時,一個新的虛擬機就誕生了。
//////////////////////////////////////////

5,按照4的方式複製鏡像,建立5臺虛擬機。

6, 建立好了5臺虛擬機,現在需要爲每臺配置各自的功能。首先就涉及到如何把我主機上已經下載好的安裝包或文件拷貝到虛擬機當中。我想使用NFS網絡文件系統的方式,把主機上的某個文件夾共享給虛擬機。因此具體操作方法如下:

6.1在主機上/etc/init.d/nfs stop

/etc/init.d/nfs start

vi /etc/exports: 添加一行:/home/username/share/ 10.0.0.0/24(rw,sync),保存關閉

exportfs -r: 成功

測試一下本機能不能NFS:mount -t nfs -o nolock 172.20.0.178:home/username/share /mnt  正常

umount /mnt 取消測試

6.2 在虛擬機上,ping 172.20.0.178 正常

ifconfig 發現eth0 ip 是10.0.0.62

mount -t nfs -o nolock 172.20.0.178:/home/username/share /mnt 報錯:mount: mount to NFS server '172.20.0.178' failed: system error: no route to host.

6.3 出錯也不知爲啥,說是route不到host,但是沒關係,我估計可能是防火牆的問題,然後我到主機的系統配置界面上,打開system->administration->security level and firewall,然後把下拉菜單中的enable改爲disable,就是把防火牆給關了。

6.4, 虛擬機上mount -t nfs -o nolock 172.20.0.178:/home/username/share /mnt 成功

6.5,但是發現一個問題,在虛擬機上mnt的目錄是隻讀的,不能寫入,可是明明設置了rw的方式啊。沒辦法,最後解決辦法是:

/home/username/share/ 10.0.0.0/24(rw,no_root_squash)

/etc/init.d/nfs stop

/etc/init.d/nfs start

exportfs -ra

這回在虛擬機上mount以後就可寫了。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章