主机缓存与Flash资源管理
2018-11-07
设置主机缓存状态
在VMware vSphere架构环境中,您可以善用Flash设备于各种特殊访问功能,来提升虚拟机的整体运行性能,这包括了Virtual SAN、VMFS数据存放区、虚拟Flash资源。其中结合ESXi主机的VMFS数据存放区,可以让我们将部分Flash的存储区,用来作为所有虚拟机共享的交换缓存,以提升虚拟机的执行性能。做法很简单,只要开启ESXi主机节点的“管理→存储区”页面,然后在“主机缓存组态”页面中,可以发现在默认状态下,并没有设置任何主机缓存空间,点击编辑的小图示继续。
图2 启用CBRC功能
接着请将“设置主机缓存空间”设置勾选,然后输入所要运用的空间大小并点击“确定”。回到上一页面后点击重整图示,便可以查看到最新的设置信息。
另一项增进主机I/O读取性能的功能就是CBRC(Content-Based Read Cache),它同样也是一项默认没有被启用的功能,主要原因我想是它由一块选定的实体记忆大小空间,来作为进行属性读取时的缓存空间。您可以从ESXi主机的“设置→软件→高级设置“界面中找到此项设置。
如图2所示,在此您可以发现CBRC.DCacheSize与CBRC.DCacheMemReserved字段的大小上限值均为2048MB(2GB),前者为数据缓存的大小值,而后者则是欲保留给数据缓存使用的实体内存大小。请修改成您想要的设置值,原则上两者的大小设置相同即可,最后再将CBRC.Enable勾选即可。
设置虚拟Flash资源管理
善用目前在ESXi主机中所安装的Flash设备,来创建虚拟Flash资源将有两大改善整体虚拟化运行的优势,分别是改以VFFS磁盘区而非VMFS数据存放区,来作为替代主机缓存的强化设置(Virtual Flash Host Swap Cache),而所谓的 VFFS 便是一个在vSphere平台上的逻辑容器,它是通过群组化本地Flash设备的管理方式,来提供一个虚拟缓存资源让主机的运行来运用。
另一方面则是可作为虚拟机的Flash读取缓存(Flash Read Cache),来提升关键虚拟机的运行性能,它支持最多一个群集下的32部ESXi主机同时来提供此功能,而每一部ESXi主机则可以最多安装8个Flash设备,且无论是SATA、SAS或PCI Express的存储界面都是支持的。
请先在ESXi主机中点击至“管理→设置”页面,然后展开至“虚拟Flash→虚拟Flash资源管理”。在默认的状态下,并没有任何已设置好的虚拟Flash资源,点击“添加容量”按钮继续。
注 意 :vSphere Flash Read Cache功能唯一支持在vSphere 5.5以上版本。
在“添加虚拟Flahs资源容量”页面中,将会列出目前所有合格的ESXi主机的Flash设备列表。必须注意的是,在此所选取的Flash设备一旦确定之后,将会被立即格式化清除所有数据,以作为虚拟Flash设备。
接着,可以看到目前所有已加入的Flash设备资源,包括了总容量、已用空间、可用空间、虚拟Flash读取缓存的容量以及可用空间等信息。后续,您仍可以在此添加更多可用的Flash设备,若已不再需要使用,也可以在此进行移除。完成了虚拟Flash资源的创建之后,紧接着可以点击至“虚拟Flash主机交换缓存”页面,默认同样没有任何虚拟Flash主机缓存被设置,点击“编辑”继续。
注意:如果目前ESXi主机处于维护模式,则无法添加或修改主机的交换缓存设置,您必须在结束维护模式后,才能继续进行此设置。
勾选“启用虚拟Flash主机交换缓存”设置,输入想要设置的虚拟Flash主机交换缓存大小,目前每一部ESXi主机支持的最大交换缓存容量为4TB。点击“确定”。
监控vSphere vFlash Read Cache
想要知道现阶段虚拟Flash Read Cache的 运作状态,您可以选择使用vCenter Server网站的图形化界面,通过相关的性能计数器来实时查看,也可以选择以ESXCLI命令控制台,通过esxcli storage vflash相关命令来实时查询相关信息。
首先让我们一同来看看图形化界面的使用方法。点击至已启用虚拟Flash Read Cache的虚拟机节点,在“监视器→性能”页面中点击至“高级”,最后点击“图选项”链接。在此您只要点击位于窗格中的“虚拟磁盘”,便可以找到三个关于虚拟Flash Read Cache的计数器,分别是虚拟磁盘的每秒钟虚拟Flash读取缓存I/O、虚拟磁盘的虚拟Flash读取缓存延迟时间、虚拟磁盘的虚拟Flash读取缓存传送量。您除了可以轻易通过鼠标找出不同时间点的性能表现数据之外,还可以将它们输出成PNG、JPG或是CSV文件。
若是不想通过连接vCenter Server网站的方式,来查看虚拟Flash相关信息,您可以改使用ESXCLI命令工具来查询,而进入此命令控制台的方式可以是以SSH远程连接,或是直接从服务端来开启。在此可以使用的相关命令与用途分别如下:
* esxcli storage vflash device list[get]:列出虚拟Flash的所有SSD设备。
* esxcli storage vflash cache list[get]:列出Flash Read Cache名称清单。
* esxcli storage vflash module list[get]:列出Flash Read Cache模块列表。
* esxcli storage vflash cache stats get-c[-m]:取得最新Flash Read Cache统计数据,包括已使用到的缓存百分比、平均使用的IOPS、每个I/O平均的传输量大小等。