在某6节点vSphere与vSAN的项目中,每台服务器配置了2个Intel
Gold 5218R的CPU,配置了1.5TB内存,3块PCIe NVMe 6.4TB的 SSD和12块12TB NL-SAS的磁盘。安装了VMware ESXi 6.7.0-17499825的系统,配置vSAN。每台主机规划配置3个磁盘组(每个磁盘组1块6.4TB的SSD和4块12TB的HDD)。如图1所示。
图1 vSAN节点主机配置
在向vSAN添加磁盘组的时候,每台主机添加到第3个磁盘组时出错,错误信息为“出现了常规系统错误:Unable to create LSOM file system for VSAN disk naa. 5000039aa8000f99 please see Vmkernel log for more details”,如图2所示。
图2 无法创建磁盘组
在“监控→vSAN→Skyline运行状况”中,在“物理磁盘→运维运行状况”有报错信息,如图3所示。
图3 磁盘运维运行状况
在“内存池(堆)”中,显示172.16.200.12(当前准备添加第3个磁盘组的主机)LSOM报警,如图4所示。
图4 LSOM报警
出现这种情况,是ESXi主机上的LSOM内存设置过小造成的。在vSAN中,使用较大容量(1TB以上)的缓存层SSD时,创建第3个或后续的磁盘组,如果LSOM设置过小会失败。解决的方式是,增加ESXi主机上的LSOM内存的数值。
(1)为ESXi主机启动ssh服务。使用ssh客户端软件(例如xshell)登录到ESXi主机。
(2)执行esxcfg-advcfg -g /LSOM/heapsize查看当前默认堆内存大小,当前ESXi主机显示为256。
(3)执行esxcfg-advcfg -s 2047 /LSOM/heapSize,将默认堆内存大小从 256 分别更改为 2047。
如果是ESXi 6.0 U2的版本,可以执行esxcfg-advcfg -s 1024 /LSOM/heapSize将堆内存更改为1024。对于ESXi 6.0 U3及更高版本可以修改为2047。如图5所示。
图5 修改堆内存大小
然后将主机置于维护模式,重新启动ESXi主机让设置生效。对于群集中的其他主机,也需要修改堆内存大小为2047,然后将主机置于维护模式后重启,再次进入系统后,退出维护模式。注意,在进入维护模式时,要一台一台分别执行,不要同时将多台主机置于维护模式。
在修改了LSOM堆内存参数之后,再次添加磁盘组,可以看到成功创建第3个磁盘组,如图6所示。
图6 成功创建第3个磁盘组
在前期的操作中,因为无法为每台主机创建3个磁盘组,所以每台主机创建了2个磁盘组,每个磁盘组1个SSD和6个HDD。如果要调整为每台主机配置3个磁盘组,每个磁盘组1个SSD和4个HDD。需要从每个磁盘组中移除2个HDD,然后再添加第3个磁盘组。在从每个磁盘组中移除HDD时,不能一次移除2个HDD,而是每次移除1个HDD,并且选择“迁移所有数据”(如图7所示)。每次移除HDD所需要的时间,视当前移除HDD上保存的数据量大小来定。当前磁盘组中每个HDD保存的数据一般在800GB至1.2TB之间,一般需要几个小时的时间。
图7 迁移所有数据
等主机有4个空闲的HDD后,再创建第3个磁盘组。也可以在移除完1个HDD后,创建第3个磁盘组,每个磁盘组中1个SSD和1个HDD。然后再移除其他HDD,并且移除完1个,添加1个。直到每台主机具有3个磁盘组,每个磁盘组1个SSD和4个HDD的数量。最后6台主机共有90个磁盘经,每个主机3个磁盘组,合计18个磁盘组,如图8所示。
图8 配置完成