由於實驗室條件限制,手中只有一臺物理服務器可以供使用,於是只好搭建瞭如下虛擬機環境以供實驗,資源豐富的朋友們自然就不用這麼委屈了。後面的演示時將一臺虛擬機從一臺虛擬化vmware esx server遷移到另外一臺虛擬化vmware esx server(v2v),有條件的朋友們可以嘗試着另外三種遷移方案:
p2v : 從一臺物理vmware esx server遷移到另外一臺虛擬化vmware esx server;
v2p : 從一臺虛擬化vmware esx server遷移到另外一臺物理vmware esx server;
p2p : 從一臺物理vmware esx server遷移到另外一臺物理vmware esx server;
|________________x86 物理主機_________________|
|
|_________windows 2003 server sp2 32-bit_______|
|
|___________vmware workstation 6.5.3__________|(注:同時安裝VIC和VirtualCenter)
|
|___vmware esx 3.5 U4___| |__vmware esx 3.5 U4__|
| |
|____RHEL 5.4 32-bit_____| |________none________|
安裝第一個vmware esx server時,取名爲esxserver-node1,計算機名也爲esxserver-node1,磁盤文件名爲esxserver-node1.vmdk;
安裝第二個vmware esx server時,取名爲esxserver-node2,計算機名也爲esxserver-node2,磁盤文件名爲esxserver-node2.vmdk;
我知道很多人覺得安裝完第一個vmware esx server後,直接clone給第二個vmware esx server更省事,但是這樣做會使已安裝系統的計算機名保持不變,都是esxserver-node1,默認安裝的vmfs分區esxserver-node1:storage1也一樣,會使vmfs認爲兩個esxserver-node1:storage1是同一個的,從而在遷移過程中發生不可預知的錯誤。不過,兩個vmware esx server的配置信息最好一樣。
下面逐個介紹我在配置過程中遇到的問題和解決辦法,相信其他人也可能遇到,當然,遇不到就更好了,^_^
1)vmware esx server 3.5 Update 4和vmware virtualcenter 2.5 Update 4的破解問題(僅僅作爲學習使用)
如果是評估版,就只有60天的使用時間,如何解決這個問題,下面的網址包含了完整的破解文件和詳細的破解方法:
http://www.linux-ren.org/modules/wordpress/?p=579
2)vmware esx server在安裝完成之後啓動非常緩慢
這有可能是vmware workstation版本太低。我開始使用6.0.0版本,遇到這個問題,花了一個多小時都沒有啓動完成,後來改用6.5.3,就順利啓動了。
3)用VIC在vmware esx server上啓動虛擬機時發生"you may not power on a virtual machine within a virtual machine"
這是因爲vmware esx server配置不當,只需在vmware esx server的配置文件.vmx裏面添加如下兩行即可,不要多加,也不要少加:
monitor.virtual_exec = "hardware"
monitor_control.restrict_backdoor = "true"
4)遷移虛擬機時,發生源vmware esx server和目標vmware esx server的vmotion網絡配置不當的問題
要做vmotion,源和目標vmware esx server都必須配置專門的網卡,並做專門的設置,以啓動vmotion功能,下面的網址介紹了具體如何配置:
http://leesun.blog.51cto.com/58664/131772
5)遷移虛擬機時,發生錯誤
“無法將 xxxx 從 xx.xx.xx.xx 遷移到 xx.xx.xx.xx: 主機 CPU 與虛擬機在 CPUID 級別 0x80000001 寄存器“edx”處的要求不兼容。
主機位:0000:1000:0001:0000:0000:0000:0000:0000
要求:xx1x:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
檢測到以下特徵不匹配:
* Longmode;爲 64 位客戶操作系統配置虛擬機時需要。”
我的win2003,vmware esx server和guest os都是32位的,出現這種錯誤確實讓人費解,網上搜尋未果,遂自己解決。vmware esx server和vm的CPUID級別不一致,而vmware esx server的配置文件.vmx裏面看不到cpuid的配置信息,於是只好改虛擬機的配置文件.vmx,添加一行,使虛擬機的CPUID與主機位的CPUID兼容:
cpuid.80000001.edx = "--0-----------------------------"
6)發生了一般系統錯誤: Invalid fault或者找不到引用的對象或項目。
這種錯誤是最普通的,就像C語言裏面的空指針和Java語言裏面的找不到引用對象,沒有任何信息含量,很難追蹤。我這裏出現的原因是,第二個vmware esx server由第一個vmware esx server經過clone而來,兩個esxserver-node1:storage1被認爲是同一個所致。
7)遷移虛擬機時,發生“無法訪問文件”的錯誤
產生錯誤的原因是被遷移的虛擬機不在源vmware esx server和目標vmware esx server的共享磁盤上。本博客上一篇文章
講述的是如何在虛擬機之間共享磁盤,而這裏的情況有所不同,要求的是在vmware esx server之間共享磁盤,下面介紹操作:
7.1)爲esxserver-node1在通道scsi2:0上新建一塊12G的磁盤,並修改配置文件:
scsi2:0.shared = "TRUE"
disk.locking = "FALSE"
scsi2:0.SharedBus = "Virtual"
7.2)在esxserver-node1上用parted工具爲其建立一個msdos主分區,注意將分區Id改成fb,用於vmfs文件系統。然後掛在這個分區:
vmkfstools -C vmfs3 -S shared_vmfs vmhba2:0:0:1
這時候shared_vmfs就和esxserver-node1:storage1一樣作爲存儲區域建立虛擬機了。
7.3)在esxserver-node2上添加進這個磁盤,在其/vmfs/volume/下面會自動加入shared_vmfs存儲區域了。