阿里云应用迁云之镜像迁移

发布于 2017-09-11  7.92k 次阅读


阿里云应用迁云之镜像迁移

(1)概述

镜像迁移,指通过将源主机上的操作系统和应用程序及数据镜像到一个虚拟磁盘文件,并上传到阿里云镜像中心,成为上传用户的自定义镜像后,通过此镜像启动一个和源主机一模一样的ECS主机实例,来达到应用上云迁移的目的。

镜像迁移与手工重新部署迁移的技术对比分析

迁移技术类型

实现手段

优点

缺点

手工重新部署迁移

和物理主机部署方式一致。

通用性强

效率低,操作复杂,需要较多人工干预。

镜像迁移

冷迁移

通过工具直接镜像被迁移服务器主机,无法保障数据一致性。

简单、效率高、成功率高。

适用范围有限。

热迁移(阿里云不支持)

通过镜像迁移工具部署在被迁移服务主机或远程连接的方式迁移,迁移过程可以保持数据实时同步。

简单、效率高、业务不中断。

适用范围有限。

目前,到阿里云的镜像迁移主要需求场景来源有以下几种:

  • 线下IDC机房的物理主机迁移到阿里云ECS主机实例。

  • 传统虚拟化平台的虚拟主机迁移到阿里云ECS主机实例。

  • 其他公有云的虚拟主机实例迁移到阿里云ECS主机实例。

  • 阿里云ECS主机实例在各Region、各VPC中间进行迁移。

镜像迁移到阿里云,根据迁移类型又可以分为:

  • P2V迁移

P2V指迁移物理服务器上的操作系统及其上的应用软件和数据到阿里云平台管理的ECS服务器中。这种迁移方式,主要是使用各种工具软件,把物理服务器上的系统状态和数据镜像到一个虚拟磁盘文件中,阿里云启动的时候在虚拟磁盘文件中注入存储硬件与网卡驱动程序,使之能够启动并运行。

  • V2V迁移

V2V是指从其他云平台或传统虚拟化平台的虚拟主机迁移到阿里云的ECS虚拟主机,比如VMware迁移到阿里云,AWS迁移到阿里云等。

(2)可行性评估

目前,无论是P2V还是V2V的方式,迁移到阿里云还存在一些限制。在选择镜像迁移时,您需要对被迁移的服务器主机和镜像迁移的工具进行评估:

  • 被迁移服务器主机操作系统类型、文件系统类型、服务器已使用空间大小。
  • 镜像迁移工具支持导出的虚拟磁盘镜像文件格式。
  • 兼容性要求及限制。

1. 被迁移服务器主机操作系统支持类型

Windows(32 和 64 位)

  • Microsoft Windows Server 2012 R2(标准版)
  • Microsoft Windows Server 2012(标准版、数据中心版)
  • Microsoft Windows Server 2008 R2(标准版、数据中心版、企业版)
  • Microsoft Windows Server 2008(标准版、数据中心版、企业版)
  • 不支持 WinXP,Windows 8,Windows 10

Linux(64 位)

  • CentOS 5,6,7
  • Ubuntu 12,14,16

同时,部分工具支持如下类型:

  • Debian 6,7
  • OpenSUSE 13.1
  • SUSE Linux 10,11,12
  • CoreOS 681.2.0+

2. 被迁移服务器主机的文件系统类

目前, Windows操作系统的文件系统类型支持NTFS,Linux操作系统的文件系统类型支持ext3,ext4。

3. 被迁移服务器磁盘及空间使用情况

如果被迁移的服务器来自传统IDC、传统虚拟化平台以及其他云平台,只支持系统盘迁移,不支持数据盘的迁移;并且系统盘大小不能超过500GB。

被迁移的服务器本身在阿里云上,只是需要迁移到不同的region或者不同VPC中,是可以支持系统盘和数据盘进行同时迁移,同样系统盘大小不能超过500GB。

4. 兼容性要求及限制

Windows限制

  • 导入的 Windows 镜像是提供 Windows 激活服务。
  • 关闭防火墙。不关闭防火墙无法远程登录,需要放开3389端口。
  • 关闭 UAC。

Linux 限制

  • 不支持开启SELinux
  • 关闭防火墙,默认打开22端口。
  • 关闭或删除Network Manager。
  • 导入的 Red Hat Enterprise Linux (RHEL) 镜像必须使用 BYOL 许可。需要自己向厂商购买产品序列号和服务。
  • 不支持跟分区使用LVM。

其他限制

  • 不支持多个网络接口。
  • 不支持 IPv6 地址。

5. 镜像迁移工具支持导出的虚拟磁盘镜像文件格式

阿里云支持上传的镜像文件格式为RAW和VHD。其他格式的镜像文件都不支持,需要通过镜像文件格式转换工具进行转换。

(3)工具介绍

目前,在镜像迁移过程中,主要使用镜像制作工具及镜像文件格式转换工具。镜像制作工具主要是把被迁移服务器主机的操作系统及应用程序和数据制作成镜像文件。因为不同的虚拟化平台的镜像文件或虚拟磁盘文件使用的格式不同,所以需要镜像格式转换工具对镜像文件格式进行转换来适配不同虚拟化平台。

当前镜像迁移到阿里云使用较多的工具有很多,比如Disk2VHD、DD等镜像文件制作工具以及XenConvert、StarWindConverter、qemu-img等镜像格式转换工具。它们都可以互相搭配使用,具体介绍如下所示。

1.Disk2VHD

可用于将逻辑磁盘转换为 VHD 格式虚拟磁盘的实用工具。利用该工具,您可以轻松地将当前Windows系统中的C盘生成为一个 VHD 文件,然后上传到阿里云。

Disk2VHD能够运行在 Windows XP SP2,Windows Server 2003 SP1 或更高版本的Windows系统之上,并且支持 64位系统。

下载地址:http://publicread081.oss-cn-hangzhou.aliyuncs.com/Disk2vhd.zip-hangzhou.aliyuncs.com/Disk2vhd.zip

2. 命令工具

DD命令是Linux数据复制命令,通过DD可以将Linux跟分区所在系统磁盘镜像到一个RAW格式的文件。Linux DD的这个特性,您可以使用DD制作镜像文件。

3. 镜像格式转换工具

3.1 XenConvert

XenConvert是用于实现物理到虚拟(P2V)转换的工具,另外此工具提供了镜像格式转换的功能,其中包括VMDK格式转换为VHD格式。

下载地址:http://publicread081.oss-cn-hangzhou.aliyuncs.com/XenConvert_Install_x64.exe

3.2 StarWindConverter

StarWind Converter 是一个格式转换软件,可以实现VMDK转换为VHD、或将VHD转换为VMDK,或转为StarWind的原生IMG格式。

下载地址:http://publicread081.oss-cn-hangzhou.aliyuncs.com/starwindconverter.exe

 

3.3 qemu-img

qemu-img是QEMU的磁盘管理工具,也是QEMU/KVM使用过程中一个比较重要的工具。qemu-img命令工具的convert选项支持多种镜像文件的格式互相转换,主要包括Qcow、Qcow2、VHD、RAW、VMDK等。

比如VMDK转VHD命令样例:

qemu-img convert -f vmdk -O vpc vmware_img.vmdk aliyun_img.vhd

 

(4)迁移流程和实践方法

迁移流程

1

1.镜像迁移可行性评估

当您选择镜像迁移前,需要对被迁移的服务器主机详细信息进行调研,并按照镜像迁移可行性评估小节中描述的要求及限制进行评估。评估是否可行及是否需要采用镜像迁移的方式来进行迁移。

如果被迁移服务器主机数量规模大、并且大多都带系统盘、网络条件不好,建议不要使用镜像迁移的方式。因为镜像文件都比较大,在此条件下进行镜像迁移反而会加大迁移的时间及人力成本。

如果被迁移服务器主机中应用配置比较复杂、无人维护、网络条件好,建议您使用镜像迁移的方式。虽然数据盘不支持镜像迁移,但您可先把系统盘镜像迁移到阿里云,再采用文件同步的方式将数据盘数据同步到阿里云的数据盘中。

通常镜像迁移前需要一些准备工作,具体如下所示。

1.1 镜像文件存放公共目录准备

  • Windows类

通过DISK2VHD工具对Windows操作系统的系统盘进行镜像文件制作。您可以把镜像文件存放地址输入公共目录地址,比如某台大容量空间的windows系统共享目录。

 

然后,在DISK2VHD的镜像文件保存地址中输入网络路径,比如\iZtk67uu6ar4utZ\VHD_DIR可以将镜像文件写入共享目录中进行统一管理。

  • Linux类

通过DD工具对Linux操作系统的系统盘进行镜像文件制作的时候,可以把输出路径设置为一些挂载NFS的共享的目录,把镜像文件输出到统一的共享目录中。共享目录通常部署到镜像文件格式转换工具平台上。

环境搭建方法示例

一、环境示例

  • 共享目录服务器端 CentOS6.5 192.168.0.10。
  • 被迁移服务器端 CentOS6.5 192.168.0.11。

二、共享目录服务器端安装配置

  1. 先用rpm -qa命令查看所需安装包nfs-utils、rpcbind是否已经安装。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
    [root@local /]# chkconfig rpcbind on
    [root@local /]# chkconfig nfs on
    [root@local /]# service rpcbind start</span></pre>
    Starting rpcbind:                                          [  OK  ]
    [root@local /]# service nfs start
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@local /]
     [root@local /]# vi /etc/exports
     /sharestore     *(rw,sync,no_root_squash)
     [root@local /]# mkdir /sharestore
     [root@local /]# yum -y install nfs-utils rpcbind
     [root@local /]# rpm -qa | grep "rpcbind"
     rpcbind-0.2.0-11.el6.x86_64
     [root@local /]# rpm -qa | grep "nfs"
     nfs-utils-1.2.3-39.el6.x86_64
     nfs4-acl-tools-0.3.3-6.el6.x86_64
     nfs-utils-lib-1.1.5-6.el6.x86_64
  2. 如查询结果如上,说明服务器自身已经安装了NFS;如果没有安装则用yum命令来安装。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
    [root@local /]# chkconfig rpcbind on
    [root@local /]# chkconfig nfs on
    [root@local /]# service rpcbind start</span></pre>
    Starting rpcbind:                                          [  OK  ]
    [root@local /]# service nfs start
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@local /]
     [root@local /]# vi /etc/exports
     /sharestore     *(rw,sync,no_root_squash)
     [root@local /]# mkdir /sharestore
     [root@local /]# yum -y install nfs-utils rpcbind
  3. 创建共享目录。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
    [root@local /]# chkconfig rpcbind on
    [root@local /]# chkconfig nfs on
    [root@local /]# service rpcbind start</span></pre>
    Starting rpcbind:                                          [  OK  ]
    [root@local /]# service nfs start
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@local /]
     [root@local /]# vi /etc/exports
     /sharestore     *(rw,sync,no_root_squash)
     [root@local /]# mkdir /sharestore
  4. NFS共享文件路径配置。编辑/etc/exports添加下面一行,添加后保存退出。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
    [root@local /]# chkconfig rpcbind on
    [root@local /]# chkconfig nfs on
    [root@local /]# service rpcbind start</span></pre>
    Starting rpcbind:                                          [  OK  ]
    [root@local /]# service nfs start
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@local /]
     [root@local /]# vi /etc/exports
     /sharestore     *(rw,sync,no_root_squash)
  5. 启动NFS服务。先启动rpcbind,再启动nfs。如果服务器自身已经安装过NFS,就用restart重启两个服务。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
    [root@local /]# chkconfig rpcbind on
    [root@local /]# chkconfig nfs on
    [root@local /]# service rpcbind start</span></pre>
    Starting rpcbind:                                          [  OK  ]
    [root@local /]# service nfs start
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@local /]
  6. 设置NFS服务开机自启动。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
    [root@local /]# chkconfig rpcbind on
    [root@local /]# chkconfig nfs on

三、被迁移服务器端挂载配置

  1. 创建一个挂载点。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
    [root@localhost ~]# mkdir /mnt/store
  2. 挂载。

    qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
    qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
    qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
    yum install qemu-img
    [root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store

1.2 镜像文件格式转换工具平台准备

镜像文件格式转换平台搭建,主要是安装镜像格式转换工具并且需要保证平台磁盘空间有较大容量来保存镜像文件,对镜像文件进行统一存储和管理。具体容量空间大小需根据迁移镜像规模而定。在格式转换平台上,需要安装OSS工具。在镜像文件完成格式转换后,上传到用户具体账号下阿里云OSS对象存储中。

Windows类操作系统可以安装StarWindConverter工具来作为镜像文件格式转换平台的基础工具

Linux类操作系统需安装qemu-img工具来作为镜像文件格式转换平台的基础工具。安装方法如下:

以CentOS为例:

qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
yum install qemu-img

1.3 镜像导出前操作系统检查准备工作

  • Windows 系统关闭防火墙UAC、启用远程桌面

    1. 关闭防火墙。操作方法:选择 开始>控制面板>Windows防火墙>打开和关闭防火墙,选择关闭防火墙。

    2. 关闭UAC用户帐户控制。选择 开始>运行,输入MSCONFIG,打开 系统配置>工具Tab,更改UAC设置最低,重启系统后生效。

    3. 启用远程桌面。选择 开始 > 计算机 > 属性 > 远程设置 > 启用远程桌面

  • 系统关闭防火墙、Selinux、Network Manager

    1. 关闭Linux系统防火墙执行命令chkconfig iptables off重启生效。

    2. 关闭Selinux 修改/etc/selinux/config文件中的SELINUX=”” 为 disabled 重启生效。

    3. 关闭或删除Network Manager。

    4. 在/etc/fstab文件中去掉mount配置。

2. 镜像文件制作或导出

对于传统IDC的物理服务器主机或者其他云平台服务器主机,若为Windows类型,您可以使用DISK2VHD工具进行Windows系统C盘的镜像文件制作。

对于传统IDC的物理服务器主机或者其他云平台服务器主机的Linux类型,您可以使用DD工具进行Linux系统盘的导出。该工具导出的是RAW格式,镜像文件RAW文件一般都比较大和系统盘size一样大。RAW虽然可以直接上传到阿里云,但是建议使用qemu-img转换为VHD后上传,以节约网络传输时间。

3. 镜像格式转换。

对于有的云平台可以导出镜像文件而且基本是VHD的格式。这种情况下, 您可以省去镜像制作和格式转换的步骤。

在传统虚拟化平台,VMware类型的虚拟主机迁移不用镜像制作。目前,VMware虚拟主机底层虚拟磁盘文件为VMDK格式。您可以到ESX Server中把VMDK文件拷贝到镜像格式转换平台后直接转换。

VMDK转VHD

qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd

RAW转VHD

qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd

qemu-img convert 说明

qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename

当然,您也可以在windows系统中部署Xenconvert或者StarWindConverter工具来进行格式转换。镜像格式转换阶段主要是正对VMDK转VHDRAW转VHD。

注意:

VMware的虚拟磁盘vmdk文件在创建的时候可以选择分割的方式,这样会导致一个虚拟机有N个虚拟磁盘文件。使用XenConvert转成VHD格式只能输入一个需要使用vmware-vdiskmanager.exe合并多个虚拟磁盘vmdk文件为一个vmdk文件。

4. 镜像文件上传并设置为自定义镜像

在云下导出或制作好镜像后,需要上传的阿里云的镜像中心,上传过程中需要使用OSS服务。如果使用的阿里云账号还没有开通OSS服务,请先开通OSS服务。使用OSS的第三方工具客户端OSS API 或者OSS SDK把制作好的文件上传到,和导入ECS用户自定义镜像相同地域的bucket里面,如对上传文件到OSS不熟悉,请参考https://help.aliyun.com/document_detail/32185.html?spm=5176.doc32184.6.951.c6Ckyf。

 

镜像上传到OSS后,您可以在阿里云控制台发起工单申请ECS。导入镜像的权限并且主动把OSS的访问权限授权给ECS官方的服务账号。

 

 

授权完成后,进入阿里云ECS控制台。导入镜像前需要填写导入镜像信息表单。

 

表单属性

属性解释

地域

请选择您即将要部署应用的地域

镜像文件OSS地址

直接复制从OSS的控制台的Object对象的获取地址的内容。

镜像名称

长度为2-128个字符以大小写字母或中文开头可包含数字”.””_”或”-“

系统盘大小

Windows系统盘大小取值40-500GB,Linux系统盘大小 20-500G。

系统架构

64位操作系统选择x86_64,32位操作系统选择i386

操作系统类型

Windows 或者 Linux

系统发行版

暂时支持的操作系统发行版。Windows支持 Windows Server 2003,2008,2012 和 Windows 7;Linux支持 CentOS,redhat,SUSE,Ubuntu Debian,Gentoo,FreeBSD,CoreOS。 Other Linux请提交工单确认是否支持。如果您镜像的操作系统是根据Linux内核定制开发的,请发工单联系阿里云。

镜像格式

支持RAW和VHD两种格式,建议客户使用RAW格式,成功率会高很多。不支持使用qemu-image创建vhd格式的镜像。

镜像描述

填写镜像描述信息

在镜像导入过程中,通过任务管理找到该导入的镜像,您可以对导入的镜像进行取消。导入镜像需要耐心等待,一般需要数小时才能完成。完成的时间取决于镜像文件的大小和当前导入任务繁忙程度,您可以在导入地域的镜像列表中看到这个镜像进度。

5. 根据镜像启动ECS实例

镜像导入到阿里云后,您可以进入阿里云ECS控制台,通过上传的镜像进行实例创建。在镜像选择的时候,镜像来源需要选择自定义镜像,您可以在自定义镜像列表看到导入的镜像。

 

启动完成后,您可以根据以下检查项列表来进入ECS实例进行相关检查。

Windows镜像实例检查列表

检查内容

说明

IP内网IP/外网ip

掩码

网关

1. 内网ip校验能通过另外一台vm ping通

2. 外网ip外网ping通

路由

正常访问外网

密码

administrator密码登录

hostname

计算机-属性-高级系统设置-计算机名

修改后重启计算机

DNS

ping DNS服务是否能ping通/是否能正常访问外网

默认网关

正常访问外网

host文件

位于:C:\Windows\System32\drivers\etc

测试域名绑定

挂载数据磁盘

挂载磁盘是否成功,格式化磁盘是否成功

是否能正确写入文件check,是否存在写保护

ntp

校验机器时间

KMS

1. 运行输入框中输入“Slmgr.vbs -dlv”命令并回车

2. 查看批量激活过期时间

注入启动AliyunService进程以及XEN或KVM模块

任务管理器查看是否存在以下进程shutdownmon老版本叫shutdownmon/AliyunService

Linux镜像实例检查列表

检查内容

说明

ip 掩码 网关公私网卡

1. 内网ip校验能通过另外一台vm ping通

2. 外网ip外网ping通

路由

正常访问外网

密码

root密码

hostname

修改hostname

dns

ping DNS服务是否能ping通/是否能正常访问外网

默认网关

正常访问外网

hos文件

/etc/sysconfig/network修改hostname需要重启reboot

ssh key

/etc/ssh/ssh_host_key(一般不会修改)

挂载数据磁盘

mount磁盘是否成功格式化磁盘是否成功

是否能正确写入文件check是否存在写保护

ntp

查看服务器时间

yum/apt

自动安装yum或apt软件

注入启动gshell进程以及XEN或KVM模块

ps -ef | grep gshell | grep -v grep | wc -l

(5)阿里云上跨VPC和区域、账号镜像迁移实践

目前,阿里云上的镜像迁移主要需求场景如下:

  • 跨VPC迁移ECS实例比如从VPC A迁移到VPC B环境中。

  • 跨区域迁移ECS实例比如从上海区域迁移到杭州区域。

  • 跨账号迁移ECS实例比如从账号A迁移到账户B。

阿里云提供ECS实例快照和自定义镜像,支持系统盘和数据盘的功能,并且自定义镜像可以跨区域复制和共享给其他账号使用。基于这些功能特性,您可以实现跨VPC、跨区域、跨账号的镜像迁移。

跨VPC镜像迁移流程如下:

1

跨区域镜像迁移流程如下:

2

跨账号镜像迁移流程如下:

3

1. ECS 快照生成

所谓快照,就是某一个时间点上某一个磁盘的数据备份。需要注意的是,如果要保持数据的一致性,需要通过停机或停止服务的方式进行快照。

ECS快照操作流程如下:

  1. 登录云服务器管理控制台

  2. 单击实例所在的地域,然后单击左侧导航的实例。单击实例的名称或在实例右侧单击管理

    4

  3. 单击左侧的本实例磁盘,对系统盘和数据盘进行创建快照。

    5

2. 创建自定义镜像

镜像是云服务器 ECS 实例运行环境的模板。一般包括操作系统和预装的软件。

自定义镜像的来源渠道:

  • 根据现有的云服务器 ECS 实例的快照创建自定义镜像。
  • 把线下环境的镜像文件导入到ECS的集群中生成一个自定义镜像。

操作步骤:

  1. 进入ECS实例,单击管理

  2. 单击左侧本实例快照,确定快照的磁盘属性是系统盘,数据盘不能单独用于创建镜像。

  3. 单击创建自定义镜像

    6

3.镜像跨区域复制

当前跨地域复制镜像处于公测状态,如需使用,可以提交工单申请白名单。工单中注明需复制镜像的总大小信息。自定义镜像是不能跨地域使用的。但是如果需要跨地域使用自定义镜像,可以通过复制镜像的方式,把当前地域的自定义镜像复制到其他地域进行镜像迁移复制。

复制镜像需要通过网络把源地域的镜像文件传输到目标地域。复制的时间取决于网络传输速度和任务队列的排队数量。

复制自动义镜像的步骤如下:

  1. 登录云服务器管理控制台

  2. 单击左侧导航中的镜像可以看到镜像列表。

  3. 选择页面顶部的地域。

  4. 选中需要复制的镜像,镜像类型必须是自定义镜像单击复制镜像。在弹出的对话框中,您可以看到选中镜像的ID。

  5. 选择需要复制镜像的目标地域。

  6. 输入目标镜像的名称和描述。

  7. 单击确定镜像复制任务就创建成功了。

4. 镜像共享

在阿里云,您可以把自己的自定义镜像共享给其他用户。该用户可以通过管理控制台或 ECS API 查询到其他账号共享到本账号的共享镜像列表。被共享用户可以使用其他账号共享的镜像创建 ECS 实例和更换系统盘。

分享镜像的步骤如下:

  1. 登录云服务器管理控制台

  2. 单击左侧导航中的镜像,您可以看到镜像列表。

  3. 选择页面顶部的地域。

  4. 选中需要复制的镜像。镜像类型必须是自定义镜像,单击共享镜像

  5. 在弹出的对话框中,选择账号类型,并输入阿里云账号。有以下2种账号类型:

    • 阿里云账号输入要共享给其他用户的阿里云账号登录账号。

    • AliyunID 输入要共享给其他的阿里云账号ID。 AliyunID 可以从阿里云官网的用户中心获取。选择 账号管理 > 安全设置 > 账号ID。可通过下面链接直接登录访问 https://account.console.aliyun.com/#/secure。

  6. 单击共享镜像完成自定义镜像的共享。


Flyfish's Blog - 飞鱼博客| 点滴记忆,记录成长---flyfish