很多时候,我们会有这样的需求,需要将DC中vmware虚拟化的服务器,迁移到aws上,我们就得先将vmware虚拟机导出,然后转换

关于vmvare虚拟的导出备份,一般有ova(Open Virtual Appliance )文件件和ovf(Open Virtual Format)多文件两种格式

笔者根据自己的实际工作经验,整理了主要操作过程,需要如下3步:

1、导出OVA/OVF备份

2、将OVA/OVF上传至S3上

3、将S3上的OVA/OVF转换成AMI

关于OVA/OVF转换成AMI,也可参考如下AWS官方文档资料:

https://docs.amazonaws.cn/vm-import/latest/userguide/vmimport-image-import.html

+++++++++ 具体操作如下,以OVF格式为例):

1、事先需要准备的,创建一个s3桶:s3://dcvmbackup,然后可以在其下单独创建一个文件夹DC-VM-HGTAA02V

2、将导出的OVF备份目录同步到s3上(使用cp上传可能会中断,推荐使用sync同步)

[qq_5201351@localhost DC-VM-HGTAA02V]# aws s3 sync ./ s3://dcvmbackup/DC-VM-HGTAA02V

3、上传完成后,将S3上的备份转换成AMI,先写ovf转换成ami的json文件(如写到 /tmp/vm.json):

[
{
"Description": "First disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "dcvmbackup",
"S3Key": "DC-VM-HGTAA02V/HGTAA02V-1.vmdk"
}
},
{
"Description": "Second disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "dcvmbackup",
"S3Key": "DC-VM-HGTAA02V/HGTAA02V-2.vmdk"
}
}
]

3、执行转换命令(成功后,将在aws层的后台执行了)

aws ec2 import-image --description "DC-VM-HGTAA02V" --disk-containers "file:///tmp/vm.json"

4、执行后,会在终端输出一个import-task-ids,这个值将默认作为AMI转换成功后,AWS/AMIs界面中的AMI Name

后续也需要使用此值,查询转换的状态(会分几个阶段执行的,完全转换完成后,如下所示,在第一行最后会显示completed)

[qq_5201351@localhost ~]# aws ec2 describe-import-image-tasks --import-task-ids import-ami-0b31bf4357b880a82
IMPORTIMAGETASKS x86_64 DC-VM-HGTAA02V ami-0fa0c86c6cf316c83 import-ami-0b31bf4357b880a82 AWS Windows completed
SNAPSHOTDETAILS First disk /dev/sda1 25364550656.0 VMDK snap-0e46853558beb56dd completed
USERBUCKET dcvmbackup DC-VM-HGTAA02V/HGTAA02V-1.vmdk
SNAPSHOTDETAILS Second disk /dev/sdg 27609645568.0 VMDK snap-075b0c2042a3e6a88 completed
USERBUCKET dcvmbackup DC-VM-HGTAA02V/HGTAA02V-2.vmdk
[qq_5201351@localhost ~]#

说明:转换完成后,才会看到AMI-ID,如下所示的ami-0fa0c86c6cf316c83

++++++ 补充说明:如果是OVA格式的,只是json文件格式不一样,因为是单文件、所以语法会更加简洁一些,如下:

不过,好像新版本的Vcenter/Esxi,大多默认都只支持OVF格式的导出了

[
{
"Description": "My Server OVA",
"Format": "ova",
"UserBucket": {
"S3Bucket": "my-import-bucket",
"S3Key": "vms/my-server-vm.ova"
}
}
]

关于OVA格式的转换同OVF一样的,公司此前在转换有些主机时,也可能会加上--license-type BYOL选项,从技术上来说,不加也是可以的

如果是要取消处于活跃状态的导入任务,我们可以使用 cancel-import-task 命令,如下:

aws ec2 cancel-import-task --import-task-id import-ami-1234567890abcdef0

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/14706034.html

关于vmware虚拟机的ova/ovf转换成aws上的AMI镜像的更多相关文章

  1. [镜像转换] ova文件转换成raw文件, 导入到openstack

    ova转raw 使用工具: qemu-img.libguestfs-tools.libguestfs-winsupport # 从vmware导出ova文件, tar 解压导出来的ova文件 $ ta ...

  2. [日常工作]虚拟机或者实体机转换成HyperV虚拟机的方法

    1.环境种类比较多, 有vb的 vm的还有人想直接用hyperV的 毕竟docker 是一个趋势, win10 上面 安装了hyperV 启用docker 角色之后 安装vb和vm的话 就没法启用CP ...

  3. 把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5

    引用地址:https://blog.csdn.net/zebra2011/article/details/83046841 一.前言    之前发现ESXi是免费的时候,非常兴奋地把几台服务器都装上了 ...

  4. VMware虚拟机下如何安装一个64位的win7系统

    原文地址:http://www.xitongcheng.com/jiaocheng/win7_article_21001.html VMware虚拟机软件可以在一台电脑上运行多个操作系统,一些网友想在 ...

  5. 将数据库中的内容展示出来并将某些value值转换成汉字

    1.将数据库中的内容展示出来 前台代码未做改变,刚开始未显示的原因是因为 data-field 跟数据库不一样data-field 需要跟数据库中的一样才可以 2.将某些value值转换成汉字 在li ...

  6. 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)

    目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...

  7. 将vmware虚拟机转换成qcow2格式的方法

    将vmware虚拟机转换成qcow2格式的方法 http://blog.51cto.com/13570993/2074071 关于qemu安装出现的问题 1.配置qemu是出现can't find p ...

  8. 如何将hyper-v虚拟机转换成vmware的虚拟机- 转换SharePoint 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1)

    官方有一个用于SharePoint的demo用的虚拟机: 2010 Information Worker Demonstration and Evaluation Virtual Machine (S ...

  9. WMware VMX格式转换成OVF

    1.关于VMX格式 vmx文件是vmware虚拟机系统的配置文件,注意:刚刚安装好VMware Workstation以后是找不到这个文件的,当你在VMware Workstation中建立了一个虚拟 ...

随机推荐

  1. python 日志类

    简介 在所有项目中必不可少的一定是日志记录系统,python为我们提供了一个比较方便的日志模块logging,通常,我们都会基于此模块编写一个日志记录类,方便将项目中的日志记录到文件中. loggin ...

  2. 题解【CodeForces 910A The Way to Home】

    题目大意 一只青蛙现在在一个数轴上,它现在要从点 \(1\) 跳到点 \(n\) ,它每次可以向右跳不超过 \(d\) 个单位.比如,它可以从点 \(x\) 跳到点 \(x+a\)(\(1\le a\ ...

  3. iOS自动化打包 Jenkins+Gitlab+Fastlane+蒲公英+钉钉

    前言 这两天花时间整理一下自动化打包的整套流程,现在iOS端的整套流程是没有问题了,这个过程中踩得坑也的确是特别多,所以这周末把整个流程整理一下,总结出来这篇文章,希望能对有需要的小伙伴有点点帮助. ...

  4. Odoo14 一些好用的开源的模块

    # odoo14中一些好用的开源的模块 1.intero_reload_form 刷新按钮(页面数据刷新,而不是按F5刷新整个页面) 2.ms_magic_button 弹框下拉选项 3.sessio ...

  5. ROS机械臂 Movelt 学习笔记4 | Move Group 接口 Python

    Python 的使用总是比 C++ 简单许多,Move Group 的 Python 接口更为便捷,也为使用者提供了很多用于操纵机器人和机械臂的函数,能够和 C++ 接口实现相同的功能: 设置机械臂的 ...

  6. C++ 炼气期之结构体

    1. 前言 随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值.且复杂的类型数据. 为了能抽象地描述这些非数值.复杂类型的数据,C++引入了复合数据类型的概念 ...

  7. 【AGC】如何快速部署Serverless Url缩短模板

    使用场景 Serverless短URL生成模板实现您将在云数据库服务中URL缩短的诉求.使用此模板后,仅需在云数据库服务侧配置长URL值.Serverless短URL生成模板会在后台与Bitly AP ...

  8. 【Java】学习路径47-线程锁synchronized

    线程安全问题: 简单来说,就是多个线程在操作同一个变量时引起的问题. 这里是用一个简单的例子说明一下: 以Runnable创建的线程为例:一个售票系统,count代表当前票数,卖出一张count--. ...

  9. 小技巧:webpack中@的配置和用法

    好家伙, 当我们要各种两个文件去引用别的文件时,一般这么写 import msg from '../../msg.js' 那么如果文件藏得很深,'../'会变得很多,不美观,也不直观 所以我们又又又可 ...

  10. Linux之搭建FTP服务

    引用:FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP是File Transfer Proto ...