将虚拟机 (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 命令行界面等客户端可能无法运行一个不同的端口.
最后, 重要的是评估任何潜在的虚拟机对每个公共云提供商的兼容性限制, 并采取措施来解决和补救任何云计算兼容性问题. 采用工具也可以用来帮助评估过程.
例如, 谷歌云平台提供了一个预检工具, 旨在查找干扰虚拟机导入或导入虚拟机后导致出现的问题. 而即使采用仔细评估并正确的流程, 并非所有虚拟机都能在公共云中正确导入或运行.
来源: http://virtual.51cto.com/art/201806/576616.htm