需要的鏡像和工具:
(1)系統:中标麒麟7.4 (國産作業系統,類似于CentOS)
(2)虛拟機軟體:VMware Workstation 12版本/VirtualBox (windows版本,MAC版本的沒有測試)
(3)vmdk轉vhd格式轉換工具:winima90.exe,也可以使用阿裡雲 qemu-img 工具,也可以使用 DiskGenius軟體 或參考 DiskGenius格式轉換
(4)開通阿裡雲對象存儲oss,建立存儲空間(Bucket名字)。
由于建立 VMware 虛拟機生成的主體檔案是 vmdk 字尾格式的,阿裡雲 ECS 隻支援導入RAW、VHD和qcow2格式的鏡像檔案。其他鏡像檔案,需要轉換格式後再導入。
qemu-img能将RAW、qcow2、VMDK、VDI、VHD(vpc)、VHDX、qcow1或QED格式的鏡像轉換成VHD格式,也可以實作RAW和VHD格式的互相轉換。
winima90.exe 是安裝在 windows 系統上的軟體,體積小易安裝,支援多種格式轉換,本次測試使用它來進行虛拟機鏡像檔案的轉換工具。
主要步驟如下:
打開 VMware Workstation 軟體,建立一個虛拟機,配置設定動态磁盤空間為 40G ,如下圖所示:
說明⚠️:
一般來說平常使用 VMware 建立虛拟機,有兩種建構磁盤檔案的方式(如上圖所示):
第一種:使用單個檔案存儲虛拟磁盤;
第二種:多個檔案存儲虛拟磁盤。
其中第二種方式将虛拟磁盤拆分為多個檔案,可以更輕松地在計算機之間移動虛拟機,但可能會降低大容量磁盤的性能。第一種方式将虛拟磁盤存儲為單個檔案,雖然提高了磁盤的讀寫性能,但是對于對于大檔案的移動和存儲是一個問題。就該問題本文對于這兩種方式之間的轉換做了一個總結,并使用具體例子,詳解了如何通過VMware自帶的磁盤管理工具,來對虛拟磁盤檔案進行分割與合并。
本次測試選擇多個檔案存儲虛拟磁盤。
中标麒麟作業系統安裝與CentOS是一樣的,除了 LOGO 不一樣,囧~
詳細系統分區情況如下:
這裡建立的虛拟機相當于一個模版,當它被制作成自定義鏡像,在阿裡雲執行個體上啟動後,登入啟動的執行個體,你會發現系統分區的大小就是上面你所定義的大小。換句話說,你需要系統盤多大,最好在建立虛拟機時就定義多大。
最好不要挂載資料盤,資料盤可以後期建立阿裡雲 ECS 執行個體時挂載或建立阿裡雲 ECS 執行個體後挂載,均是可以的。
根據上面的兩個步驟,我們完成了麒麟作業系統的安裝與部署,現在關閉部署好的麒麟虛拟機。這個步驟我們需要了解兩點:
虛拟磁盤管理工具使用:vmware-vdiskmanager
多個虛拟磁盤檔案合并為單個檔案
下面我們一步一步操作,具體步驟如下:
(1)vmware-vdiskmanager
VMware提供了虛拟磁盤管理工具vmware-vdiskmanager。使用指令行可以管理虛拟磁盤檔案,包括磁盤的。它有許多功能,使用指令vmware-vdiskmanager.exe -h可以檢視它所有的功能(如下圖):
<code>vmware-vdiskmanager.exe</code> 路徑預設在 VMware Workstation 虛拟機安裝路徑目錄下。
<code>-r</code> 參數指定源磁盤檔案;<code>-t</code> 參數指定輸出虛拟磁盤檔案的類型,其值為以下類型之一:
<code>0</code>:建立一個包含在單一虛拟檔案中的可增長虛拟磁盤
<code>1</code>:建立一個被分割為每個檔案2GB大小的可增長虛拟磁盤
<code>2</code>:建立一個包含在單一虛拟檔案中的預配置設定虛拟磁盤
<code>3</code>:建立一個被分割為每個檔案2GB大小的預配置設定虛拟磁盤
(2)多檔案的合并
如圖所示,将圖中名為Windows Server 2003 Enterprise Edition.vmdk的檔案以及名為Windows Server 2003 Enterprise Edition-sXXX.vmdk的檔案合并為一個名為Merged.vmdk的檔案。
打開指令行界面并切換到VMware Workstation目錄,輸入指令:
<code>vmware-vdiskmanager.exe -r "D:\Virtual Machines\Windows Server 2003 Enterprise Edition.vmdk" -t 0 "D:\Virtual Machines\Merged.vmdk"</code>
指令的格式是:<code>vmware-vdiskmanager.exe -r [源檔案] -t 0 [目标檔案]</code>
其中[源檔案]是待轉換的檔案;[目标檔案]是轉換後生成的檔案(此檔案在系統中是不存在的,隻有轉換後才存在。是以需要自己為其命名,字尾名為.vmdk);-t後的參數是0表示将源檔案合并為一個目标檔案。
多檔案合并為單檔案過程如下:
安裝winimage支援各種格式互相轉換,如下:
選擇源,注意紅色箭頭,選擇vmdk
最後再選擇儲存位置即可得到一個vhd的磁盤檔案。
這一步我們也可以使用阿裡雲提供的 qemu-img 工具
(1)開通OSS服務
(2)建立存儲空間
(3)上傳檔案
說明⚠️:關于上傳檔案,我這裡說明下,如果待上傳檔案大小 5G ,可以通過OSS控制台直接上傳。反之,需要使用分片上傳和斷點續傳 ossutil 工具。
上面我們生成的 vhd 檔案大小是 40G ,是以使用阿裡雲ossutil工具進行檔案的上傳工作,MAC電腦下操作指令舉例如下:
<code>./ossutilmac64 cp /Users/wtf/Documents/作業系統ISO/zhongbiaoqolin7.4.vhd oss://datagrand-iso/iso-qilin</code>
指令格式:<code>./ossutilmac64 cp a.txt oss://bucket/path</code>
關于阿裡雲ossutil常用指令的使用詳見 指令行工具ossutil概述。
(1)登入ECS管理控制台。
(2)在左側導航欄,單擊鏡像 > 導入鏡像。
在導入鏡像對話框裡,單擊提示資訊第3步中的确認位址。否則會報權限錯誤~
OSS Object位址,可以在OSS管理控制台中,找到你建立的Bucket空間名字,點選該空間中檔案後的詳情,複制裡面的URL即可。
系統平台選擇 CentOS(因為本文使用的是中标麒麟7.4系統),當然你也可以選擇 Other Linux,但是需要做一定的配置工作。更多的系統平台類型,詳見阿裡雲導入鏡像必讀。
鏡像格式本次選擇VHD
(3)點選“确定”,等待完成就行。
根據上面的步驟,我們已經建立好所需的自定義鏡像,當我們建立執行個體選擇鏡像 --> 自定義鏡像 --> 中标麒麟-7.4(上面制作的)即可。
說明⚠️:建立的執行個體要和自定義的鏡像都在同一個區域,如華北2(北京)。
(1)VMware虛拟機虛拟磁盤的分割與合并
(2)Vmware(vmdk)虛拟機到hyperv(vhd)虛拟機轉換
(3)HOW TO MERGE MULTIPLE VMDK’S INTO SINGLE VMDK