|
|
|
|
移动端

虚拟机迁移会带来哪些云计算兼容性问题?

将虚拟机(VM)移动到公共云时可能会出现许多兼容性问题。工作人员需要注意与分区、操作系统和映像格式的兼容性问题,以确保顺利迁移。

作者:Stephen J. Bigelow来源:企业网D1Net|2018-06-20 14:45

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

将虚拟机(VM)移动到公共云时可能会出现许多兼容性问题。工作人员需要注意与分区、操作系统和映像格式的兼容性问题,以确保顺利迁移。

企业在虚拟机迁移过程中需要检查云计算兼容性,以确保虚拟机移动到公共云时尽可能不受干扰。

在理想情况下,任何公共云实例都应该支持任何有效的虚拟机(VM)。尽管像亚马逊网络服务(AWS)和谷歌云平台(GCP)这样的公共云提供商试图支持广泛的虚拟机(VM)客户端,但兼容性并不普遍或不能保证。常见的兼容性问题可能包括操作系统版本、图像格式和实例支持。在企业尝试将任何虚拟机迁移到公共云之前,检查云计算兼容性是必要的。

例如,Amazon Elastic Compute Cloud(EC2)实例支持多种操作系统,但不是全部。通常,EC2支持Windows 7及更高版本的桌面操作系统版本,以及Windows Server 2003 Service Pack 1及更高版本——32位和64位。 Windows支持仅在Windows 8.1和Windows Server 2008 R2中转换为64位。

分区和文件系统影响云计算兼容性

Windows操作系统应使用NT文件系统使用传统的主引导记录(MBR)分区。以后的卷技术(如全局唯一标识符分区表卷)可能不受支持。

同样,EC2支持一系列64位Linux版本,包括Ubuntu 12.04,CentOS 5.1,Red Hat企业Linux(RHEL)5.1,SUSE Linux Enterprise Server 11 SP1,内核2.6.32.12-0.7,Debian 6.0.0、Oracle Linux 6.1、Fedora Server 19,以及这些操作系统的所有后续版本。

其他公共云提供商可能会施加类似的限制。例如,谷歌云平台实例支持Windows Server 2008 R2; 2012 R2或2016,以及RHEL,CentOS或Oracle Linux 6或7,Debian 8或9以及Ubuntu 14.04或16.04。

企业准备好将虚拟机迁移到云端了吗?

在迁移任何虚拟机之前,需要检查其虚拟机是否已正确配置。由于不同的公共云提供商有各种各样的要求,预迁移的流程可能很长,但是尽早检查正确的配置将使整个流程更加高效。

企业需要评估适合性和成本,以确定迁移过程是否适合,以及可能需要做些什么才能进一步做好准备。根据每个虚拟机的工作负载,迁移过程可能会有很大的不同。迁移需要逐一检查,特别要注意复杂性、资源需求、性能和依赖性。

在准备好之后,企业应该学习如何执行升级和移位迁移,这些迁移可以将虚拟机及其所有依赖项带到公共云。此过程通常涉及大量人工操作步骤,但使用AWS、谷歌云平台和Microsoft Azure提供的工具,企业可以自动执行大部分流程。

就Linux下的分区和文件系统而言,AWS需要使用ext2、ext3、ext4、btrfs、jfs或xfs文件系统格式化的MBR分区。谷歌云平台建议安装带有Grand Unified Bootloader的MBR分区。

这里的问题在于,公共云提供商可能不支持托管时间较早或替代操作系统的虚拟机,这将导致无法将该虚拟机迁移到公共云实例。例如,在公共云中运行高度修改或定制的Linux版本时可能会出现问题。测试云计算兼容性至关重要。

检查虚拟机映像格式

要迁移虚拟机,通常需要创建映像文件,将该映像文件上传到存储资源,执行一系列转换以在公共云中运行该映像,并将转换后的映像部署到计算实例中。但是,公共云提供商可能会对兼容的虚拟机映像格式施加限制。

例如,AWS公共云以开放虚拟化格式启用虚拟机导入和导出;与VMware ESX和vSphere兼容的虚拟机磁盘映像格式;固定和动态虚拟硬盘映像格式,与Microsoft Hyper-V和Citrix Xen兼容;以及原始格式。

实际上,这种兼容性覆盖了绝大多数企业虚拟机,但验证映像格式兼容性非常重要。可能需要转换映像格式,将用户端的虚拟机以兼容格式导出或考虑完全移除虚拟机迁移。

评估公共云提供商的目标实例类型。尽管大多数类型的公共云实例都应该支持虚拟机迁移,但可用的实例类型对于某些操作系统可能会受到限制。例如,AWS将Linux VM限制为通用实例的t2.micro、t2.small、t2.medium、m3.medium、m3.large、m3.xlarge和m3.2xlarge。对于计算优化、内存优化、存储优化以及加速AWS实例,存在类似的云计算兼容性限制。

尽管大多数类型的公共云实例都应该支持虚拟机迁移,但可用的实例类型对于某些操作系统可能会受到限制。

例如,对于Windows VM,谷歌云平台无法导入配置为多个磁盘的映像。每个磁盘都需要单独的步骤来导入和附加图像。同样,Windows VM也不能使用3.0以前的PowerShell版本,因为它们可能会导致谷歌云实例的启动和关闭问题。

当Secure Shell(SSH)未在端口22上运行时,可能会发生Linux VM的其他潜在云计算兼容性问题。谷歌云平台使用端口22进行SSH登录,而且如果SSH使用不同的端口,则云控制台和gcloud命令行界面等客户端可能无法运行一个不同的端口。

最后,重要的是评估任何潜在的虚拟机对每个公共云提供商的兼容性限制,并采取措施来解决和补救任何云计算兼容性问题。采用工具也可以用来帮助评估过程。

例如,谷歌云平台提供了一个预检工具,旨在查找干扰虚拟机导入或导入虚拟机后导致出现的问题。而即使采用仔细评估并正确的流程,并非所有虚拟机都能在公共云中正确导入或运行。

【编辑推荐】

  1. Docker容器与虚拟机有什么区别?
  2. 检测Android虚拟机的方法和代码实现
  3. 云计算虚拟化典型结构与访问应用模式
  4. 当发现你的OpenStack虚拟机网络有问题,不妨先试一下这16个步骤
  5. 警惕!数据中心这五种情况不适合系统中心虚拟机管理器
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java网络编程精解

本书结合大量的典型实例,详细介绍了用Java来编写网络应用程序的技术。本书的范例都基于最新的JDK 1.5版本,书中内容包括:Java网络编程的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊