使用VMware虛擬機文件建立阿里雲自定義鏡像

準備

須要的鏡像和工具:php

(1)系統:中標麒麟7.4 (國產操做系統,相似於CentOS)html

(2)虛擬機軟件:VMware Workstation 12版本/VirtualBox (windows版本,MAC版本的沒有測試)web

(3)vmdk轉vhd格式轉換工具:winima90.exe,也可使用阿里雲 qemu-img 工具,也可使用 DiskGenius軟件 或參考 DiskGenius格式轉換windows

(4)開通阿里雲對象存儲oss,建立存儲空間(Bucket名字)。ide

鏡像格式轉換

因爲建立 VMware 虛擬機生成的主體文件是 vmdk 後綴格式的,阿里雲 ECS 只支持導入RAW、VHD和qcow2格式的鏡像文件。其餘鏡像文件,須要轉換格式後再導入。wordpress

qemu-img能將RAW、qcow二、VMDK、VDI、VHD(vpc)、VHDX、qcow1或QED格式的鏡像轉換成VHD格式,也能夠實現RAW和VHD格式的互相轉換。工具

winima90.exe 是安裝在 windows 系統上的軟件,體積小易安裝,支持多種格式轉換,本次測試使用它來進行虛擬機鏡像文件的轉換工具。性能

建立阿里雲自定義鏡像

主要步驟以下:測試

建立虛擬機文件

打開 VMware Workstation 軟件,建立一個虛擬機,分配動態磁盤空間爲 40G ,以下圖所示:ui

使用VMware虛擬機文件建立阿里雲自定義鏡像

說明⚠️:

  • 通常來講日常使用 VMware 建立虛擬機,有兩種構建磁盤文件的方式(如上圖所示):

第一種:使用單個文件存儲虛擬磁盤;

第二種:多個文件存儲虛擬磁盤。

其中第二種方式將虛擬磁盤拆分爲多個文件,能夠更輕鬆地在計算機之間移動虛擬機,但可能會下降大容量磁盤的性能。第一種方式將虛擬磁盤存儲爲單個文件,雖然提升了磁盤的讀寫性能,可是對於對於大文件的移動和存儲是一個問題。就該問題本文對於這兩種方式之間的轉換作了一個總結,並使用具體例子,詳解了如何經過VMware自帶的磁盤管理工具,來對虛擬磁盤文件進行分割與合併。

  • 本次測試選擇多個文件存儲虛擬磁盤。

安裝麒麟操做系統

中標麒麟操做系統安裝與CentOS是同樣的,除了 LOGO 不同,囧~

詳細系統分區狀況以下:

根目錄/:37G

/boot目錄:1G

swap:2G

說明⚠️:

  • 這裏建立的虛擬機至關於一個模版,當它被製做成自定義鏡像,在阿里雲實例上啓動後,登陸啓動的實例,你會發現系統分區的大小就是上面你所定義的大小。換句話說,你須要系統盤多大,最好在建立虛擬機時就定義多大。

  • 最好不要掛載數據盤,數據盤能夠後期建立阿里雲 ECS 實例時掛載或建立阿里雲 ECS 實例後掛載,均是能夠的。

VMware虛擬機虛擬磁盤的合併

根據上面的兩個步驟,咱們完成了麒麟操做系統的安裝與部署,如今關閉部署好的麒麟虛擬機。這個步驟咱們須要瞭解兩點:

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

  • 多個虛擬磁盤文件合併爲單個文件

下面咱們一步一步操做,具體步驟以下:

(1)vmware-vdiskmanager

VMware提供了虛擬磁盤管理工具vmware-vdiskmanager。使用命令行能夠管理虛擬磁盤文件,包括磁盤的。它有許多功能,使用命令vmware-vdiskmanager.exe -h能夠查看它全部的功能(以下圖):

使用VMware虛擬機文件建立阿里雲自定義鏡像

說明⚠️:

  • vmware-vdiskmanager.exe 路徑默認在 VMware Workstation 虛擬機安裝路徑目錄下。

  • -r 參數指定源磁盤文件;-t 參數指定輸出虛擬磁盤文件的類型,其值爲如下類型之一:

0:建立一個包含在單一虛擬文件中的可增加虛擬磁盤

1:建立一個被分割爲每一個文件2GB大小的可增加虛擬磁盤

2:建立一個包含在單一虛擬文件中的預分配虛擬磁盤

3:建立一個被分割爲每一個文件2GB大小的預分配虛擬磁盤

(2)多文件的合併

如圖所示,將圖中名爲Windows Server 2003 Enterprise Edition.vmdk的文件以及名爲Windows Server 2003 Enterprise Edition-sXXX.vmdk的文件合併爲一個名爲Merged.vmdk的文件。

使用VMware虛擬機文件建立阿里雲自定義鏡像

打開命令行界面並切換到VMware Workstation目錄,輸入命令:

vmware-vdiskmanager.exe -r "D:\Virtual Machines\Windows Server 2003 Enterprise Edition.vmdk" -t 0 "D:\Virtual Machines\Merged.vmdk"

命令的格式是:vmware-vdiskmanager.exe -r [源文件] -t 0 [目標文件]

其中[源文件]是待轉換的文件;[目標文件]是轉換後生成的文件(此文件在系統中是不存在的,只有轉換後才存在。因此須要本身爲其命名,後綴名爲.vmdk);-t後的參數是0表示將源文件合併爲一個目標文件。

多文件合併爲單文件過程以下:

使用VMware虛擬機文件建立阿里雲自定義鏡像

vmdk到vhd文件格式轉換

安裝winimage支持各類格式互相轉換,以下:

使用VMware虛擬機文件建立阿里雲自定義鏡像

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

使用VMware虛擬機文件建立阿里雲自定義鏡像

最後再選擇保存位置便可獲得一個vhd的磁盤文件。

這一步咱們也可使用阿里雲提供的 qemu-img 工具

使用阿里雲OSS

主要步驟以下:

(1)開通OSS服務

(2)建立存儲空間

(3)上傳文件

說明⚠️:關於上傳文件,我這裏說明下,若是待上傳文件大小 5G ,能夠經過OSS控制檯直接上傳。反之,須要使用分片上傳和斷點續傳 ossutil 工具。

使用阿里雲ossutil

上面咱們生成的 vhd 文件大小是 40G ,因此使用阿里雲ossutil工具進行文件的上傳工做,MAC電腦下操做命令舉例以下:

./ossutilmac64 cp /Users/wtf/Documents/操做系統ISO/zhongbiaoqolin7.4.vhd oss://datagrand-iso/iso-qilin

命令格式:./ossutilmac64 cp a.txt oss://bucket/path

關於阿里雲ossutil經常使用命令的使用詳見 命令行工具ossutil概述

導入自定義鏡像

主要步驟以下:

(1)登陸ECS管理控制檯。

(2)在左側導航欄,單擊鏡像 > 導入鏡像。

使用VMware虛擬機文件建立阿里雲自定義鏡像

說明⚠️:

  • 在導入鏡像對話框裏,單擊提示信息第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

相關文章
相關標籤/搜索