须要的镜像和工具: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(北京)。