VMware虚拟机迁移到阿里云

news2024/11/25 15:52:01

1. 前言

最近公司内部研发部门有几台jenkins build机器运行在VMware平台上面,由于本地VMware平台底层计算资源不足导致虚拟机运行速度特别慢,每次版本发布都要build好久,而且VMware有时候计算资源不足,还会自动给占用资源大的机器关机,实在是影响了整体研发迭代速度及效率。

经过内部反馈,最终领导说不行迁移到阿里公有云吧,而且公司的build的微服务镜像也都是push到阿里云镜像库,这样整体速度和运行性能会更好一些,内网环境,而且还可以减少了一部分流量开支,是一个不错的选择;

2. 迁移思考

竟然领导发话了,那就看看怎么把VMware上面的虚拟机可以迁移到阿里云,最好能原封不动直接搬迁过去,不需要重新部署jenkins应用,不然这个工作量就比较大了,还需要重新配置,算了,还是看看有没有直接搬迁的解决方案吧。

2.1. 确定迁移方案

虚拟机迁移上云技术层面会有很多解决方案,可以使用冷迁移,就是导镜像方式,还有就是在线迁移,在线迁移其实就是可以源业务保证不停机热迁移数据拷贝上阿里云,最后再做一次增量补充到云上,做到在线迁移效果;

所以有以下两个方式,我们展开分析下

  • 冷迁移 - 导入镜像
  • 在线迁移 - 热迁移

2.2. 迁移方案细化分析

2.2.1. 冷迁移 - 导入镜像

VMware虚拟机其实就是裸设备VMDK文件,阿里云是可以支持直接导入VMDK文件作为镜像,然后再通过导入的自定义镜像来生成虚拟机,通过这种方式冷迁移到阿里云,经过看阿里云的导入镜像的文档,其实还是挺麻烦的,还要符合各种条件,最主要还要安装一些驱动,额… 算了,不是一个很好的选择,不是能力不够,是我嫌麻烦… (内心OS:作为一个IT技术从业人员怎么可能说自己能力不够 🙃 )

2.2.2. 在线迁移 - 热迁移(阿里云SMC)

现在看来之后在线迁移才能满足我的需求,最好是不让我配置一些乱七八糟的驱动,内核文件这些,如果能够直接拷贝VMware的vmdk文件到云上,在自动帮我生成一台一摸一样的虚拟机最好。

功夫不服有心人,我终于在阿里云上面找到了一个所谓的在线迁移工具SMC,这个工具是阿里云免费的产品,可以支持在线迁移,再经过使用之后,这个工具的总的思路如下:

在,

  • 源VMware虚拟机系统内部安装一个Agent客户端

这里需要自行判断是那个版本的linux,然后解压客户端包来安装执行
在这里插入图片描述

  • 执行启动Agent程序,然后输入阿里云账号的AK、SK认证

这里我有点慌,不知道在系统内部安装了什么东西,还提示让我确认,没办法只能跟着走了,个人对这种系统内部安装一堆包比较介意…
在这里插入图片描述

  • 登录到阿里云SMC控制台会看到一台机器
    在这里插入图片描述

  • 创建迁移任务

这里就是创建一个迁移任务,配置一些任务参数,网络、是否增量等等;
在这里插入图片描述

这里阿里云会自动在云上生成一个临时的中转站实例来进行同步任务,迁移完成会自动删除;
在这里插入图片描述

  • 查看迁移进度
    在这里插入图片描述

  • 生成迁移自定义镜像
    在这里插入图片描述

  • 手动使用自定义镜像来生成虚拟机

最终我们可以手动在阿里云ecs控制台来使用迁移过来的自定义镜像来创建虚拟机了,这里跟在阿里云购买虚拟机是同样的操作。
在这里插入图片描述
这里最终技术方案是没问题,确实比冷迁移 - 导入镜像方式确实简单很多,中间会有一些人为手动操作,但是如果有大批量的资源需要迁移,每一台源端都安装Agent,手动执行,其实还是挺费人工的,麻烦… 不太符合我预期…

那有没有稍微更简单的方法,最好是源端VMware虚拟机可以不安装Agent,安装Agent感觉对我系统有侵入性,不太能接受,而且可以支持批量迁移,不用每一次都手动创建一个迁移任务,最后还要手动使用镜像创建虚拟机…

2.2.3. 在线迁移 - 热迁移(万博云迁移 整机)

阿里云工具市场里面发现了一个超乎想象的迁移工具(万博云迁移 整机迁移),上面为了偷懒说出来的所有需求他竟然都可以满足。

  • 无代理迁移VMware虚拟机(也可以支持Agent代理)
  • 批量迁移VMware虚拟机
  • 块级别主机迁移
  • 支持在线增量
  • 主机验证后继续增量数据
  • 自动阿里云端启动虚拟机

这个产品几乎是超配啊,目前阿里云市场9.9元就可以获得免费的5个使用license,是一个比较好薅羊毛的机会(而且我发现这家公司还运行了迁移SaaS产品,可以支持迁移目标不光阿里云,20几朵云商,地址在这里,大家可以体验下云迁移软件)

阿里云市场访问路径 工具与解决方案,搜索 “云迁移” 即可看到万博云迁移

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfWFiKHb-1688045259139)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ccc4127f-6a93-4d0c-9b62-1187c3a742e8/Untitled.png)]
在这里插入图片描述

这个云迁移工具是和阿里云深度集成的,发现整个页面风格都是一样的,应该产品能力挺强的,所以被阿里云给OEM集成了,作为扩展云资源的一个驱动,哈哈😄

万博云迁移工具使用起来还是比较简单的,页面是这样的,思路也是比较清楚的,Agentless则是无代理模式,目前只支持VMware,OpenStack是灰色的暂不支持,有兴趣的了解的,可以登录他们SaaS运营的产品上面
在这里插入图片描述

具体的操作步骤如下

  • 源端部署无代理proxy代理程序(curl 执行安装)
    在这里插入图片描述

这里我们本地需要找一台centos7的实例用来安装源端代理来获取VMware的无代理数据,执行复制上面的指令,在本地的命令行粘贴执行即可;
在这里插入图片描述

  • 连接源端VMware平台(这里是调用的vCenter的API接口,输入vCenter的地址及用户名密码就可以)

    这里写的是本地VMware的连接信息,以及刚才安装的源端同步节点,就上边执行成功会自动添加到同步节点;
    在这里插入图片描述

  • 批量选择需要迁移的机器

    下一步确定后,如果认证通过,将会自动获取VMware的主机清单列表;
    在这里插入图片描述
    勾选你要迁移的主机资源,并点击确定
    在这里插入图片描述
    在这里插入图片描述

  • 创建数据同步代理(阿里云)

    此时勾选主机下一步时,需要创建一个阿里云数据同步代理,这里跟阿里云SMC基本差不多,就是在阿里云临时启动一个代理用来接收数据,这里选择相应的配置就可以了,公网传输的话,速度快点,可以公网带宽大一些,这里都是按量付费购买的。
    在这里插入图片描述
    确定之后会稍有个几分钟等待创建的动作,完成后即可继续进行上面的动作了。
    在这里插入图片描述

  • 配置目标资源存储规格

    回到迁移列表里面,就可以继续刚才操作,选中要迁移的机器,进行下一步
    在这里插入图片描述
    这里选择存储,也就是上面创建的阿里云数据同步代理,然后在选择你要使用的存储池,也就是磁盘使用什么规格的,ssd、高效还是essd,根据自己需要选择即可;
    在这里插入图片描述

  • 开始同步迁移数据

    选中需要迁移数据同步的主机,直接点击数据同步按钮即可,这个时候会自动进行数据同步。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

数据同步完成之后,就可以在阿里云上面将此机器启动一台虚拟机了

  • 启动系统(阿里云)
    在这里插入图片描述

配置启动系统所需要的参数,这里其实就是跟阿里云创建虚拟机的选择参数是一样,不过放在同一个迁移平台去做,感觉更加流程,不像是阿里云SMC工具,还要两边来回切换,比较麻烦。
在这里插入图片描述

配置之后就可以点击确定,迁移工具就会按照选配信息进行创建虚拟机了,需要等待几分钟,速度还是比较快的。
在这里插入图片描述
在这里插入图片描述

3. 分析汇总

最终还是薅了把羊毛,5个license就快速的把本地的几台机器全部迁移到了阿里云,可谓是简单、简单、真简单,如果有需求的小伙伴,这里推荐试一试,还是可以的。

这里我们来对比下两款产品的优劣势:

功能/产品阿里云SMC阿里云集成
使用体验简单简单、自动化程度高、学习成本低
迁移源端支持全部Agent方式Agent、Agentless,代理无代理两种
无代理迁移VMware不支持支持
批量迁移VMware虚拟机不支持支持
迁移方式文件、块级别块级别
多云支持只支持阿里云支持,自运营SaaS版本支持20+多云
同步增量策略支持支持
支持多个同步时间点恢复不支持支持
自动驱动修复支持支持
自动创建虚拟机人工镜像创建,不支持支持,自动调用接口创建
收费免费商业软件,可以薅羊毛,企业迁移推荐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/701566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx中的防盗链原理

一、什么是资源盗链 资源盗链是指内容不在自己服务器上,而通过技术手段,绕过别人的限制,将别人的内容,比如热门的图片放到自己页面上,展示给用户,以此来盗取别人网站的流量,即蹭流量。 简而言…

Mybatis【Map传参与模糊查询】

使用 Map 传参 当我们的实体类或者对应的数据库表的字段过多时,应当考虑使用Map! 我们之前通过对象传递参数来实现增改时,是通过传递对象做参数 来实现的: 我们在测试类中调用接口中的方法后,UserMapper.xml 会自动根…

阿里云短信发送接口实现

使用阿里云短信接口发送验证码 1. 引入依赖 springboot 工程引入web 引入 lombok 关键代码引入 <!--阿里云短信服务--> <dependency><groupId>com.aliyun</groupId><artifactId>dysmsapi20170525</artifactId><version>2.0.23<…

记录一次重装windows11没有WiFi驱动的排错错误示范

机器是自己组装的台式机&#xff1a; 查看主板的幸好&#xff0c;机箱我是没看懂&#xff0c;然后台式机 bios或者 msinfo32都可以查看 显示&#xff1a; 如下的页面进行查询&#xff1a; 下载 windows的驱动程序和工具包&#xff0c;结果显示华硕官网没有对应的驱动&#xf…

在线Markdown编辑器

一直在寻找一款好用的在线Markdown编辑器&#xff0c;但是好像没有比较知名的简洁的&#xff0c;寻思自己赶紧搞一个&#xff0c;于是找了项目&#xff0c;手动搞了一个上线了&#xff0c;效果不错&#xff0c;特性拉满。欢迎试用 支持“标准” Markdown / CommonMark 和 Gith…

点云可视化

pcl::visualization::CloudViewer 与 pcl::visualization::PCLVisualizer的区别 pcl::visualization::CloudViewer是一个简单的点云查看器类&#xff0c;提供了一个简单的接口来在窗口中显示点云数据。它可以快速地显示点云&#xff0c;并且只需要几行代码即可实现简单的点云查…

数据结构与算法:链表、树、图、堆、散列表

1 链表 链表是线性数据结构&#xff08;数据元素之间存在着“一对一”关系&#xff09;&#xff0c;链表中的每个元素是一个包含数据data和引用字段的对象&#xff0c;引用字段只有next为单向链表&#xff0c;同时又prev和next为双向链表。 1.1 链表基本操作 链表读取第 i 个…

java集合体系结构笔记

java集合的特点&#xff1a; 提供一种存储空间可变的存储模型&#xff0c;存储的数据容量可以随时发生改变。 单列数据&#xff1a; 双列数据&#xff1a; 单列数据集合存储实现接口Collection 双列数据集合存储实现接口Map 单列数据集合&#xff0c;数据值可重复存储实…

git杀手级功能 —— 分支管理

目录 分支介绍 创建分支 切换分支 和并分支 删除分支 合并冲突 分支管理策略 分支策略 bug分支 其他问题 强行删除临时分支 结语 分支介绍 在版本回退里发现&#xff1a;每次提交&#xff0c;git都会把它们穿成一条时间线&#xff0c;而这条时间线就可以理解为一个分支…

数据库监控与调优【十八】—— Percona Toolkit调优神器安装与使用

Percona Toolkit调优神器安装与使用 Percona Toolkit安装 本文基于Percona Toolkit 3.2.0&#xff0c;理论支持所有版本。 Percona Toolkit是一款MySQL世界里面非常实用的工具套件&#xff0c;如何安装它。 Windows系统 不支持。详见https://forums.percona.com/discussion/…

vue 一直运行 /sockjs-node/info?t=解决办法

sockjs-node介绍 sockjs-node 是一个JavaScript库&#xff0c;提供跨浏览器JavaScript的API&#xff0c;创建了一个低延迟、全双工的浏览器和web服务器之间通信通道。 服务端&#xff1a;sockjs-node&#xff08;https://github.com/sockjs/sockjs-node&#xff09;客户端&…

短视频抖音账号矩阵系统源码开发者自研(二)

一、短视频账号矩阵系统源码开发储存集群化开发运转更快 短视频账号矩阵系统源码开发采用储存集群化开发&#xff0c;可以显著提高系统的运转速度和效率。通过优化储存结构和算法&#xff0c;系统能够更快地处理短视频账号数据&#xff0c;确保用户能够流畅地浏览和观看短视频…

6.4 原子引用

1、什么是原子引用 原子引用以cas的方式实现控制多线程之前的同步&#xff0c;从而保证多线程的安全性 原子引用主要有以下三个类 AtomicReferenceAtomicStampReferenceAtomicMarkableReference 2、demo演示 Slf4j(topic "c.Test35") public class Test35 {pub…

C++day2

一、类和结构体的区别 成员访问权限&#xff1a;类中的成员默认是私有的&#xff0c;需要使用访问修饰符&#xff08;如public、private、protected&#xff09;来显式指定访问权限。而结构体中的成员默认是公共的&#xff0c;即可以直接访问。 继承&#xff1a;类支持继承&am…

面向对象高级实战演练之银行系统

面向对象高级实战演练之银行系统 实现功能&#xff1a; 1. 银行管理员(使用管理员密码)查看所有用户信息 2. 进入银行系统提示功能 3. 用户密码管理 4. 账户开户/销户 5. 存款/取款 6. 用户间转账 7. 用户余额查询 8. 常见错误检查和提示代码实现&#xff1a; import random…

【LeetCode】动态规划 刷题训练(六)

文章目录 123. 买卖股票的最佳时机 III题目解析零笔交易一笔交易两笔交易 状态转移方程f[i][j]状态转移方程g[i][j]状态转移方程 初始化完整代码 188. 买卖股票的最佳时机 IV题目解析状态转移方程f[i][j]状态转移方程g[i][j]状态转移方程 初始化完整代码 53. 最大子数组和状态转…

vhost-net-原理-初始化流程-数据传输流程

文章目录 1.vhost net2.vhost-net的初始化流程vhost net设置vhost dev设置vhost vring设置 3.数据收发流程分析3.1 数据发送3.2 数据接收 4ioventfd和irqfd的通知机制4.1ioeventfdqemu侧kvm侧总体效果 4.2irqfdqemu侧kvm侧总体效果 参考&#xff1a; 1.vhost net 传统的virtio…

深入理解Java虚拟机jvm-垃圾收集器日志参数

垃圾收集器日志参数 查看GC基本信息查看GC详细信息查看GC前后的堆、方法区可用容量变化查看GC过程中用户线程并发时间以及停顿的时间查看收集器Ergonomics机制&#xff08;自动设置堆空间各分代区域大小、收集目标等内容&#xff0c;从Parallel收集器开始支持&#xff09;自动调…

windows下nginx location root路径问题

Windows版本nginx的多级路径问题 windows 下 nginx location root路径为多级目录的问题解决方案&#xff1a;使用双反斜杠--\\Windows版本的nginx常用命令一览&#xff1a; windows 下 nginx location root路径为多级目录的问题 nginx的windows版本中location路径为多级目录 需…