Linked Clone這個功能是VMware View通過Composer技術批量生成存儲輕量級虛擬機的手段,那麼,有沒有可能在沒有View Composer支持的情況下,通過LinkedClone類似的方式實現存儲輕量級虛擬機呢?答案是顯而易見的,可以,不過這個實現方式,需要Snapshot支持,而實際上View Composer採用的也是快照啦,通過一個ParentVM生成一個Replicate VM,然後在這個只讀的ReplicateVM基礎上,大量生成想要的虛擬機。如何實現?
1、首先ParentVM是必須的,因此,我們需要先創建一個Parent VM並且將其磁盤模式選爲ThinProvisioning(存儲輕量級的意思在這裏我們定義爲省空間);
2、爲它命名,這個名字嘛,自己定,不過,由於它是一個模板機,因此,命名時最好規劃好;
3、按照常規流程安裝好這臺虛擬機,然後爲它安裝好VMwareTools,如果需要實現Customization,則還應該運行一下Sysprep程序,之後,關掉它;
4、關掉之後,通過vSphereClient打開虛擬機的Snapshot Manager或者命令行,創建一個快照,類似下圖所示:
5、點擊ESXi主機 -> Configuration -> Storage,右擊Datastore-> Browse Datastore,打開這臺Parent VM的目錄,本例中的“don_touch”,拷貝*.vmx和*-000001.vmdk文件;
6、把這兩個拷貝的文件下載到方便編輯的位置,例如,我們自己的本子:
7、然後,用文本編輯器打開*-000001.vmdk文件,類似如下內容:
- # Disk
- DescriptorFile version=1
- encoding="UTF-8"
- CID=fa3d08b7
- parentCID=fa3d08b7
- createType="vmfsSparse"
- parentFileNameHint="dont_touch.vmdk"
- # Extent description RW25165824 VMFSSPARSE "dont_touch-000001-delta.vmdk"
- # The Disk Data Base
- #DDB ddb.longContentID= "9b8da3d63cda1e5dbea7c0f4fa3d08b7"
複製代碼
8、把其中的parentFileNameHint這個字段的內容由相對路徑改爲絕對路徑,類似如下:
- # Disk
- DescriptorFile version=1
- encoding="UTF-8"
- CID=fa3d08b7
- parentCID=fa3d08b7
- createType="vmfsSparse"
- parentFileNameHint="/vmfs/volumes/4ba3aca0-eca4fd60-312d-f4ce46af50b6/dont_touch/dont_touch.vmdk"
- # Extent description RW25165824 VMFSSPARSE "dont_touch-000001-delta.vmdk"
- # The Disk Data Base
- #DDB ddb.longContentID= "9b8da3d63cda1e5dbea7c0f4fa3d08b7"
複製代碼
9、爲即將新創建選用Linked Clone模式生成的虛擬機修改vmx文件,在裏面添加如下內容:
- sched.swap.derivedName ="/vmfs/volumes/4ba3aca0-eca4fd60-312d-f4ce46af50b6/dont_touch/dont_touch-aafe8f9c.vswp"
複製代碼
10、創建多個vmx文件,修改diaplayName=xxxx,改爲自定義的新的VMs的名字,例如下圖所示:
11、然後,在ESXi上創建若干新的Folder,把前面拷貝的文件上傳上去:
12、打開目錄後,把前面所修改好的vmx文件和vmdk文件,上傳到指定的文件夾目錄即可,如下圖所示:
13、然後右擊虛擬機目錄下的*.vmx文件,點擊Add To Inventory,系統會提示如下圖所示,選擇I_copiedit即可:
14、最後就是馬照跑舞照跳囉。