須要的鏡像和工具: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自帶的磁盤管理工具,來對虛擬磁盤文件進行分割與合併。
中標麒麟操做系統安裝與CentOS是同樣的,除了 LOGO 不同,囧~
詳細系統分區狀況以下:
根目錄/:37G /boot目錄:1G swap:2G
說明⚠️:
這裏建立的虛擬機至關於一個模版,當它被製做成自定義鏡像,在阿里雲實例上啓動後,登陸啓動的實例,你會發現系統分區的大小就是上面你所定義的大小。換句話說,你須要系統盤多大,最好在建立虛擬機時就定義多大。
根據上面的兩個步驟,咱們完成了麒麟操做系統的安裝與部署,如今關閉部署好的麒麟虛擬機。這個步驟咱們須要瞭解兩點:
虛擬磁盤管理工具使用:vmware-vdiskmanager
下面咱們一步一步操做,具體步驟以下:
(1)vmware-vdiskmanager
VMware提供了虛擬磁盤管理工具vmware-vdiskmanager。使用命令行能夠管理虛擬磁盤文件,包括磁盤的。它有許多功能,使用命令vmware-vdiskmanager.exe -h能夠查看它全部的功能(以下圖):
說明⚠️:
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 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表示將源文件合併爲一個目標文件。
多文件合併爲單文件過程以下:
安裝winimage支持各類格式互相轉換,以下:
選擇源,注意紅色箭頭,選擇vmdk
最後再選擇保存位置便可獲得一個vhd的磁盤文件。
這一步咱們也可使用阿里雲提供的 qemu-img 工具
主要步驟以下:
(1)開通OSS服務
(2)建立存儲空間
(3)上傳文件
說明⚠️:關於上傳文件,我這裏說明下,若是待上傳文件大小 5G ,能夠經過OSS控制檯直接上傳。反之,須要使用分片上傳和斷點續傳 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)在左側導航欄,單擊鏡像 > 導入鏡像。
說明⚠️:
在導入鏡像對話框裏,單擊提示信息第3步中的確認地址。不然會報權限錯誤~
OSS Object地址,能夠在OSS管理控制檯中,找到你建立的Bucket空間名字,點擊該空間中文件後的詳情,複製裏面的URL便可。
系統平臺選擇 CentOS(由於本文使用的是中標麒麟7.4系統),固然你也能夠選擇 Other Linux,可是須要作必定的配置工做。更多的系統平臺類型,詳見阿里雲導入鏡像必讀。
(3)點擊「肯定」,等待完成就行。
根據上面的步驟,咱們已經建立好所需的自定義鏡像,當咱們建立實例選擇鏡像 --> 自定義鏡像 --> 中標麒麟-7.4(上面製做的)便可。
說明⚠️:建立的實例要和自定義的鏡像都在同一個區域,如華北2(北京)。