在設置虛擬化時,可能需要決定如何處理虛擬機存儲后端。開源選擇使用虛擬機文件或物理設備作為存儲后端。本文介紹這兩種方式的優缺點。
對管理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版本上可用。然而,用于基于文件存儲的虛擬機磁盤文件的后端解決方案在所有版本上很少見。