虛擬化是一個伺服系統非常重要的技術,「虛擬化」技術解決實體機常見的問題
舉例來說:硬體故障,一般遇到硬體故障,如果你有備用機做Cluster那就還好,如果是單一主機,那就必須停擺維修,你可能會說,儘快準備一台備用機不就好了,原則是這樣沒錯,但是備用機如果硬體規格不同,那麼把HD換上新電腦就不一定能正常開啟,可能要處理一推驅動程式問題,最後可能還是要重灌系統。重灌一整個服務可不是那麼容易的。
那麼虛擬化能解決哪些問題?我覺得最大的幫助是,虛擬機器把整個「服務系統」變成「檔案格式」,你只要把這個檔案複製到任何一台電腦,就可以重啟這個服務,換一個方式來說呢,假設未來人類可以抽取靈魂,那麼就像是把靈魂抽取出來存在隨身碟,然後在市場上找一個合適的無主身體,插入USB開機,你就在新身體上復活了。
而虛擬機器也是相同道理,虛擬機器是安裝在作業系統之上,所以硬體問題影響的是你本機(Host)的問題,而我們安裝一台新機器驅動程式與虛擬機(Guest)上的作業系統無關
傳統系統架構 虛擬化系統架構
以上圖而言,可以了解機器虛擬化後,與虛擬機器是否啟動主要就是虛擬化軟體了,在任何一台規格符合的電腦中,安裝好虛擬化軟體,就可以啟動原有的服務。
簡單的說筆者所歸納的虛擬化優點
1. 虛擬機器脫離硬體,與機器規格無關
2. 虛擬機器更加容易部署:只須複製虛擬機器的封裝檔案到新的機器上,即可在任意電腦上復活服務
3. 虛擬機更加容易備份:只須複製檔案或者製作快照即可備份系統
4. 虛擬機可以區隔不同服務的軟體衝突:如果你有兩個服務,一個使用.net 4,一個是.net core,那可以透過VM區隔,互不影響。
5. 虛擬機可以節省資源:原本需要兩台伺服機,現在可以安裝在同一台中,多個服務之間不太可能同時高覆載,最佳化資源利用。
那麼我們要如何建立虛擬機呢?這部份網路很多文章可以參考,本文著重在如何將一台現有的實體機器虛擬化成一台虛擬機,也就是P2V(Physical to Virtual)
一、disk2vhd備份工具
二、VirutalBox轉換
一、disk2vhd備份工具
Disk2vhd是微軟的備份工具,可以從微軟官網下載:https://docs.microsoft.com/en-us/sysinternals/downloads/disk2vhd
程式非常簡單,下載後解壓縮
執行disk2vhd64.exe,就會開啟視窗,選擇要備份的硬碟,記得右上三個選項全部打勾,然後選擇要備份的檔案名稱,本例選擇E:\EC2AMAZ-O7LFMMB.vhdx,注意空間一定要夠大才行。
備份時間看電腦的效能,一般至少1-2小時以上,備份完成後,就會得到一個vhdx檔案。
vhdx是微軟的虛擬硬碟格式,目前常見的虛擬化管理軟體包括微軟的Hyper-V、VMWare、甲骨文的VirtualBox,由於VirtualBox是完全免費,且支援Windows、Linux、MacOS等平台,因此在非專業領域是最多人使用,其效能評估雖是三者中最差,但三者的性能差異非常小。筆者也是使用VirtualBox,使用上非常方便。
關於VirtualBox安裝,可參考以下步驟
1.請先自行安裝統VirtualBox主程式及延伸工具組(extension pack)
網址:https://www.virtualbox.org/wiki/Downloads
2. 先安裝系統後,在安裝延伸工具包即可。
二、Vhdx轉換及新增主機
使用指令Virtual指令,將vhdx檔案轉換成VirtualBox的vdi檔案,先進入CMD模式,進入VirtualBox資料夾,一般在C:\Program Files\Oracle\VirtualBox下,執行以下命令:
VboxManage.exe clonehd "原始VHDX檔案絕對路徑.vhdx" "轉換後的vdi檔案路徑.vdi" –format vdi
轉換完畢後,啟動Vbox,建立一台新主機,名稱暫時我們稱為Server好了
記憶體等相關設定請依照自己電腦的資源分配即可,但是此時不要新增硬碟
完成設定好後,會建立一個與虛擬機器名稱一模一樣的資料夾,可以在VBox裡找到VM按右鍵/在檔案總管中顯示,就可以找到該資料夾
我們把vdi檔案移動到該資料夾中。
不過這時如果直接選擇加入vdi,會出現UUID重複的問題,原因是之前vhdx轉換成vdi時就已經被Vbox紀錄在案,所以移動過去時就會有UUID重複的問題。
解決方法很簡單,進入媒體管理,把原本的VDI檔案「移除」掉即可,此時因為位置移動過了,所以會呈現警告的狀態
最後開啟該VM設定,點選加入硬碟,選擇資料夾內的vdi檔案即可