云服务器 ECS 镜像迁移:应用迁云之镜像迁移-(4)迁移流程和实践方法

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
云防火墙,500元 1000GB
简介: 应用迁云之镜像迁移-(4)迁移流程和实践方法 迁移流程 1.镜像迁移可行性评估 当您选择镜像迁移前,需要对被迁移的服务器主机详细信息进行调研,并按照镜像迁移可行性评估小节中描述的要求及限制进行评估。


应用迁云之镜像迁移-(4)迁移流程和实践方法

迁移流程

image


1.镜像迁移可行性评估

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

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

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

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

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

  • Windows类

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


image

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

  • Linux类

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

环境搭建方法示例

一、环境示例

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

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

1.先用rpm -qa命令查看所需安装包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
AI 代码解读

2.如查询结果如上,说明服务器自身已经安装了NFS;如果没有安装则用yum命令来安装。

 [root@local /]# yum -y install nfs-utils rpcbind
AI 代码解读

3.创建共享目录。

 [root@local /]# mkdir /sharestore
AI 代码解读

4.NFS共享文件路径配置。编辑/etc/exports添加下面一行,添加后保存退出。

 [root@local /]# vi /etc/exports
 /sharestore     *(rw,sync,no_root_squash)
AI 代码解读

5.启动NFS服务。先启动rpcbind,再启动nfs。如果服务器自身已经安装过NFS,就用restart重启两个服务。

[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 /]
AI 代码解读

6.设置NFS服务开机自启动。

[root@local /]# chkconfig rpcbind on
[root@local /]# chkconfig nfs on
AI 代码解读

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

1.创建一个挂载点。

[root@localhost ~]# mkdir /mnt/store
AI 代码解读

2.挂载。

[root@localhost ~]# mount -t nfs 192.168.0.10:/sharestore /mnt/store
AI 代码解读

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

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

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

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

以CentOS为例:

yum install qemu-img
AI 代码解读

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

  • Windows 系统关闭防火墙UAC、启用远程桌面
    • 关闭防火墙。操作方法:选择 开始>控制面板>Windows防火墙>打开和关闭防火墙,选择关闭防火墙。
    • 关闭UAC用户帐户控制。选择 开始>运行,输入MSCONFIG,打开 系统配置>工具Tab,更改UAC设置最低,重启系统后生效。
    • 启用远程桌面。选择 开始>计算机>属性>远程设置>启用远程桌面。
  • 系统关闭防火墙、Selinux、Network Manager
    • 关闭Linux系统防火墙执行命令chkconfig iptables off重启生效。
    • 关闭Selinux 修改/etc/selinux/config文件中的SELINUX=”” 为 disabled 重启生效。
    • 关闭或删除Network Manager。
    • 在/etc/fstab文件中去掉mount配置。

2. 镜像文件制作或导出

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

  • 以 Alip2v Windows 版工具为示例。

工具安装注意事项

Alip2v 工具的安装需要 Microsoft Windows Installer,即微软用来运行MSI安装程序所使用的 Windows 程序模块。若计算机上未安装相同或更高版本的 WindowsInstaller,需要自行进行安装。一般系统自带,无需安装。

Alip2v 工具的运行依赖于 NET Framework 4.0,若计算机上未安装相同或更高版本的 .NET Framework,安装包下有 DotNetFX40Client 文件夹,可单击进行安装。

运行安装包里的 setup.exe 文件,按照提示安装,即可完成 Alip2v 工具的安装。

工具使用

1.单击运行Ali-P2V系统提示被迁移系统信息,单击下一步。

image

2.选择镜像目的运行平台KVM或者Xen在阿里云IO实例优化为KVM实例非I0实例优化为Xen实例、选择镜像文件格式VHD、VMDK、RAW一般选择VHD格式输入系统盘大小勾选系统盘C盘不支持数据盘迁移。


image

3.设置无需进行克隆的文件或目录以减少转换的时间和空间。如相关日志等信息也可为空不指定、设置镜像文件存储路径注意空间是否足够。

4.确认信息后点击运行运行完毕后镜像文件保存在目标路径下。


image


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

Alip2v linux版工具使用为示例

限制说明

  • 外设:目前不支持外接物理设备如SAN/NAS/HBA卡/FC卡/加密设备等。
  • 在线迁移前确保应用已经停止,尽量减少数据不一致的情况。
  • 排除不需要的目录,比如数据盘挂载点,不支持网络文件系统。
  • 默认创建的目标镜像是稀疏的raw文件,需要自己转换成其他格式。
  • 默认创建的目标文件系统为ext3或ext4,不支持其他文件系统。

工具使用指导

迁移工具选项说明


image


说明:

  • 首先进行环境检查确保可以顺利迁移。
  • 创建新的磁盘镜像默认是raw格式。
  • 默认拷贝本地根分区除/dev,/proc,/sys其他需要排除的目录请手动指定。
  • 设定镜像参数确保目标系统可以正常启动。

环境检查


image


说明:

  • 操作系统版本检查目前只支持Linux。
  • 处理器类型检查目前只支持Intel x86架构。
  • 发行版检查目前只支持CentOS 5/6RedHat 5/6SUSE 11。
  • 本地文件系统空间检查是否有足够的空间存放镜像。
  • 检查驱动需要能够支持xen,若检查失败请先安装驱动。
  • 检查selinux状态,不支持开启selinux。

镜像导出执行


image


说明:

  • 在线迁移前确保应用已经停止,尽量减少数据不一致的情况。
  • 排除不需要的目录,比如数据盘挂载点不支持网络文件系统。
  • 不支持selinux,请先关闭重启,生效后重新进行迁移。
  • 默认创建的目标镜像是稀疏的raw文件,需要自己转换成其他格式。
  • 默认创建的目标文件系统为ext3或ext4,不支持其他文件系统。

工具使用为示例

1.通过df和fdisk查看跟分区位置在/dev/vda。

[root@iZbp1be1ftlybmieiuqpqeZ
~]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/vda1             41151808   1649216 
37405544   5% /
tmpfs                  1962256         0  
1962256   0% /dev/shm
//10.28.44.86/c$     209713148  46532092 163181056  23% /mnt/samba
10.27.88.123:/share_dir
206291712 150970880  44835328 
78% /mnt/nfs
/dev/mapper/p2v-lvm   30832636  
2794168  26465604  10% /home
[root@iZbp1be1ftlybmieiuqpqeZ
~]# fdisk -l
Disk
/dev/vda: 42.9 GB, 42949672960 bytes
255
heads, 63 sectors/track, 5221 cylinders
Units
= cylinders of 16065 * 512 = 8225280 bytes
Sector
size (logical/physical): 512 bytes / 512 bytes
I/O
size (minimum/optimal): 512 bytes / 512 bytes
Disk
identifier: 0x00078f9c
Device Boot      Start         End      Blocks  
Id  System
/dev/vda1   *
1        5222    41940992  
83  Linux
AI 代码解读

2.通过dd命令制作镜像文件。

[root@iZbp1be1ftlybmieiuqpqeZ ~]# dd if=/dev/vdc of=/mnt/nfs/centos65.raw
AI 代码解读

3. 镜像格式转换。

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

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

VMDK转VHD

qemu-img convert –f vmdk vmdkfile.vmdk –O vpc vhdfile.vhd
AI 代码解读

RAW转VHD

qemu-img convert –f raw centos65.raw  –O vpc centos65.vhd
AI 代码解读

qemu-img convert 说明

qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
AI 代码解读

当然,您也可以在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。

image


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


image
image

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


image
image

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

5. 根据镜像启动ECS实例

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


image

启动完成后,您可以根据以下检查项列表来进入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

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
阿里云轻量应用服务器68元与云服务器99元和199元区别及选择参考
目前阿里云有三款特惠云服务器,第一款轻量云服务器2核2G68元一年,第二款经济型云服务器2核2G3M带宽99元1年,第三款通用算力型2核4G5M带宽199元一年。有的新手用户并不是很清楚他们之间的区别,因此不知道如何选择。本文来介绍一下它们之间的区别以及选择参考。
656 87
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
57 4
阿里云服务器租用价格参考:云服务器各收费项目收费标准与活动价格
阿里云服务器收费项目有实例价格、预留实例券、专有宿主机、块存储价格、存储容量单位包、带宽价格和快照服务价格,收费模式有包年包月和按量付费模式。本文为大家汇总了2025年阿里云服务器各个收费项目的最新收费标准与云服务器的最新活动价格,以供参考和了解。
云服务器和一般服务器有什么区别?
云服务器结合了独立服务器的性能与灵活性,具备更低的成本和高度定制化的特点。它提供独立的操作系统、磁盘空间及资源,支持快速扩展和降级配置,确保安全性和隐私性。相比共享主机(适合轻量级应用)和独立服务器(适合高性能需求),云服务器更适合个人用户、中小型企业和开发人员,兼具成本效益与灵活性。
23 3
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
62 25
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
基于云服务器的数仓搭建-服务器配置
本文介绍了购置并配置三台云服务器的详细步骤。使用FinalShell连接服务器,并安装了必要的工具如epel-release、net-tools和vim。关闭防火墙后,在/opt目录下创建module和software文件夹,卸载默认JDK并修改主机名。添加环境变量路径/home/alpfree/bin,编写集群分发脚本xsync实现文件同步,配置无密登录,安装并分发JDK。参考资料来自海波老师的电商数仓课程。
34 1
阿里云服务器实例选择参考:根据业务场景选择云服务器实例规格
对于初次接触阿里云服务器的用户来说,面对众多实例规格往往不知道如何选择,因为云服务器实例规格不同,价格也不一样,往往会感到无从下手。本文旨在通过详细解析阿里云服务器的不同实例规格及其适用场景,为用户提供一份实用的选型指南,以供参考。
阿里云ECS云服务器经济型e实例和通用算力型u1实例区别对比、适用场景和问题解答FAQ
阿里云ECS云服务器的经济型e实例和通用算力型u1实例是开发者和中小企业常用的两种配置。e实例适合中小型网站、开发测试等轻量级应用,性价比高;u1实例性能更优,适用于中小型企业级应用、数据分析等场景。同等配置下,u1实例在网络带宽、云盘IOPS等方面表现更好,价格也相对较高。选择时,个人用户推荐e实例,中小企业则更适合u1实例
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
71 6