你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

弹性 SAN 故障排除

本文列出了与 Azure Elastic SAN 相关的常见问题。 它还提供这些问题的可能原因和解决方法。

Linux 文档脚本遇到get_iqns超时错误 - 异常:命令花费的时间超过 10 秒

  • 安装最新的 Azure CLI,并按照适用于您的虚拟机 SKU 的说明进行操作。
  • 安装最新版本后,运行 az extension add -n elastic-san 以安装 Elastic SAN 的扩展。
  • 运行 az login 命令,并按照命令生成的步骤通过浏览器登录。
  • 重新运行 Linux 文档脚本并检查问题是否仍然存在。

遇到登录被拒绝的错误 - iscsiadm:无法修改 node.conn[0].iscsi.DataDigest。 参数名称无效

  • 确保正确配置专用终结点或服务终结点
  • 检查卷是否连接到 Azure VMware 解决方案 (AVS),因为 AVS 尚不支持循环冗余检查 (CRC)。
  • 如果没有,请检查您的 VM 是否正在运行 Fedora 或其下游 Linux 发行版(如 Red Hat Enterprise Linux、CentOS 或 Rocky Linux),因为这些版本不支持数据摘要功能。
  • 如果上述任一情况为 true,请禁用 CRC 保护标志。 必须取消选中门户上的框,并将 EnforceDataIntegrityCheckForIscsi (PowerShell)) 或数据完整性检查 (CLI) 的参数更改为 false。

弹性 SAN 卷性能或延迟不符合预期

  • 通过门户网站(SAN 主页 -> 配置页面)检查 SAN 大小和配置,并确保每秒 I/O 操作 (IOPS) 和吞吐量指标可以满足工作负载的要求。
  • 检查 VM 吞吐量和 IOPS 限制,并确保 VM 能够处理工作负荷要求
  • 确保遵循 “优化弹性 SAN 性能”中概述的最佳做法。

无法从群集中的新节点建立连接

  • 确定哪些 VM 是群集的一部分。
  • 检查群集中每个 VM 上每个节点的会话数,可以使用 iscsicli sessionListmpclaim -s -d(适用于 Windows),或者在 Linux 上使用命令 sudo multipath -ll 来检查,并统计会话总数。
  • 执行此步骤后,如果会话数为 128,则可以通过门户或使用此处链接的 Windows 脚本或此处链接的 Linux 脚本断开卷连接。
  • 接下来,从门户或 WindowsLinux 脚本中修改连接脚本的 NumSession 参数 (Windows) 或 num_of_sessions 参数 (Linux)。 需要确保所有卷的会话总数小于 128 个。
  • 在 VM 上运行脚本。 也可以在脚本运行时输入这些值。

无法将超过 8 个卷连接到 Windows VM

  • 若要查看 Windows VM 上的会话数,请运行 iscsicli sessionListmpclaim -s -d运行。 Windows VM 的最大会话限制为 255。
  • 如果达到会话限制,可以通过门户或使用此处链接的脚本断开卷的连接。
  • 接下来,从门户或使用 Windows 脚本修改连接脚本中的 $NumSession 参数。 需要确保连接到 VM 的每个卷的会话总数小于 255 个。
  • 在 VM 上运行脚本。 也可以在脚本运行时输入这些值。

排查主机客户端上的 CRC 保护问题

注释

CRC 保护功能目前在欧洲北部和美国中南部不可用。

WindowsLinux 中关于弹性 SAN 连接的文章里的多会话连接脚本会自动在连接的标头和数据摘要上设置 CRC-32C。 但是,如果需要,可以手动进行操作。 在 Windows 上,可以在登录到弹性 SAN 卷(LoginTargetPersistentLoginTarget)时通过将标头或数据摘要设置为 1 来实现。 在 Linux 上,可以通过更新全局 iSCSI 配置文件(iscsid.conf,通常位于 /etc/iscsi 目录中)来实现。 连接卷后,将创建一个节点以及特定于此节点的配置文件(例如,在 Ubuntu 上,可以位于 /etc/iscsi/nodes/$volume_iqn/portal_hostname,$port 目录中),该文件从全局配置文件继承设置。 如果在更新全局配置文件之前已将卷连接到客户端,请直接或使用以下命令更新每个卷的节点特定配置文件:

变量:

  • $volume_iqn: 弹性 SAN 卷 IQN
  • $portal_hostname: 弹性 SAN 卷门户主机名
  • $port:3260
  • $iscsi_setting_name: node.conn[0].iscsi.HeaderDigest (或) node.conn[0].iscsi。DataDigest
  • $setting_value:CRC32C

sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n $iscsi_setting_name -v $setting_value

后续步骤