本文介紹在VMware vSphere虛擬化架構環境內,有哪一些技法可以協助複製所需要的虛擬機器,以及在這些可以因應不同需求情境而採取的眾多技法當中,是否真有一秒就能夠完成虛擬機器複製的不傳秘訣。
有了父虛擬機器啟用了即時複製功能之後,就能夠如圖38所示依序執行以下三道命令參數,來分別瞬間產生Web01Child-01、Web01Child-02以及Web01Child-03三個子虛擬機器:
完成複製子虛擬機器後,首先必須注意的是,只有在所有子虛擬機器關閉電源的狀態下,父虛擬機器才能夠進行所有的功能操作。
此外,對於已經有建立子虛擬機器的父虛擬機器來說,以下的功能操作不建議執行:
‧ 虛擬機器線上移轉、儲存位置線上移轉、虛擬機器與儲存位置的移動。因為這些動作將會導致父與子的虛擬機器分開在不同的ESXi主機上,因而無法繼續正常運作。
‧ 刪除虛擬機器。因為此動作將會導致所有子虛擬機器變成孤兒(Orphaned)狀態。
‧ 取消註冊。此動作同樣會導致子虛擬機器變成孤兒,不過仍可以透過重新註冊設定,來恢復正常運作。
如圖39所示,回到vSphere Web Client介面中,便會看到剛剛所建立的子虛擬機器,而這裡的每一個子虛擬機器都可以進行關閉電源、開啟電源以及重新啟動的動作。
|
▲圖39 存取子虛擬機器。 |
若想要刪除某一個子虛擬機器,則該子虛擬機器必須處於電源關閉的狀態。此外,也可以取消此虛擬機器的註冊。在編輯虛擬機器設定部分,目前僅允許進行虛擬磁碟的新增,其他設定的異動,將可能在未來的新版本中支援。
當有建立多個父虛擬機器與子虛擬機器時,如果想要知道某一個父虛擬機器究竟有哪一些相對應的子虛擬機器,只要如圖40所示進行查詢即可。
|
▲圖40 取得所有子虛擬機器清單。 |
在此假設父虛擬機器的名稱為Web01,這時候只要執行「Get-InstantCloneVM "Web01" | Get-InstantCloneVM」命令,即可列出Web01旗下所有的子虛擬機器。而這樣的命令參數和執行「Get-InstantCloneVM -ParentVM "Web01"」命令參數結果是一樣的。
上述所建立的父與子虛擬機器,當以vSphere Client來同時開啟兩個主控台的視窗時,將會發現無論在子虛擬機器中執行甚麼樣的操作,父虛擬機器都會跟著變動,而將子虛擬機器重新啟動之後,剛剛所建立的各種異動全部又恢復了原狀。
這樣的結果對於一些需要部署在公用區域的虛擬機器桌面來說,是相當理想的做法,因為只要重新啟動子虛擬機器,Guest OS的桌面就會恢復原狀。
但如果是運用在一般用戶的虛擬桌面或伺服器系統,肯定就無法接受這樣的結果,因為在這種情境之下需要的是可永久變更的子虛擬機器。
想要建立可永久變更的子虛擬機器,方法很簡單,只要搭配Persistent參數使用即可,不過必須在父虛擬機器啟用即時複製功能之前,先建立好一份虛擬機器的快照才行,否則一旦直接執行以下命令來搭配Persistent參數,將會立即出現如圖41所示的錯誤訊息:
|
▲圖41 嘗試建立可永久異動之虛擬機器時出現錯誤訊息。 |
只要確認了父虛擬機器已預先建立好快照,在執行前面的相同命令參數後,便可以在結果的「InstantCloneChildType」欄位中看到「persistent」的欄位值,如圖42所示。
這時候若再一次嘗試變更子虛擬機器桌面任何的設定,例如新增∕刪除∕修改檔案或是變更桌面背景圖案,那麼在重新啟動Guest OS後,便會發現剛剛所有的異動已不再恢復原狀。
|
▲圖42 成功建立可永久異動之虛擬機器。 |
結語
針對本文最後所介紹的一秒複製虛擬機器之延伸模組功能,若有實際使用過,肯定會發現它真的很好用,雖然只能夠在相同的ESXi主機上建立子副本來運行,但無論是想要快速建立多個虛擬機器來做為不同IT應用需求的用途,還是要用來開放給公用電腦的臨時來賓使用,皆是相當便利的。而且,對於IT單位來說,所造成的管理負擔也非常小。
不過,筆者認為由於它目前僅能夠透過PowerShell的命令進行管理,因此在親和度的需求上仍有所欠缺,如果能夠進一步發展整合於vSphere Web Client的圖形介面內,相信無論在啟用與建立即時副本的操作上,還是監視每一個父與子的虛擬機器相依關係,以及它們各自的運作狀態,肯定可以大幅度增加此產品的商業價值,更能夠為全球更多的vSphere管理人員造福。
<本文作者:顧武雄, Microsoft MVP、MCITP與MCTS認證專家、台灣微軟Technet、TechDays、Webcast、MVA特約資深顧問講師、VMware vExpert、IBM Unified Communications/Notes/Domino/Connections Certified。>