差異式虛擬硬碟概念
前言
現在電腦網路時代進入了虛擬化的世界,伺服器虛擬化、網路設備虛擬化…讓我們不得不去習慣虛擬化的世界。講一個概念,要記得虛擬化基本上必須要有實體的硬體存在,並不是憑空想像就會有東西出現的。先認識以下兩個名詞:
虛擬硬碟 Virtual Hard Disk
今天來聊一聊虛擬硬碟。虛擬硬碟種類有三種:
- 固定大小:會在實際硬碟直接佔空間大小。
- 動態擴充:資料存入硬碟後,才真的去佔硬碟空間。
- 差異式虛擬硬碟:拿別人的(父系)硬碟當成自己的硬碟用,將有差異之部分,寫入自己的硬碟中。
今天講的重點在”差異式虛擬硬碟”的做法與狀況。
我們直接先來做出一個”動態擴充”的虛擬硬碟,並放入兩個檔案進去。此虛擬硬碟,要當成”父系硬碟”,來給”差異式虛擬硬碟使用”。
- 開啟”磁碟管理” ➔ 選”動作” ➔ ”建立 VHD”,如下圖:
- 將位置設在 c:\temp\D1.vhdx,虛擬硬碟大小為4GB,虛擬硬碟格式為 VHDX,虛擬硬碟類型選”動態擴充”,如下圖:
- 接著就可以到 c:\temp\ 看到多出一個虛擬硬碟檔案,名稱為 D1.vhdx,如下圖:
- 然後,在”磁碟管理”工具,將此虛擬硬碟做”初始化磁碟”,做成簡單磁碟區,格式化成 NTF格式,並給磁碟區代號為 D:
- 開檔案總管,在 D:\ 建兩個檔案(File1.txt, File2.txt)
- 接著在”磁碟管理”工具中,中斷此虛擬硬碟連結。
- 將此虛擬硬碟檔 c:\temp\D1.vhdx,設定為”唯讀”。
做完以上的父系硬碟,接著要做出”差異”式虛擬硬碟,要做這種差異式硬碟的方法必須得使用”Hyper-V 管理員” 工具。
- 開啟”Hyper-V 管理員” ➔ 選到”動作” ➔ ”新增” ➔ ”硬碟”。如下圖:
- 點選 “VHDX”,選”下一步”。再點選”差異”,選”下一步”。如下圖:
- 指定差異式硬碟之檔案名稱,例如: c:\temp\D2.vhdx
- 指定父系虛擬硬碟的名稱。例如: c:\temp\D1.vhdx
- 完成
- 在 c:\temp\ 就出現一顆名稱為 D2.vhdx 的”差異式硬碟”了!!
這 D2.vhdx差異式硬碟,就是拿 D1.vhdx 當成父系硬碟,所以開啟”磁碟管理”將 c:\temp\D2.vhdx直接掛載到電腦中。如下圖:
差異式硬碟(D2.vhdx),掛入電腦中,當成 D:\ 磁碟。
開啟”檔案總管”,找到 D:\ 就會看到有兩個檔案(File1.txt, File2.txt)存在。這兩個檔案就是在父系硬碟中的檔案。
接下來,我們對 D:\ 做任何增加檔案、修改檔案、刪除檔案的動作等等,所有之行為一律會記錄在 D2.vhdx 中,對父系硬碟(D1.vhdx)完全不會有任何影響。 值得注意提醒的是:只要”父系硬碟”資料受到任何修改,那麼指向它的”差異式硬碟”會一律掛掉,抓不出資料。所以當成父系的虛擬硬碟檔,才需要設定成”唯讀”,以防止資料受到修改。
結語
“差異式虛擬硬碟” 是一個相當棒的概念,它可以用在快速佈建虛擬機器。先建一台虛擬機器,並安裝好作業系統在一顆虛擬硬碟中,再執行 system prepare將唯一資訊(例如:SID)抽掉,然後將它當成父系硬碟(設定成”唯讀”),那麼再佈建出其他虛擬機器,將硬碟做成”差異式硬碟”,指向這個”父系硬碟”,就等同該台虛擬機器已經安裝好作業系統了!在其他方面,像是虛擬機器的檢查點(快照),也是利用”差異式硬碟”的技術來完成的。另外像是容器(Container)的Container Layer(沙箱層),也是類似使用”差異式硬碟”的概念來形成的喔!
0 意見:
張貼留言