为开源虚拟化环境选择存储后端 虚拟化
在设置虚拟化时,可能需要决定如何处理虚拟机存储后端。开源选择使用虚拟机文件或物理设备作为存储后端。本文介绍这两种方式的优缺点。
对管理VMware环境的管理员来说,选择很清晰:在VMware中,默认格式是虚拟机文件系统VMFS。之前与开源虚拟化与开源虚拟化环境打交道的人有这完全不同的观点,因为这些环境不支持VMFS。
尽管开源hypervisor不支持VMFS,但仍有一些原因促使使用文件系统存储后端。最重要的是虚拟机使用文件作为其存储后端,可以通过复制文件到新目的地,从而实现轻松迁移。
如果你的虚拟化环境不止一台服务器,那么需要确保文件通过多节点同时访问,尤其是如果想使用热迁移。这是开源虚拟化无法提供明确格式的表现。
在开源虚拟化环境中有三种常见的文件系统方式。虚拟机的存储文件开源在网络文件系统NFS共享、Global File System 2(GFS2)或Oracle Cluster File System 2(OCFS2)上创建。
如果虚拟机磁盘后端文件存储在NFS上,NFS服务器需要设置成高可用性模式。这让设置复杂化,不是理想化解决方案。
剩余的两种文件系统——GFS2与OCFS2——允许多个节点同时间访问文件系统,共享文件锁定信息。它们都运作良好,但设置集群通讯比较麻烦。OCFS2在非红帽环境中最常见的各式,但需要一个完整的集群堆栈。红帽的GFS2更轻松,无需完整的集群堆栈,但它只在红帽、CentOS与Fedora Linux 版本环境中集成度好。
由于缺乏标准的共享文件系统,基于磁盘的存储后端对开源虚拟化更具吸引力。基于磁盘的存储后端通常位于Logical Volume Manager(LVM)上。LVM可以在开源虚拟环境中的节点之间同步锁定信息,并在所有Linux版本上可用。这种同步由运行两个组件实现:Distributed Lock Manager与Cluster LVM守护进程。这些组件也需要访问功能集群,但在所有Linux版本中可用。
使用基于磁盘的虚拟机,理论上的缺陷在于LVM存储设备不像文件那样好复制。但这不是真正的缺点。Linux版本可用“dd”命令复制块设备,这使得在存储阵列之间移动虚拟机相当轻松。
由于Linux上基于文件的虚拟机磁盘缺乏通用的标准,基于磁盘的虚拟机在开源虚拟化中很常见。使用这种方式的优势是需要同步锁定信息的LVM技术在所有Linux版本上可用。然而,用于基于文件存储的虚拟机磁盘文件的后端解决方案在所有版本上很少见。