【IT168 编译】在使用NVMe设备工作了将近一个月后,笔者发现它们可以被很多种基于网络的客户端配置、监控管理和消耗,这些客户端可从vSphere 6.5获得。更重要的是,笔者学习到它们同样可以通过命令行进行管理和监控,这是笔者发现的一个深入了解这些设备不可或缺的特征。这篇文章中将会告诉大家如何使用命令行界面充分利用你的NVMe设备。
笔者工作中使用的NVMe设备,也就是这篇文章中将会提及的设备是镁光800GB 9100 PRO企业HHL NVMe驱动,安装在一台运行vSphere 6.5的戴尔 PowerEdge R610 服务器上。这款驱动被一个VMFS 6 文件系统格式化,为其主机作为一个数据存储而存在。
Esxcli NVMe Commands vSphere 6.5通过多个命令管理和监控ESXi主机上的NVMe设备。笔者使用PuTTY来在一个ESXi主机上运行SSH,以此来使用Esxcli命令监控NVMe设备。
获取NVMe设备的HBA名称和状态:
esxcli nvme device list
显示一个NVMe设备的所有特征:
esxcli nvme device get -A vmhba2
只显示某种特征,如一个NVMe设备的队列数(nq),这个命令同样可用于为各种特征设置属性:
esxcli nvme device feature nq get -A vmhba2
为设备设置日志等级:
esxcli nvme driver loglevel set 1 –A vmhba2
这些命令的输出结果如图一所示:
访问NVMe设备的深度故障排除,显示设备的智能日志信息(图二):
esxcli nvme device log smart get -A vmhba2
你可以通过lscpi命令找到NVMe设备的PCI设备信息。“-p”或“-v”选项必须使用,以查看设备:
lspsi –p | egrep –I nvme
显示一个主机上的所有scsi设备和与其想关联的vmhbas:
esxcfg-scsidevs –A
显示所有设备信息,包括供应商、模型和固件版本(图三):
esxcfg-scsidevs -ld <device name>
显示NVMe设备的驱动信息(图四):
esxcfg-module -i nvme
一个更有作用的命令,显示设备统计和失败命令的数目(图五):
esxcli storage core adapter stats get –a vmhba2
列出NVMe设备的属性(图六):
esxcli storage core device list -d <device>
Esxcli vFlash命令对于NVMe设备的一个用例是vSphere Flash读缓存(vFRC)。有很多esxcli命令可以用来检查设备,与vFlash一起使用。这里是一些例子。
显示flash设备以及它们是否被用于vFlash:
esxcli storage vflash device list
显示vFlash的细节,比如缓存的大小:
esxcli storage vflash module get
获取用于获得vFlash 参数的缓存名称:
esxcli storage vflash cache list
重置指标数:
esxcli storage vflash cache stats reset -c vfc-413278667-vfrc-test
通过NVMe设备使用PowerCLI
vSphere 6.5包括$esxcli命令,可以从PowerCLI脚本调用获取NVMe设备的价值。PowerCLI专家Alan Renouf与笔者一同工作,为笔者整合了一个PowerCLI 脚本,这样笔者就可以在一个vCenter集群上审查所有ESXi主机,显示NVMe设备,并列出可以从其中获得的值。图7为输出结果。
此网页中可以获取该脚本:
http://www.virtu-al.net/2017/01/20/retrieving-nvme-details-powercli/
如同任何其他存储设备一样,Esxtop NVMe设备可以通过esxtop使用。图8显示了输出后按“d”显示NVMe磁盘适配器(VMHBA2),而图9显示了输出后按“u”显示磁盘设备(t10.NVMe)。
尽管NVMe设备是非常强大的设备,可以在大多数情况下通过使用基于网络的客户端被监控和管理,不过有时你也需要使用命令行获取重要的信息,去完全了解这些设备。