天天看點

使用VMware虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

需要的鏡像和工具:

(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 建立虛拟機,有兩種建構磁盤檔案的方式(如上圖所示):

第一種:使用單個檔案存儲虛拟磁盤;

第二種:多個檔案存儲虛拟磁盤。

其中第二種方式将虛拟磁盤拆分為多個檔案,可以更輕松地在計算機之間移動虛拟機,但可能會降低大容量磁盤的性能。第一種方式将虛拟磁盤存儲為單個檔案,雖然提高了磁盤的讀寫性能,但是對于對于大檔案的移動和存儲是一個問題。就該問題本文對于這兩種方式之間的轉換做了一個總結,并使用具體例子,詳解了如何通過VMware自帶的磁盤管理工具,來對虛拟磁盤檔案進行分割與合并。

本次測試選擇多個檔案存儲虛拟磁盤。

中标麒麟作業系統安裝與CentOS是一樣的,除了 LOGO 不一樣,囧~

詳細系統分區情況如下:

這裡建立的虛拟機相當于一個模版,當它被制作成自定義鏡像,在阿裡雲執行個體上啟動後,登入啟動的執行個體,你會發現系統分區的大小就是上面你所定義的大小。換句話說,你需要系統盤多大,最好在建立虛拟機時就定義多大。

最好不要挂載資料盤,資料盤可以後期建立阿裡雲 ECS 執行個體時挂載或建立阿裡雲 ECS 執行個體後挂載,均是可以的。

根據上面的兩個步驟,我們完成了麒麟作業系統的安裝與部署,現在關閉部署好的麒麟虛拟機。這個步驟我們需要了解兩點:

虛拟磁盤管理工具使用:vmware-vdiskmanager

多個虛拟磁盤檔案合并為單個檔案

下面我們一步一步操作,具體步驟如下:

(1)vmware-vdiskmanager

VMware提供了虛拟磁盤管理工具vmware-vdiskmanager。使用指令行可以管理虛拟磁盤檔案,包括磁盤的。它有許多功能,使用指令vmware-vdiskmanager.exe -h可以檢視它所有的功能(如下圖):

使用VMware虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

<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虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

打開指令行界面并切換到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表示将源檔案合并為一個目标檔案。

多檔案合并為單檔案過程如下:

使用VMware虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

安裝winimage支援各種格式互相轉換,如下:

使用VMware虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

選擇源,注意紅色箭頭,選擇vmdk

使用VMware虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

最後再選擇儲存位置即可得到一個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)在左側導航欄,單擊鏡像 &gt; 導入鏡像。

使用VMware虛拟機檔案建立阿裡雲自定義鏡像準備鏡像格式轉換建立阿裡雲自定義鏡像參考文檔

在導入鏡像對話框裡,單擊提示資訊第3步中的确認位址。否則會報權限錯誤~

OSS Object位址,可以在OSS管理控制台中,找到你建立的Bucket空間名字,點選該空間中檔案後的詳情,複制裡面的URL即可。

系統平台選擇 CentOS(因為本文使用的是中标麒麟7.4系統),當然你也可以選擇 Other Linux,但是需要做一定的配置工作。更多的系統平台類型,詳見阿裡雲導入鏡像必讀。

鏡像格式本次選擇VHD

(3)點選“确定”,等待完成就行。

根據上面的步驟,我們已經建立好所需的自定義鏡像,當我們建立執行個體選擇鏡像 --&gt; 自定義鏡像 --&gt; 中标麒麟-7.4(上面制作的)即可。

說明⚠️:建立的執行個體要和自定義的鏡像都在同一個區域,如華北2(北京)。

(1)VMware虛拟機虛拟磁盤的分割與合并

(2)Vmware(vmdk)虛拟機到hyperv(vhd)虛拟機轉換

(3)HOW TO MERGE MULTIPLE VMDK’S INTO SINGLE VMDK