Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

对网络、硬件和平台问题进行故障排除

贡献者

您可以执行多项任务来帮助确定与 StorageGRID 网络,硬件和平台问题相关的问题的根源。

对"`422:不可处理的实体`"错误进行故障排除

错误 422 :在许多情况下可能会出现 Unprocessable Entity 。检查错误消息以确定导致问题描述 的原因。

如果您看到列出的错误消息之一,请采取建议的操作。

错误消息 根发生原因 和更正操作
422: Unprocessable Entity

Validation failed. Please check
the values you entered for
errors. Test connection failed.
Please verify your
configuration. Unable to
authenticate, please verify
your username and password:
LDAP Result Code 8 "Strong
Auth Required": 00002028:
LdapErr: DSID-0C090256,
comment: The server requires
binds to turn on integrity
checking if SSL\TLS are not
already active on the
connection, data 0, v3839

如果在使用 Windows Active Directory ( AD )配置身份联合时为传输层安全( TLS )选择 * 不使用 TLS* 选项,则可能会出现此消息。

不支持对强制执行 LDAP 签名的 AD 服务器使用 * 不使用 TLS* 选项。您必须为 TLS 选择 * 使用 STARTTL* 选项或 * 使用 LDAPS* 选项。

422: Unprocessable Entity

Validation failed. Please check
the values you entered for
errors. Test connection failed.
Please verify your
configuration.Unable to
begin TLS, verify your
certificate and TLS
configuration: LDAP Result
Code 200 "Network Error":
TLS handshake failed
    (EOF)

如果您尝试使用不受支持的密码从 StorageGRID 到用于标识联合或云存储池的外部系统建立传输层安全( TLS )连接,则会显示此消息。

检查外部系统提供的密码。系统必须使用 StorageGRID 支持的其中一个密码进行传出 TLS 连接,如 StorageGRID 管理说明所示。

相关信息

"管理 StorageGRID"

对网格网络MTU不匹配警报进行故障排除

如果网格网络接口( eth0 )的最大传输单元( MTU )设置在网格中的各个节点之间差别很大,则会触发 * 网格网络 MTU 不匹配 * 警报。

关于此任务

MTU 设置的差异可能表明,某些(但并非所有) eth0 网络配置了巨型帧。如果 MTU 大小不匹配大于 1000 ,则可能会出现发生原因 网络性能问题。

步骤
  1. 列出所有节点上 eth0 的 MTU 设置。

    • 使用网格管理器中提供的查询。

    • 导航到 primary Admin Node IP address/metrics/graph 并输入以下查询: node_network_mtu_bytes{interface='eth0'}

  2. 根据需要修改 MTU 设置,以确保所有节点上的网格网络接口( eth0 )设置相同。

    • 对于设备节点,请参见适用于您的设备的安装和维护说明。

    • 对于基于Linux和VMware的节点、请使用以下命令: /usr/sbin/change-mtu.py [-h] [-n node] mtu network [network...]

      • 示例 * : change-mtu.py -n node 1500 grid admin

        注意:在基于Linux的节点上、如果容器中网络所需的MTU值超过主机接口上已配置的值、则必须先将主机接口配置为具有所需的MTU值、然后使用 change-mtu.py 用于更改容器中网络的MTU值的脚本。

      使用以下参数修改基于 Linux 或 VMware 的节点上的 MTU 。

    定位参数 Description

    mtu

    要设置的 MTU 。必须介于 1280 到 9216 之间。

    network

    要应用 MTU 的网络。包括以下一种或多种网络类型:

    • 网格

    • 管理员

    • 客户端

    +

    可选参数 Description

    -h, – help

    显示帮助消息并退出。

    -n node, --node node

    节点。默认值为本地节点。

对网络接收错误(NRER)警报进行故障排除

StorageGRID 与网络硬件之间的连接问题可能会导致网络接收错误( NRER )警报。在某些情况下,无需手动干预即可清除 NRER 错误。如果未清除这些错误,请执行建议的操作。

关于此任务

与 StorageGRID 连接的网络硬件出现以下问题可能会导致 NRER 警报:

  • 需要正向错误更正( FEC ),但不在使用中

  • 交换机端口和 NIC MTU 不匹配

  • 链路错误率较高

  • NIC 环缓冲区溢出

步骤
  1. 根据您的网络配置,对 NRER 警报的所有潜在原因执行故障排除步骤。

    • 如果此错误是由 FEC 不匹配引起的,请执行以下步骤:

      • 注 * :这些步骤仅适用于 StorageGRID 设备上 FEC 不匹配导致的 NRER 错误。

        1. 检查连接到 StorageGRID 设备的交换机中端口的 FEC 状态。

        2. 检查从设备到交换机的缆线的物理完整性。

        3. 如果要更改 FEC 设置以尝试解决 NRER 警报,请首先确保在 StorageGRID 设备安装程序的 " 链路配置 " 页面上将设备配置为 * 自动 * 模式(请参见适用于您设备的安装和维护说明)。然后,更改交换机端口上的 FEC 设置。如果可能, StorageGRID 设备端口会调整其 FEC 设置以匹配。

          (您不能在 StorageGRID 设备上配置 FEC 设置。相反,设备会尝试发现并镜像其所连接的交换机端口上的 FEC 设置。如果强制链路达到 25 GbE 或 100 GbE 网络速度,则交换机和 NIC 可能无法协商通用 FEC 设置。如果没有通用的 FEC 设置,网络将回退到 "`no-FEC` " 模式。如果未启用 FEC ,则连接更容易受到电气噪声引起的错误的影响。)

      • 注 * : StorageGRID 设备支持光纤节点( FC )和 Reed Solomon ( RS ) FEC ,并且不支持 FEC 。

    • 如果此错误是由于交换机端口和 NIC MTU 不匹配导致的,请检查节点上配置的 MTU 大小是否与交换机端口的 MTU 设置相同。

      节点上配置的 MTU 大小可能小于节点所连接的交换机端口上的设置。如果 StorageGRID 节点收到的以太网帧大于其 MTU ,则可能会报告 NRER 警报。如果您认为发生了这种情况,请根据端到端 MTU 目标或要求更改交换机端口的 MTU 以匹配 StorageGRID 网络接口 MTU ,或者更改 StorageGRID 网络接口的 MTU 以匹配交换机端口。

      重要说明 为了获得最佳网络性能,应在所有节点的网格网络接口上配置类似的 MTU 值。如果网格网络在各个节点上的 MTU 设置有明显差异,则会触发 * 网格网络 MTU 不匹配 * 警报。并非所有网络类型的 MTU 值都相同。
    备注 要更改 MTU 设置,请参见适用于您的设备的安装和维护指南。
    • 如果此错误是由高链路错误率引起的,请执行以下步骤:

      1. 启用 FEC (如果尚未启用)。

      2. 确认网络布线质量良好,并且未损坏或连接不正确。

      3. 如果电缆似乎不存在问题,请联系技术支持。

        备注 在具有高电噪声的环境中,您可能会发现错误率较高。
    • 如果错误是 NIC 环缓冲区溢出,请联系技术支持。

      如果 StorageGRID 系统过载且无法及时处理网络事件,则环缓冲区可能会溢出。

  2. 解决基本问题后,重置错误计数器。

    1. 选择*支持*>*工具*>*网格拓扑*。

    2. 选择 * 站点 _* > * 网格节点 _* > * SSM* > * 资源 * > * 配置 * > * 主 * 。

    3. 选择 * 重置接收错误计数 * ,然后单击 * 应用更改 * 。

对时间同步错误进行故障排除

您可能会在网格中看到时间同步问题。

如果遇到时间同步问题,请确认您至少指定了四个外部 NTP 源,每个源均提供 Stratum 3 或更好的参考,并且所有外部 NTP 源均正常运行且可由 StorageGRID 节点访问。

备注 在为生产级 StorageGRID 安装指定外部 NTP 源时,请勿在 Windows Server 2016 之前的 Windows 版本上使用 Windows 时间( W32Time )服务。早期版本的 Windows 上的时间服务不够准确, Microsoft 不支持在 StorageGRID 等高精度环境中使用。
相关信息

"保持并恢复()"

Linux :网络连接问题

您可能会看到 Linux 主机上托管的 StorageGRID 网格节点的网络连接问题。

MAC 地址克隆

在某些情况下,可以使用 MAC 地址克隆来解决网络问题。如果使用的是虚拟主机,请在节点配置文件中将每个网络的 MAC 地址克隆密钥值设置为 "true" 。此设置会使 StorageGRID 容器的 MAC 地址使用主机的 MAC 地址。要创建节点配置文件,请参见适用于您的平台的安装指南中的说明。

重要说明 创建单独的虚拟网络接口,以供 Linux 主机操作系统使用。如果发生原因 虚拟机管理程序未启用混杂模式,则对 Linux 主机操作系统和 StorageGRID 容器使用相同的网络接口可能会使主机操作系统无法访问。

有关启用 MAC 克隆的详细信息,请参见适用于您的平台的安装指南中的说明。

混杂模式

如果您不希望使用 MAC 地址克隆,而希望允许所有接口接收和传输非虚拟机管理程序分配的 MAC 地址的数据, 对于配置模式, MAC 地址更改和伪造传输,请确保虚拟交换机和端口组级别的安全属性设置为 * 接受 * 。虚拟交换机上设置的值可以被端口组级别的值覆盖,因此请确保这两个位置的设置相同。

Linux:节点状态为"`孤立`"

处于孤立状态的 Linux 节点通常表示控制节点容器的 StorageGRID 服务或 StorageGRID 节点守护进程意外终止。

关于此任务

如果 Linux 节点报告其处于孤立状态,您应:

  • 检查日志中的错误和消息。

  • 尝试重新启动节点。

  • 如有必要、请使用Docker命令停止现有节点容器。

  • 重新启动节点。

步骤
  1. 检查服务守护进程和孤立节点的日志,查看是否存在明显的错误或有关意外退出的消息。

  2. 以 root 身份或使用具有 sudo 权限的帐户登录到主机。

  3. 尝试运行以下命令重新启动节点: $ sudo storagegrid node start node-name

    $ sudo storagegrid node start DC1-S1-172-16-1-172

    如果节点已孤立,则响应为

    Not starting ORPHANED node DC1-S1-172-16-1-172
  4. 在Linux中、停止Docker容器和任何控制存储节点进程:sudo docker stop --time secondscontainer-name

    适用于 `seconds`下、输入要等待容器停止的秒数(通常为15分钟或更短)。

    sudo docker stop --time 900 storagegrid-DC1-S1-172-16-1-172
  5. 重新启动节点: storagegrid node start node-name

    storagegrid node start DC1-S1-172-16-1-172

Linux:IPv6支持故障排除

如果您在 Linux 主机上安装了 StorageGRID 节点,并且注意到尚未按预期为节点容器分配 IPv6 地址,则可能需要在内核中启用 IPv6 支持。

关于此任务

您可以在网格管理器的以下位置查看已分配给网格节点的 IPv6 地址:

  • 选择*节点*、然后选择节点。然后、单击概述选项卡上的* IP地址*旁边的*显示更多*。

    Nodes"IP Addresses" (概述 > IP 地址)的屏幕">
  • 选择*支持*>*工具*>*网格拓扑*。然后,选择 * ; node_* > * 。 ssm * > * 资源 * 。如果已分配 IPv6 地址,则此地址将列在 * 网络地址 * 部分的 IPv4 地址下方。

如果未显示 IPv6 地址且节点安装在 Linux 主机上,请按照以下步骤在内核中启用 IPv6 支持。

步骤
  1. 以 root 身份或使用具有 sudo 权限的帐户登录到主机。

  2. 运行以下命令: sysctl net.ipv6.conf.all.disable_ipv6

    root@SG:~ # sysctl net.ipv6.conf.all.disable_ipv6

    结果应为 0 。

    net.ipv6.conf.all.disable_ipv6 = 0
    备注 如果结果不是0、请参见适用于您的操作系统的文档进行更改 sysctl 设置。然后,将此值更改为 0 ,然后再继续。
  3. 输入StorageGRID 节点容器: storagegrid node enter node-name

  4. 运行以下命令: sysctl net.ipv6.conf.all.disable_ipv6

    root@DC1-S1:~ # sysctl net.ipv6.conf.all.disable_ipv6

    结果应为 1 。

    net.ipv6.conf.all.disable_ipv6 = 1
    备注 如果结果不是 1 ,则此操作步骤 不适用。请联系技术支持。
  5. 退出容器: exit

    root@DC1-S1:~ # exit
  6. 以root用户身份编辑以下文件: /var/lib/storagegrid/settings/sysctl.d/net.conf

    sudo vi /var/lib/storagegrid/settings/sysctl.d/net.conf
  7. 找到以下两行并删除注释标记。然后,保存并关闭该文件。

    net.ipv6.conf.all.disable_ipv6 = 0
    net.ipv6.conf.default.disable_ipv6 = 0
  8. 运行以下命令重新启动 StorageGRID 容器:

    storagegrid node stop node-name
    storagegrid node start node-name