:::
顯示具有 虛擬機器 標籤的文章。 顯示所有文章

在VirtualBox架設Proxmox VE 3.0 Cluster記錄 / Setup Proxmox VE 3.0 Cluster on VritualBox

在VirtualBox架設Proxmox VE 3.0 Cluster記錄 / Setup Proxmox VE 3.0 Cluster on VritualBox

image

Proxmox VE可以整合多台Proxmox VE串聯成一個「叢集」(cluster),這樣就能從其中一台Proxmox VE統一管理所有叢集中的Proxmox VE,非常地方便。這概念跟其他雲端平台使用的master / slave架構有點不一樣,但是統一管理的功能卻是共通的。

我用VirtualBox來試著架設Proxmox VE,以下是我的安裝過程記錄。

Proxmox VE can integrate multiple Proxmox VE servers to a cluster for unified management. I try to set up Proxmox VE cluster on VirtualBox. Following is my installation process.


安裝環境 / Installation Environment

image

我在Oracle VirtualBox 4.2.6上安裝Proxmox VE 3.0。

建立虛擬機器兩台,個別擔任master跟slave的角色,設Domain Name為「master-proxmox2.dlll.nccu.edu.tw」與「slave-proxmox2.dlll.nccu.edu.tw」。不過在Proxmox VE的Cluter中並沒有master跟slave的概念,我這篇只是用這兩種相對地位來表示操作順序的差異。

以下開始是步驟,請特別注意網卡設定跟安裝時的IP設定。

建立虛擬機器master / Create “master” Virtual Machine

我將master建為Debian 64bit,記憶體特別要設成512MB以上,其他都用預設值即可。

網路設定為「內部網路」 / Use “intranet” network for “master”

image

建立完成之後,將網路修改成「內部網路」,並給定內部網路名稱「proxmox2」。待會slave也會連到相同名稱的內部網路,表示兩者之間有所連接。這步驟很重要,因為VirtualBox預設建立虛擬機器時是用「NAT」,但這會對Proxmox VE建立cluster的時候造成混亂,千萬不能在NAT的狀態下安裝Proxmox

在master安裝Proxmox VE 3.0 / Install Proxmox VE 3.0 on “master”

然後在光碟機掛上Proxmox VE 3.0的ISO光碟,開始安裝。

由於是使用沒有DHCP的內部網路,所以Proxmox VE會自動選用區域網路IP「192.168.100.2」,這個IP要先記好。

安裝程序中要注意的僅有輸入Domain Name那邊,請輸入可以辨別不同節點的名稱,在此用「master-proxmox2.dlll.nccu.edu.tw」作為範例。

很快地就安裝完成了。安裝完成之後需要重新啟動,然後再登入Proxmox。預設帳號是root,密碼就是你安裝時候設定的密碼。

順利登入之後,我們先把master放著,來安裝slave吧。

建立虛擬機器slave/ Create Virtual Machine “slave”

image

slave建立的參數跟master一樣,都用Debain 64bit,記憶體512MB,建立完成之後網路修改成「內部網路」,並設名稱「proxmox2」。

在slave安裝Proxmox時的注意事項 / Points of Installing Proxmox VE for “slave”

在slave安裝Proxmox時,他也會用預設IP「192.168.100.2」,但這會跟master衝突,所以在此改為「192.168.100.3」。

然後Domain Name設為「slave-proxmox2.dlll.nccu.edu.tw」,其他就照常普通設定安裝即可。

安裝完成之後一樣重新啟動再登入root帳號。順利登入之後,我們就可以準備來建立Cluster了。

建立Cluster / Create Proxmox VE Cluster

在master跟slave都安裝好之後,我們就可以來建立Proxmox VE Cluster了。建立的說明網頁在此,以下我直接把步驟記錄下來:

在master的設定 / Setup on “master”

輸入以下指令:

pvecm create CLUSTER-NAME

其中CLUSTER-NAME是指這個Cluster的辨識名稱,不可修改,而且要刪除非常困難,請慎選!在此我用「DLLL」作為Cluster的名稱。

建立過程應該沒什麼特別問題,大概三分鐘就完成了。這時候這個Cluster裡面只有master一個節點。接著我們要把slave加入這個節點中。

在slave的設定 / Setup on “slave”

輸入以下指令:

pvecm add 192.168.100.2

其中192.168.100.2就是master的IP。其實只要加入任意已經建立好Cluster的節點都可以。前一步我們在master建立了Cluster,所以在此就可以透過pvecm add指令來讓slave加入到master。

輸入指令並執行之後,slave會以SSH連線到master。這時候先要求儲存金鑰,請回答「yes」,然後接著會要求master的密碼,請輸入之後登入。

image

接著過沒多久,看到「successfully added node ’slave-proxmox2’ to cluster.」就表示順利加入成功了。

開啟master的網頁操作介面 / Open “master”’s Web Administration GUI

到目前為止,master跟slave都在內部網路proxmox2底下互相連線,但是在這狀態下,其他人(包括Host OS的本機端)都無法開啟master的管理介面。所以我們要動點手腳,讓master多一張可以連線到外面的網卡。

VirtualBox中新增NAT網路卡 / Add “NAT” Netwrok Card for “master”

要變更硬體得先把master關機才行。關機指令是「halt」。

關機之後再幫master新增網路介面卡2,附加到NAT,如下圖:

image

然後再幫這張網卡設定連接埠轉遞,方面主機連線。主機連接埠設為「38006」,可以自由設定;客體連接埠則是固定的「8006」,如下圖:

image

設定完成之後再把master開機。但是光有網路卡沒用,我們還得在master中設定網路卡的連線方式呢。

修改/etc/network/interfaces  / “master” Network Setup

在master作業系統裡面,新加入的網路卡叫做eth1(原本的內部網路那張卡叫做eth0),但是eth1並沒有設定,預設也不會啟動。我們得設定eth1這張網路卡。

用vi修改網路設定吧,vi的用法請參考鳥哥

vi /etc/network/interfaces

在最後加入eth1的設定:

auto eth1
iface eth1 inet dhcp

設定好之後,interfaces整個檔案如下圖:

image

儲存,然後用以下指令啟動eth1:

ifup eth1

開啟master的Proxmox VE網頁管理介面 / Proxmox VE Web Administation GUI

開啟瀏覽器,建議使用Google Chrome。網址列輸入https並帶有連接埠的網址:

接著就會出現以下登入畫面:

image

帳號與密碼如同在master登入本機端一樣。預設帳號是root,密碼就是安裝時設定的密碼。最後下圖就是順利登入的樣子。

image

你可以發現到,master也可以管理slave的資源,這就是統合多個Proxmox VE組合起來的Cluster,可以方便網管人員進行資源分配與調度喔。


結語:NAT不適合新手操作 / Conclustion: Don’t Use “NAT” When You Setup Cluster At Initial Stage

像這種要串連多台伺服器的結構,通常預設的安裝環境中,網路都會是單純到只是接著一台網路分享器(hub或switch),不會有路由器跟DHCP來讓網路變得更複雜。

因此以後要測試虛擬機器遇到網路上的問題,不妨也跟我一樣,先讓機器本身只使用內部網路就好。確認安裝沒問題之後,再給他一張NAT網卡來操作吧。

希望這點經驗可以幫助到大家。現在半夜三點,好睏,我要回家了。

image

(more...)

安裝Proxmox VE遇到「command 'chroot /target dpkg --force-confold --configure -a' failed with exit code 1 at /usr/bin/proxinstall line 177」錯誤時的解決方法

安裝Proxmox VE遇到「command 'chroot /target dpkg --force-confold --configure -a' failed with exit code 1 at /usr/bin/proxinstall line 177」錯誤時的解決方法

2013-06-16_14-39-23

如果在安裝P`roxmox VE 3.0的時候遇到了「command 'chroot /target dpkg --force-confold --configure -a' failed with exit code 1 at /usr/bin/proxinstall line 177」的錯誤訊息,表示你的伺服器記憶體不足512MB。讓伺服器記憶體超過512MB就沒問題了。

When installing Proxmox VE 3.0, if you encounter the error “command 'chroot /target dpkg --force-confold --configure -a' failed with exit code 1 at /usr/bin/proxinstall line 177”, please increase server’s memory more than 512MB. Proxmox VE need 512MB memory at least.


為何使用Proxmox VE與OpenVZ / Why I use Proxmox VE and OpenVZ?

190px-OpenVZ-logo

我從2011年開始安裝Proxmox VE(以下簡稱Proxmox) 1.9版開始,就深深地受到OpenVZ的魅力所吸引。OpenVZ是一種非主流的虛擬化技術,它是將Linux的執行緒(process)分隔成不同的容器(container),每個容器都執行完整的Linux作業系統。因此它的缺點在於只能限制於Linux、硬體環境配置較難,但是它在執行效率上的優點卻是其他技術所遠遠不及的。也因為OpenVZ執行時就像是在容器裡面運作一樣,所以Proxmox把它簡稱為CT,意即ConTainer。

proxmox-logo

Proxmox VE是一款整合OpenVZ與KVM的虛擬機器管理平台,並以開放原始碼的形式釋出。安裝時僅需要從光碟直接安裝即可,安裝過程不到三十分鐘,一台可以建置OpenVZ與KVM的虛擬機器環境就可以上線運作了。

不過那是安裝1.9版時的經驗,現在安裝更新的版本時,似乎遇到了一些問題。

使用VirtualBox安裝Proxmox VE發生錯誤 / Install Proxmox VE failed on VirtualBox

那時我安裝1.9版時並沒有遇到什麼問題,倒是後來想用VirtualBox來安裝2.3與3.0版時就發生了錯誤。

VirtualBox的機器配置參數如下圖:

image

安裝3.0版時的錯誤訊息是:

command 'chroot /target dpkg --force-confold --configure -a' failed with exit code 1 at /usr/bin/proxinstall line 177

而安裝2.3版時也會遇到一樣的錯誤,錯誤訊息只有行數的差別:

command 'chroot /target dpkg --force-confold --configure -a' failed with exit code 1 at /usr/bin/proxinstall line 172

如果要安裝Proxmox VE,記憶體必須是512MB以上 / If you want to install Proxmox VE, server’s memory must be more than 512MB.

經過Proxmox的論壇解答之後,我才知道原來記憶體要設成512MB以上。仔細一看,Proxmox VE的系統安裝需求中,記憶體居然要求要1GB耶。而VirtualBox建立Debian作業系統時,預設只會給予384MB而已,這樣子難怪會失敗。

所以我調整了記憶體數量到896MB(隨便設的),設定細節如下圖:

2013-06-17_201318

然後再安裝Proxmox VE,這次就能順利成功了。

2013-06-17_201348

謝謝Proxmox Staff Member的dietmar回答,真是幫了很大的忙啊。


結語:證實了虛擬機器中的虛擬機器不能使用KVM的疑惑 / Conclusion: VM in VM could not use KVM.

其實這次主要要測試一件事情。那就是即使在Intel VT-x指令集的支持中,在VirtualBox裡面使用Debian 64Bit的Proxmox VE,依然不能使用KVM。終於解決了我長久以來的疑惑了,雖然中間花了不少時間就是。

(more...)

虛擬機器轉移(V2V) : Windows 2003從VirtualBox到KVM

布丁布丁吃布丁

虛擬機器轉移(V2V) : Windows 2003從VirtualBox到KVM

image

跟前幾篇講實體機器虛擬化(Physical-to-Virtual,P2V)不同,這一篇要講的是虛擬機器VirtualBox 4.2.6)轉移到另一種虛擬機器Proxmox VE 1.9底下的KVM)的過程,亦即所謂的虛擬機器轉移(Virtual-to-Virtual,V2V,或是遷移migration)。這次轉移的客體作業系統(Guest OS)是Winodws 2003,儘管只是把VirtualBox上製作的VMDK虛擬機器硬碟映像檔換到KVM執行,但還是有很多細節需要注意。以下記錄大致上的過程供大家參考。


為什麼要做V2V?

目前我常用的免費虛擬機器技術有兩種:適合工作站使用的VirtualBox,以及適合伺服器用的KVM

我常常在自己的電腦用VirtualBox安裝作業系統來進行各種測試,VirtualBox可以調整的參數多、網路設定也很方便,操作起來很容易。另一方面,我會將開發到穩定狀態、不太需要常常修改的系統放置到Proxmox VE的KVM上,讓系統提供服務就好,我們平常就不太再去更動作業系統的基層設定。

從VirtualBox到KVM這之間的轉換,就需要V2V的協助。

V2V作法概述:利用共同支援vmdk硬碟格式

200px-Vmware.svg

多虧於VMware如此盛行,VMware制定的vmdk(Virtual Machine Disk,虛擬機器硬碟映像檔)幾乎成為了各家虛擬機器爭相支援的對象,這包括了VirtualBox與KVM。

image

因此簡單的想法,就是利用VirtualBox製作vmdk硬碟檔,再把它放到KVM環境中運作。

題外話,我寫這篇的時候才發現原來VirtualBox也支援建立了KVM主要用的虛擬機器硬碟格式QEMU增強硬碟,不過我想即使用QEMU來建立虛擬機器,轉移Windows 2003的時候依然會出現以下的問題。

Windows 2003的V2V步驟

經過了幾次失敗的嘗試之後,我參考了Alex寫的Converting Windows VMWare machines to KVM,將目前看來可行的作法整理如下。步驟中會用到兩個名詞:來源端是指VirtualBox虛擬機器,目的端則是指KVM虛擬機器。

1. 來源建立虛擬機器時用vmdk

image

就如前面所說,這篇V2V是利用共同支援的虛擬機器硬碟格式vmdk,所以建立VirtualBox虛擬機器時請選擇VMDK

image

硬碟大小其實只要符合作業系統最低需求即可,不過有趣的地方在於,似乎因為VMware建立vmdk預設的大小都是8GB,所以許多Virtual Appliance都是8GB。在這邊我們也參考一下傳統,設成8GB。

2. 來源端使用mergeide.reg

2013-02-11_142222

如果你的Windows 2003是裝在IDE控制器上,那麼第一個步驟就是使用mergeide.reg免空Box.net)。請下載這個檔案,然後在來源虛擬機器中執行(如上圖),調整虛擬機器的登錄檔即可。

mergeide.reg是來自於Alex教學中的一個登錄檔,但是連Alex也不知道原作者是誰。在此我也要感謝這位作者的提供,他的mergeide.reg真的幫了我們很大的忙。

以下是mergeide.reg的檔案內容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\primary_ide_channel]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\secondary_ide_channel]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*pnp0600]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*azt0502]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="atapi"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\gendisk]
"ClassGUID"="{4D36E967-E325-11CE-BFC1-08002BE10318}"
"Service"="disk"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#cc_0101]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_0e11&dev_ae33]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1039&dev_0601]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1039&dev_5513]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1042&dev_1000]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_105a&dev_4d33]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0640]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1095&dev_0646]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1097&dev_0038]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10ad&dev_0001]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10ad&dev_0150]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10b9&dev_5215]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10b9&dev_5219]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10b9&dev_5229]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="pciide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_1106&dev_0571]
"Service"="pciide"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_1222]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_1230]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2411]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2421]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7010]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7111]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7199]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"

;Add driver for Atapi (requires atapi.sys in drivers directory)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi]
"ErrorControl"=dword:00000001
"Group"="SCSI miniport"
"Start"=dword:00000000
"Tag"=dword:00000019
"Type"=dword:00000001
"DisplayName"="Standard IDE/ESDI Hard Disk Controller"
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,61,00,74,00,61,00,70,00,69,00,2e,\
00,73,00,79,00,73,00,00,00

;Add driver for intelide (requires intelide.sys in drivers directory)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IntelIde]
"ErrorControl"=dword:00000001
"Group"="System Bus Extender"
"Start"=dword:00000000
"Tag"=dword:00000004
"Type"=dword:00000001
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6e,00,74,00,65,00,6c,00,69,\
00,64,00,65,00,2e,00,73,00,79,00,73,00,00,00


;Add driver for pciide (requires pciide.sys and pciidex.sys in drivers directory)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PCIIde]
"ErrorControl"=dword:00000001
"Group"="System Bus Extender"
"Start"=dword:00000000
"Tag"=dword:00000003
"Type"=dword:00000001
"ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,70,00,63,00,69,00,69,00,64,00,65,\
00,2e,00,73,00,79,00,73,00,00,00

3. 來源端完全關機

image

接著要把來源端電腦完全關機。不能只是儲存機器狀態喔,必須是完全關機。

4. 目的端建立新的虛擬機器

image

本篇使用的目的端KVM是透過Proxmox VE 1.9來控管,這邊我們先建立一個新的虛擬機器。以下是需要注意的參數:

  • Type: Fullyvirtualized (KVM)
  • Image Format: vmdk
  • DIsk space (GB): 8 (同來源端)
  • Disk type: IDE (同來源端)
  • Memory (MB): 256 (同來源端)
  • Guest Type: Windows 2003

image

設置完成,請注意Proxmox VE自動配給的VMID,在此是158。

5. 來源端vmdk傳送到目的端

2013-02-11_145222

接下來就要把來源端的vmdk硬碟檔案傳送到目的端伺服器上。Proxmox VE在配置KVM虛擬機器時都有規定好的路徑,如果VMID為158,那麼158的虛擬機器硬碟檔案就放在以下路徑:

/var/lib/vz/images/158

請將來源端的vmdk上傳到該路徑底下吧。

6. 目的端替換硬碟

image

當vmdk上傳到目的端的指定路徑之後,我們切換到Hardware這一頁,你會發現剛剛上傳的vmdk已經在下面列表了。

image

接著我們先移除原本的硬碟,按下原本硬碟左邊的紅色向下鍵頭按鈕image,它會跳出DELETE選單。按下去之後,原本的硬碟會從虛擬機器上拔除,但是檔案還是在Proxmox VE裡面喔。

image

然後按下Hardware device list for VM 158左邊的紅色下向箭頭image,點下「Add a hard disk」。

image

Existing Disks選擇剛剛上傳的vmdk,然後按下add按鈕。

image

vmdk插上KVM的虛擬機器囉。

7. 目的端關閉KVM功能

image

切換到Options這一頁,然後在Disable KVM這選項後面打鉤,按下save儲存。(感謝來自neozeed的教學)

2013-02-11_161833

如果沒有做這個選項的話,目的端開機時會遇到「INTERNAL_POWER_ERROR」或其他各種問題的藍色當機畫面。

我找到現在仍不知道開關Disable KVM的意義何在。就連Griffon的Blog也是教說關掉KVM就好,目前也只能照做囉。

8. 目的端開機、檢查是否順利運作

image

回到Status,按下「Start」按鈕。

image

然後再按下Open VNC console,來看看虛擬機器現在的狀況。

image

順利的話,就進入Windows 2003囉。


結語:不要被藍白當機畫面打擊士氣了!

Image 11

這個藍白畫面是我在這次V2V過程中最常看到的景象,實在是非常無奈。我想到頭來還是Windows 2003綁定硬體,導致VirtualBox的IDE控制器轉換到KVM上的時候不合所導致的。出現這種藍白當機畫面,大多都是硬體上的問題。只是在不知道解法的時候總是會很無奈。希望這篇記錄的方法可以幫助大家在做V2V更加順利啊。

(more...)

Windows XP實體機器虛擬化 (P2V) 心得分享

布丁布丁吃布丁

Windows XP實體機器虛擬化 (P2V) 心得分享

image

最近因為家裡需求,我又研究起實體機器虛擬化(Physical-to-Virtual,P2V)。這次把實體機器的Windows XP轉換成了VirtualBox可運作的虛擬機器。在操作中遇到了些問題,最後終於能夠成功地解決。這些過程在此整理成小心得跟大家分享,

小故事:用實體機器虛擬化來保存舊有系統

我媽在工作的時候常常同時使用兩台電腦:一台是工作用的電腦,效能比較好;一台是舊電腦,跑Window XP SP2,Pentium 4、32GB、256 RAM,可是它卻裝著公司多年前購買的重要系統,工作時不得不使用它。她在同時操作這兩台電腦,總是有很多不方便,像是資料交換啦、舊電腦運作速度緩慢啦、必須同時開啟兩台實體機器浪費電啦,而且舊電腦也面臨著硬體大壽將近的難關。

因此,我就用之前我在Blog介紹的Acronis True Image備份檔案轉換成虛擬機器的方法,將我媽的舊電腦轉換成虛擬機器,放在比較快速的工作用電腦來運作。多虧VirtualBox客戶端高度整合化提供的滑鼠指標整合(Mouse pointer integration),操作虛擬化之後的舊電腦不僅比之前透過遠端桌面操作還要方便,而且在工作用電腦中運作速度還比原本的舊電腦要快得多呢。

不過轉換過程並沒有這麼順利,在此記錄我解決這些問題的作法,供他人參考。這一篇算是在補充之前寫的用Acronis True Image來實作實體機器虛擬化(P2V),因此細節作法請搭配著前一篇文來看,其他小問題就是看這一篇囉。

VMware vCenter Converter Standalone轉換時記得搭配sysprep使用

2013-02-10_215327

使用VMware vCenter Converter Standalone轉換Windows XP時,請務必配合Windows XP的大量部屬工具Windows XP Server Pack 2 Deployment Tools使用。下載後請解壓縮到以下路徑,Windows 7以上的路徑為:「C:\ProgramData\VMware\VMware vCenter Converter Standalone\sysprep\xp」,Windows XP的路徑為:「C:\Documents and Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone\sysprep\xp」。

在Windows 2003以前的Windows,它記錄著現在運作電腦的硬體環境,每次開機時都必須與此環境相符,這導致我們無法輕易地將Windows XP從實體機器轉換到虛擬機器運作環境上。使用大量部屬工具可以幫助我們解除這個限制,讓我們更容易把Windows XP放到虛擬機器中執行。

Windows 7似乎就比較沒有這方面的問題,而Linux本來就很容易相容於不同的硬體環境,要從實體機器轉換成虛擬機器更是輕而易舉。

VirtualBox設定注意事項

image

當我們利用VMware vCenter Converter Standalone把tib硬碟備份映像檔轉換成vmdk虛擬機器映像檔之後,我們就可以拿它來當成VirtualBox虛擬機器的硬碟,建立一台新的虛擬機器使用。只是這台虛擬機器嘚的預設參數可能還是無法讓他順利運作,通常還有一些參數配置需要我們去調整。

無法顯示Windows XP讀取畫面→啟用 IO APIC

image

Input Output APIC (IO APIC)是藉由使用超過16個中斷呼叫的功能而提高系統的運作效率,儘管VirtualBox提示說它可能會降低系統效能,但也有人說感覺不出來效能差異

image

一開始我在BIOS結束後,應該要顯示Windows XP讀取畫面時,它連畫面都跳不出來。後來我開啟這個選項後,它終於能夠順利進入Windows XP開機畫面。

image

終於順利讀取。

Windows XP讀取中進入藍白畫面:檢查硬碟設定是否為IDE

image

有時候建立VirtualBox虛擬機器時,它會自動把硬碟的控制器設為SATA。可是你要看原本實體機器裝在Windows XP的硬碟是那一類型,再來選擇對應的控制器。以舊電腦來說通常都是IDE控制器。這一選錯就是會不斷進入藍白當機畫面,請務必注意。

Windows XP讀取中還是進入藍白畫面:修改硬碟讀取類型為ICH6

image

我在上述檢查中確認是用IDE控制器無誤,但還是開機時進入藍白畫面當機。後來我才發現原來還要改IDE控制器的類型。VirtualBox預設選用PIIX4,VMware好像也是,但是我改成ICH6之後,Windows XP終於不會卡在藍白當機畫面,而能夠順利進入Windows作業系統。

因此我發現到,如果要做實體機器虛擬化的話,通常控制器的設定才是問題的關鍵吧。

如果還是不行?VirtualBox還有很多可以調整的地方

image

VIrtualBox有趣的地方就是可以設定的參數非常多,我自己也不是很清楚所有選項的意義何在。如果你在做實體機器虛擬化時遇到無法開啟的問題,不妨先檢查這些參數是否與實體機器環境相合,可能就是解決問題的關鍵。

然而令人擔心的是,比起VirtualBox,KVM似乎就沒有這麼多參數可以設定了。因此從實體機器轉換到KVM虛擬化的時候,可能還會遇到很多難關吧。

結語:實體機器虛擬化的價值

數位典藏的術語中,實體機器虛擬化(P2V)是屬於主要策略中的「模擬」(Emulation)保存方法。一方面既能將舊電腦中的完整系統做一個備份,另一方面又能夠讓舊系統再次提供服務。所以P2V其實不只是資管技術專業之一,其實他也是圖書資訊學領域會需要的技術喔!大家一起來研究虛擬機器吧!

(more...)

用Acronis True Image來實作實體機器虛擬化(P2V)

用Acronis True Image來實作實體機器虛擬化(P2V)

image

繼上一篇介紹了使用EaseUS Todo Backup 4.0.0.2來實作P2V,這次要介紹的是另一種作法:用Acronis True Image來備份硬碟映像檔,再用VMware vCenter Converter Standalone來轉換成虛擬機器的作法。


關於P2V跟背景知識

由於前一篇我已經介紹了一些關於P2V的資料,包括使用VirtualBox在電腦架設虛擬機器環境,所以這一篇很多細節就不再贅述了。

使用工具

這次用的工具不太一樣,各別是硬碟映像檔備份工具Acronis True Image以及虛擬機器轉換工具VMware vCenter Converter Standalone。

Acronis True Image的免費版本

image

在許多硬碟映像檔備份工具中,Acronis True Image算是相當知名的主要大廠,目前最新的版本已經出到了True Image 2013,而且也有許多企業用、虛擬機器用的各種版本。

雖然Acronis True Image本身是要錢的,不過如果你電腦的硬碟是Seagate(或早期的Maxtor)或是WD,你就可以使用免費的OEM版本。Acronis True Image與Seagate、Maxtor(後來被Seagate併購)合作推出了免費隨機版本的備份工具,叫做Seagate DiscWizard,它限制只有Seagate的硬碟才能使用。另一邊的WD牌硬碟也一樣有Acronis True Image WD Edition可以使用,詳細請看T客邦的介紹

VMware vCenter Converter Standalone

image

在網路上搜尋P2V相關的文章,大部分的人都會使用這個VMware推出的強大工具VMware vCenter Converter Standalone。而且最令人訝異的是,只要免費註冊帳號登入之後,就能夠免費下載!如果要整合其他系統與自動化功能,那就得付費購買其他版本囉。

我之前也用過VMware vCenter Converter Standalone來練習P2V,使用遠端連線的方式來為Linux實作Hot Cloning,但很遺憾的是並不順利。

最近發現到原來VMware vCenter Converter Standalone還能夠將Acronis True Image的備份檔案tib轉換成VMware虛擬機器,又讓我重拾對他的興趣了。

Windows XP Server Pack 2 Deployment Tools

Ashampoo_Snap_2013.01.07_02h05m50s_007_Download Windows XP SP2 Deployment Tools for Advanced Users from Official Microsoft Download Center - Google Chrome

由於這次我要備份的是Windows XP,在VMware vCenter Converter Standalone轉換成虛擬機器的過程中會需要Windows XP Server Pack 2 Deployment Tools。

你可以在微軟的網站上免費下載:

但是要注意的是,你必須是WIndows正版使用者才能下載。網站會在你下載時要求先做驗證。

下載WindowsXP-KB838080-SP2-DeployTools-CHT.cab檔案之後,解壓縮,並擺到vCenter Converter引用該工具的目錄「C:\ProgramData\VMware\VMware vCenter Converter Standalone\sysprep\xp」底下即可。

我使用的是Windows 7所以檔案要位於這種路徑,我猜可能用Windows XP時又會不一樣的路徑。稍後我會講到何時出現需要Windows XP Server Pack 2 Deployment Tools與指定路徑,如果你看到那個警告的話,表示你路徑必須更換了。


P2V實作

我們這次用Acronis True Image(以下簡稱True Image)來實作P2V的方法跟上次很像,一樣要經過兩步驟:

  1. 將實體電腦備份成硬碟映像檔
  2. 將硬碟映像檔轉換成虛擬機器
用True Image來備份實體電腦

因為True Image已經是相當知名的產品,許多網站上都有介紹如何使用True Image來備份,例如T客邦的「免費!重量級硬碟備份工具Acronis True Image」,請參考這些網頁介紹來備份你的電腦吧。

image

不管你怎麼用True Image備份的,我們最後就是要一個附檔名為.tib的檔案,並依此作為轉換虛擬機器的基礎。

用VMware vCenter Converter Standalone轉換虛擬機器

Ashampoo_Snap_2013.01.07_02h00m02s_001_VMware vCenter Converter Standalone

VMware vCenter Converter Standalone(以下簡稱vCenter Converter)的主畫面如上。他的功能很多,但並沒有類似精靈的引導功能,一開始開啟的時候你可能會感到有點不知所措。

沒關係,一切都從左上角的「Convert machine」開始吧。這會開啟一個Conversion引導畫面,並一步一步地指引你各種操作。但是裡面的選項非常多而且複雜,請照以下指示操作:

Source System:選擇資料來源

Ashampoo_Snap_2013.01.07_02h00m29s_002_Conversion

這邊要設定你要轉換的硬碟映像檔,主要要動到的選項有兩個:

  • Select sourece type: Backup image or third-party virtual machine
  • Virtual machine file: 請選擇你剛剛備份的True Image硬碟映像檔
    Ashampoo_Snap_2013.01.07_02h00m57s_003_Conversion

Ashampoo_Snap_2013.01.07_02h01m17s_004_Machine Details for OUTTY

選擇硬碟映像檔之後,你可以會看到這個硬碟映像檔的細節,如上圖。你可以看到這是一個Windows XP 32 bit的系統,大小為18.4GB。

Destination System:選擇目標虛擬機器

Ashampoo_Snap_2013.01.07_02h01m57s_005_Conversion

在這邊我們要設定將硬碟映像檔轉換成VMware虛擬機器的格式。

  • Select destination type: VMware Workstation or other VMware virtual machine
  • Select VMware product: VMware Workstation 8.0.x
  • Virtual machine details裡面的Name: 你可以自定虛擬機器的名稱,在此用檔名outty_D10_backup_20110510
  • Select a location for the virtual machine: 設定虛擬機器資料的儲存位置
Options:轉換選項

Ashampoo_Snap_2013.01.07_02h03m29s_006_Conversion

如果你在這步驟中看到畫面上有個黃色警告:

Warning: Unable to locate the required Sysprep files. Upload them under ‘C:\ProgramData\VMware\VMware vCenter Converter Standalone\sysprep\xp’ on the vCenter Converter server machine, See ‘Help’ for more details.

這表示你需要下載Windows XP Server Pack 2 Deployment Tools,並把它解壓縮之後擺到vCenter Converter指示的目錄「C:\ProgramData\VMware\VMware vCenter Converter Standalone\sysprep\xp」底下。

Ashampoo_Snap_2013.01.07_02h27m10s_020_Conversion

如果你配置Windows XP Server Pack 2 Deployment Tools正確的話,Options步驟就不會顯示任何警告,如上圖。

這一步沒有特別需要變更的地方,按「Next >」進入下一步吧。

Summary:轉換摘要

確認無誤之後,就開始轉換吧。

Ashampoo_Snap_2013.01.07_02h28m54s_021_VMware vCenter Converter Standalone

轉換速度非常快,大概也是15分鐘左右就能把18GB的硬碟映像檔轉換成虛擬機器。

Ashampoo_Snap_2013.01.07_02h24m36s_016_outty-D10-backup-20110510

你可以看到裡面有個vmdk虛擬硬碟映像檔以及vmx設定檔,你可以用這兩個檔案來架設虛擬機器。

用VirtualBox建立虛擬機器與失敗案例

Ashampoo_Snap_2013.01.07_02h26m14s_019_test -執行中- - Oracle VM VirtualBox

第一次我用VirtualBox新增機器時是直接把vmdk虛擬硬碟映像檔掛載到SATA控制器去,結果開機時虛擬機器就出現藍色畫面。

這是因為我的實體機器用Ture Image備份時,那顆硬碟是以IDE控制器連線,而不是SATA。而且老舊的Windows XP對硬體變更的適應能力有夠差,常常因為其中一個硬體元件有差異,就會讓整個系統無法啟動。

Ashampoo_Snap_2013.01.07_02h32m14s_022_test - 設定值

接著我把硬碟掛載到IDE控制器底下,這樣就能順利運作了。

Ashampoo_Snap_2013.01.07_02h34m40s_024_test -執行中- - Oracle VM VirtualBox

這是我在2011年備份的電腦,有點懷念的感覺。


結語:手續更麻煩、但是更確實

雖然標題是講說用Acronis True Image,但是本篇講VMware vCenter Converter Standalone卻比較多,請大家不要介意XD

EaseUS Todo Backup比起來,這個方案顯然是比較麻煩,手續更為繁雜。但是因為原本我就是以True Image作為主要的備份工具,二來VMware vCenter Converter Standalone的強大讓我可以對虛擬機器做不少微調,方便之後的匯入,所以這個方案對我來說反而是比較適合的。

可惜的是Acronis True Image並不完全能算免費版,這可能是這個方法最大的阻礙吧。

(more...)