原标题:智圣新创|VMware vSphere最佳实践配置(四)-存储原理篇
VMware vSphere® vStorageAPI 为第三方存储阵列和软件供应商提供了一组标准化接口,使他们能够将其产品与 VMware vSphere 集成起来。
VMware vSphere® 虚拟机文件系统 (VMFS) 是vSphere 在共享存储中支持的两种文件系统类型之一。VMFS 是专为虚拟机设计的高性能集群文件系统。除 VMFS 外,vStorage 还能利用网络文件系统 (NFS) 共享存储来托管虚拟机。如下图所示:
VMkernel 中的虚拟机监视器是虚拟机的客户操作系统/应用与 ESXi 主机的物理存储子系统之间的接口。
客户操作系统只能识别一个虚拟磁盘,即通过虚拟 SCSI 控制器呈现给客户机的虚拟磁盘。根据虚拟机配置的不同,可用的虚拟 SCSI 控制器包括 BusLogic Parallel、LSI Logic Parallel、LSI Logic SAS 或 VMware 半虚拟化SCSI 控制器。
最多可为每个虚拟机配置四个虚拟 SCSI 控制器,而每个控制器最多支持 15 个虚拟 SCSI 磁盘。通过虚拟 SCSI 控制器访问的每个虚拟磁盘均将映射至 ESXi 主机的可用物理数据存储。这类数据存储可格式化为 VMFS 或 NFS 文件系统。它们可位于本地 SCSI 磁盘或 FC、iSCSI、NAS 阵列中。
LUN 指的是逻辑单元号。它仅表示由存储管理员在存储阵列中划出的一个逻辑空间。为便于识别这部分空间,存储管理员为每个逻辑卷分配了一个编号。图中共有 10 个 LUN,总容量为 20 GB。术语“LUN”可代表整个物理磁盘,也可以是较大物理磁盘或磁盘卷的一部分。可以利用存储磁盘或阵列的整个空间创建单个 LUN,也可以仅利用其部分空间(即分区)创建单个LUN。如果虚拟机需要直接识别 LUN,可使用裸磁盘映射 (RDM) 实现这一目的。
LUN 映射到 ESXi 后,即称为卷。卷的大小可以小于或大于物理磁盘驱动器的大小。当 LUN 使用多个物理磁盘或分区上的磁盘空间时,对于 ESXi 仍呈现为一个卷。
当卷被格式化为 VMFS 或 NFS文件系统后,即称为数据存储。数据存储属于逻辑容器,类似于文件系统,可将各存储设备的特性隐藏起来,并提供一个统一模型来存储虚拟机文件。因此,数据存储是格式化为某种文件系统的卷分区。
为获得最佳性能,不应为 LUN 配置多个分区和多个 VMFS 数据存储。每个 LUN 都只应当具有一个 VMFS 数据存储。
数据存储是为存储虚拟机内容的虚拟磁盘提供的存储空间。
如图所示,虚拟机作为一组文件存储在数据存储中的其专有目录下。根据数据中心中物理存储类型的不同,数据存储会被格式化为 VMFS 或 NFS 卷,您可以像操作文件那样操作数据存储,对其进行备份等操作。
请注意,VMFS5 最多支持在每个系统上部署 256 个 VMFS 卷,每个卷的最小容量为 1.3 GB,最大为64 TB。【vsphere6.5最新版本VMFS6将支持8GB容量大小及512e模式的4k硬盘】
默认情况下,最多支持在每个系统上部署 8 个 NFS 数据存储,最多可以增加到每系统 64 个 NFS数据存储。除虚拟机文件外,数据存储还可用于存储 ISO 映像、虚拟机模板和软盘映像。
虚拟机通常驻留在 ESXi 主机创建的文件夹或子目录中。当用户新建虚拟机时,数据存储中会自动创建虚拟机文件。
首先是 .vmx 文件。这是虚拟机配置文件,也是存储在“NewVirtualMachineWizard” (新建虚拟机向导)或虚拟机设置编辑器中所选设置的主要配置文件。其次是 .vmxf 文件,这是虚拟机的附加配置文件。
第三个是 .vmdk 文件。这是一个 ASCII 文本文件,用于存储虚拟机硬盘驱动器的相关信息。可以存在一个或多个虚拟磁盘文件。
第四个是 -flat.vmdk 文件。这是一个包含虚拟磁盘数据的预分配磁盘文件。第五个是.nvram 文件。这是一个存储虚拟机 BIOS 信息的非易失性 RAM。第六个是 .vmss 文件,这是虚拟机的挂起状况文件,用于存储挂起虚拟机的状态。
第七个是 .vmsd 文件。这是一个存储快照信息和元数据的集中式文件。
第八个是 .vmsn 文件。这是一个存储拍摄快照时虚拟机运行状态的快照状态文件。
第九个是 .vswp 文件,是用于内存分配的虚拟机交换文件。
最后一个是 .log 文件,这是虚拟机日志文件,用于在遇到问题时协助排除故障。此文件存储在保存虚拟机配置文件(.vmx 文件)的目录下。
用于存储的数据存储类型取决于数据中心内物理存储设备的类型。物理存储设备包括本地SCSI 磁盘,以及 FC SAN 磁盘阵列、iSCSI SAN 磁盘阵列和 NAS 阵列等网络存储设备。
本地 SCSI 磁盘将虚拟机文件存储在通过总线直接连接到 ESXi 主机的内部或外部存储设备。
网络存储将虚拟机文件存储在 ESXi 主机以外的外部共享存储设备或阵列中。ESXi 主机通过高速网络与这些网络设备进行通信。
请注意,当将本地磁盘、FC SAN 和 iSCSI SAN 格式化为 VMFS 文件类型以便 ESXi 主机访问它们。NAS 阵列必须格式化为 NFS 文件类型,ESXi 主机才能访问这些阵列。
VMFS 卷是一个集群化文件系统,允许多台主机同时读写同一个存储设备。
该集群文件系统为 vSphere 的重要功能提供支持,如在主机之间实时迁移正在运行的虚拟机。它还支持在另一台主机上自动重新启动故障虚拟机,并跨越不同主机部署虚拟机集群。
VMFS 提供了磁盘分布式锁定系统,可避免多台主机同时启动同一虚拟机。如果一台 ESXi 主机出现故障,则会解除每个虚拟机的磁盘锁定,从而使这些虚拟机可以在其他 ESXi 主机上重新启动。
除锁定功能外,虚拟机还能在 SAN 环境下安全运行,即使有多台 ESXi 主机共享同一 VMFS 数据存储也不受影响。请注意,您最多可以将128 台主机连接到同一个 VMFS5 卷。虚拟机的硬盘驱动器实际上是 VMFS 卷中的一个文件。这些文件为 .vmdk 和 .flat-vmdk 文件。虚拟机通过虚拟机中的虚拟 SCSI 控制器来访问硬盘,它对底层存储体系结构则一无所知。
VMFS 可部署在各种基于 SCSI 的存储设备中,如 FC 和 iSCSI SAN 设备。在虚拟机看来,VMFS 中存储的虚拟磁盘始终是一种装载的 SCSI 设备。虚拟磁盘对虚拟机的操作系统隐藏了物理存储层。该功能可在虚拟机中运行未经 SAN 认证的操作系统。对虚拟机内的操作系统而言,VMFS 会保留内部文件系统的语义,从而确保虚拟机中运行的应用具有正确的应用程序行为及数据完整性。
NFS 是一种文件共享协议,用于在 ESXi 主机和 NAS 设备之间建立“客户端-服务器” 关系。与块存储不同,NAS 系统本身负责管理物理存储上的文件和目录的布局及结构。ESXi 主机可装载 NFS 卷,并为每个虚拟机创建一个目录。NFS 卷提供共享存储功能来支持 ESXi,其中包括 vMotion、DRS、VMware vSphere High Availability、ISO 映像和虚拟机快照等功能。
NFS 允许运行多个虚拟机的多台 ESXi 主机同时访问卷。
NFS 与 VMFS 数据存储所具备的优势类似。将存储调配到 ESXi 主机后,vCenter 管理员即可随意按需使用该存储。NFS 数据存储的其他优势包括高性能与存储节约,这些都得益于精简配置。在 NFS 上创建的 VMDK 默认采用精简配置格式。内置在 ESXi 中的 NFS 客户端采用 NFS 协议版本 3 与 NAS 或 NFS 服务器进行通信。NFS 默认将精简磁盘配置用作虚拟磁盘。带有 VAAI 硬件加速的 NFS 数据存储支持平面磁盘、厚配置与精简配置。
请注意,NFS 数据存储经常用于在 VMware 基础架构中部署存储。