通常我们做虚拟化,需要先做 P2V 然后将镜像导入到虚拟机中。而 P2V 后需要根据虚拟化层所支持的镜像类型做镜像格式的转换。在云平台间的虚拟机迁移,原理是差不多,可以看作是不同的虚拟化平台的迁移。这里我以 Azure 的 VM 虚拟机(ARM 资源管理模式)迁移到 AWS 的 EC2 虚拟机为例:
(如果你使用的是早期的经典模式虚拟机 Classic Model VM,请将经典模式转为资源管理模式 ARM VM)本篇 Blog 使用 VM Import/Export 可以让您轻松将虚拟机映像从现有环境导入到 Amazon EC2 实例中。
大致步骤与要把大象放到冰箱里总共分几步差不多:
将 Azure 的 VM 的镜像导出 VHD
将 Azure 的 VM 镜像上传到对象存储
将 VHD 镜像转换为 AMI 并通过 AMI 启动 EC2
一:创建 Azure VHD 镜像:
登录到 Azure 门户。
首先在左测工具栏选择需要迁移的“虚拟机”。
在“虚拟机”边栏选项卡中进入设置中的“磁盘”。
然后在上方工具栏选择“创建快照”
输入快照的名称 。
选择现有的资源组,或键入新资源组的名称。
对于源磁盘,选择要获取其快照的托管磁盘。
选择用于存储快照的“帐户类型”。 使用 Standard HDD,除非需要将其存储在高性能 SSD 上。
单击创建。
选择需要迁移的虚拟机:
导出 VHD 文件,创建快照导出(不需要停机,完整只读副本)
下载镜像并上传到 S3 对象存储:直接将镜像用 EC2 下载并上传到 AWS 的 S3 对象存储上。
需要本地安装 windows AWS cli 的工具,该工具可以通过命令将镜像文件上传到 S3 上。安装方法:
https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/install-windows.html
PS:如果你已经拥有一台安装了 aws cli 的 AWS EC2 windows server 可以直接运行命令。
将镜像 copy 到 S3 上:
$ aws s3 cp[–options]注释:aws s3 cp 本地镜像存储的路径 S3://桶的路径 S3 命令可以参考:https://docs.amazonaws.cn/cli/latest/userguide/cli-services-s3-commands.html
二:使用 vmimport 工具来实现 VHD 镜像文件导入与 AMI 的转换:
1.创建一个角色 vmimport 并附件策略如下:
附加策略:
2.编辑信任关系:
信任关系的策略如下:
3.导入 VHD AWS CLI 运行命令:
注释:
S3Bucket:是 S3 bucket 桶的名字
S3Key:是 S3 bucket 对象的名字
Progress:是进度
StatusMessage:是状态,分别经历 Pending——Converting——Uploading——Booting——Booted
这里我只截图 3 个状态:
4.我的 AMI(AWS 虚拟机镜像)
在 EC2 中 AMI 找到我们刚刚转换成功的 AMI,并利用该 AMI 启用一台 EC2.
回顾一下 instance 的生命周期,当 EC2 的状态是 Running 的时候,我们就登录进去:
这里需要注意的是登录的用户名与密码是你在 Azure 的 VM 中的系统用户名与密码信息。
总结:
本篇以 Azure 导入映像到 AWS 为例,其他平台迁移大同小异,因为 VM Import/Export 支持的映像类型很多,比如:OVA,VHD/VHDX,VMDK,RAW。
VM Import/Export 可以让您轻松将虚拟机映像从现有环境导入到 Amazon EC2 实例中,然后再将导出回本地环境。它允许您将用于满足 IT 安全、配置管理和合规要求的虚拟机纳入 Amazon EC2 中作为随时可用的实例,从而充分利用其中的现有投资。您还可以将导入的实例导出回本地虚拟化基础设施,从而部署跨 IT 基础设施的工作负载。
除了 Amazon EC2 和 Amazon S3 的标准使用费外,VM Import/Export 无需其他任何费用。
相关文章:
https://docs.aws.amazon.com/zh_cn/vm-import/latest/userguide/what-is-vmimport.html
作者介绍:
李强
AWS 解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内的应用和推广,在物联网和微软的技术栈有着广泛的设计和实践经验。在加入 AWS 之前,曾在东芝中国负责系统开发和运维工作,在微软中国负责中小企业的技术咨询和方案设计工作。
本文转载自 AWS 技术博客。
原文链接:
https://amazonaws-china.com/cn/blogs/china/azure-vm-to-ec2-ami-vm/
评论