VirtualBox是常用的虛擬機管理軟件,和VMware一樣,用的很多。在使用過程中,有的時候需要對虛擬機進行遷移。比如我們原來的服務器,使用的win10操作系統,上面利用VirtualBox安裝了多個虛機作為服務器,tomcat服務器,virtuoso數據庫服務器,mysql服務器等,由於win10物理機出現了問題,需要將虛機遷出,所以嘗試着將虛機遷移到另一台win2008的系統中。
VirtualBox保存虛機數據的是vdi文件,簡單來說就是拷貝vdi文件,然后在新的物理機上,安裝VirtualBox打開這個vdi文件。具體步驟如下。
1 獲取vdi文件
每個虛機都對應一個或多個vdi文件,在VirtualBox中的全局設置,可以查看虛機vdi文件的存放目錄,每個虛機的數據都保存在以虛機名稱為文件夾里面。在這個虛機根目錄可以看到vdi文件,這個vdi文件可以看作虛機的基礎數據。如果虛擬保存了快照(備份),還有一個snapshot目錄,里面保存的是虛機快照。快照的vdi可以看作是虛機的狀態信息,基礎數據和狀態信息加在一起是虛機的所有數據,一般我們可以關閉虛機,然后再刪除快照,這樣就剩下根目錄的vdi,也就是虛機的vdi數據,這個vdi就是我們要的vdi。
2 克隆vdi數據
如果直接拷貝vdi數據,在新的VirtualBox中不能打開,因為每個vdi文件都包含了一個uuid的數據,如果直接拷貝,uuid在新的VirtualBox中是不能用的,所以會打開失敗,我們需要給在原來vdi的基礎上,生成新的vdi數據,包含新的uuid,可以在VirtualBox中打開。這個包含新uuid的vdi數據可以通過VirtualBox命令生成。
此處用了克隆的方法,也可以直接拷貝過去,然后再通過VirtualBox命令處理。克隆的方法,進入cmd命令行,然后進入VirtualBox的安裝目錄,比如VitualBox的安裝目錄是C:\Program Files\Oracle\VirtualBox,原有vdi文件在d盤,生成新的vdi放到e盤。命令為C:\Program Files\Oracle\VirtualBox>vboxmanage.exe clonehd "d:\xxx.vdi" "e:\xxx.vdi"。回車之后出現0%...,需要點時間才能生成vdi文件,10多G的數據可能要10來分鍾時間。執行完成后會出現0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%類似的信息。這樣克隆vdi數據文件的工作完成了。
3 利用vdi數據創建虛機
在新的VirtualBox中創建新的虛機,給虛機起個名字,選擇操作系統。點擊下一步,使用已有vdi文件創建虛機,選擇剛生成的vdi文件創建。
這樣虛機的遷移任務就完成了。