简介
本文档介绍如何使用隐藏的libfc调试来低级地了解ESXi中光纤通道(FC)通信中使用的端口登录(PLOGI)过程。 通过启用debug_logging,我们能够看到融合网络适配器(CNA)有关扩展链路服务(ELS)帧的信息,例如交换矩阵登录(FLOGI)、端口登录(PLOGI),这是我们通常无法看到的。 如果没有Finisar工具或SPAN,并且您想确保主机在FC堆栈中完成/未完成的内容,则此功能非常有用。
作者:思科TAC工程师Brian Hopkins。
支持的配置
目前,仅ESX上支持此功能,而ESX上有思科虚拟接口卡(VIC),据我所知,其他适配器不支持此功能。
识别当前设置
您可以在ESXi主机上使用以下命令来确保尚未设置此值:
From the CLI of ESXi:
esxcli system module parameters list -m libfc_92
esxcli system module parameters list -m libfcoe_92
输出应如下所示,注意未为debug_logging配置值,这是我们在后续步骤中将更改的值。
更改LIBfc debug_logging设置
要获取更多信息以显示在ESXi的/var/log/vmkernel.log文件中,我们需要启用debug_logging,并且必须重新启动主机:
esxcli system module parameters set -p debug_logging=0xf -m libfc_92
esxcli system module parameters set -p debug_logging=0xf -m libfcoe_92
输入以下命令后,您可以再次检查以确保值现在设置为0xf:
我们仍未完成,在重新启动ESXi主机之前,您将看不到新日志显示。 重新启动ESXi主机后,您可以通过运行以下命令来验证在vmkernel.log文件中是否看到此新更新的数据:
cat /var/log/vmkernel.log | grep "<6>"
由于所有命令都具有此<6>报头,因此易于查找,因此我在下面包含了此新有用信息的片段,显示FLOGI和PLOGI状态:
将LIBfc debug_logging更改回原始设置:
您可以通过在下面插入2个命令并重新启动ESXi主机将此更改回默认值。 我们基本上只是将更改从以前的更改归零,将此值设置回默认值:
esxcli system module parameters set -p debug_logging= -m libfc_92
esxcli system module parameters set -p debug_logging= -m libfcoe_92
您可以再次运行相同的命令以确保更改成功:
From the CLI of ESXi:
esxcli system module parameters list -m libfc_92
esxcli system module parameters list -m libfcoe_92
它们应该如下所示:
重新启动ESX主机后,您可以通过使用以下命令检查以确保调试已在日志中完成:
tail /var/log/vmkernel.log | grep "<6>"