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,然后解压客户端包来安装执行