对 StorageGRID 中的网络、硬件和平台问题进行故障排除
可以执行多个任务来帮助确定与 StorageGRID 网络、硬件和平台问题相关的问题根源。
[[422-unprocessable-entity-errors]] == "422: Unprocessable Entity"错误
错误 422:无法处理的实体可能出于不同原因而发生。请查看错误消息,以确定导致问题的原因。
如果您看到列出的错误消息之一,请执行建议的操作。
| 错误消息 | 根本原因和纠正措施 |
|---|---|
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 服务器,不支持使用 Do not use TLS 选项。您必须为 TLS 选择 Use STARTTLS 选项或 Use 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 管理说明中所示。 |
网格网络 MTU 不匹配警报
当网格网络接口(eth0)的最大传输单元(MTU)设置在网格中的节点之间存在显著差异时,将触发*网格网络 MTU 不匹配*警报。
MTU 设置的差异可能表明部分(而非全部)eth0 网络已配置为巨型帧。MTU 大小不匹配超过 1000 可能会导致网络性能问题。
-
默认情况下会阻止外部 SSH 访问。如有需要,"暂时允许访问"。
-
列出所有节点上 eth0 的 MTU 设置。
-
使用网格管理器中提供的查询。
-
导航到
primary Admin Node IP address/metrics/graph`并输入以下查询: `node_network_mtu_bytes{device="eth0"}
-
-
"修改 MTU 设置" 根据需要进行调整,以确保所有节点上的网格网络接口 (eth0) 都相同。
-
对于基于 Linux 和 VMware 的节点,请使用以下命令:
/usr/sbin/change-ip.py [-h] [-n node] mtu network [network...]示例:
change-ip.py -n node 1500 grid adminNote:在基于 Linux 的节点上,如果容器中网络所需的 MTU 值超过主机接口上已配置的值,则必须首先将主机接口配置为具有所需的 MTU 值,然后使用 `change-ip.py`脚本更改容器中网络的 MTU 值。
使用以下参数修改基于 Linux 或 VMware 的节点上的 MTU。
位置参数 问题描述 mtu要设置的 MTU。必须介于 1280 到 9216 之间。
network要应用 MTU 的网络。包括以下一种或多种网络类型:
-
网格
-
admin
-
client
+
可选参数 问题描述 -h, – help显示帮助消息并退出。
-n node, --node node节点。默认值为本地节点。
-
-
如果您已允许外部 SSH 访问,请在完成任务后"阻止访问"。
节点网络接收帧错误警报
*节点网络接收帧错误*警报可能是由 StorageGRID 和网络硬件之间的连接问题引起的。解决根本问题后,此警报会自行清除。
*节点网络接收帧错误*警报可能由连接到 StorageGRID 的以下网络硬件问题引起:
-
前向纠错(FEC)为必填项,当前未使用
-
交换机端口和 NIC MTU 不匹配
-
高链接错误率
-
网卡环缓冲区溢出
-
根据网络配置,请按照故障排除步骤来解决此警报的所有潜在原因。
-
请根据错误原因执行以下步骤:
FEC不匹配这些步骤仅适用于由 StorageGRID 设备上的 FEC 不匹配引起的*节点网络接收帧错误*警报。 -
检查连接到 StorageGRID 设备的交换机中端口的 FEC 状态。
-
检查从设备到交换机的电缆的物理完整性。
-
如果要更改 FEC 设置以尝试解决警报,请首先确保在 StorageGRID Appliance Installer 的链路配置页面上将设备配置为 Auto 模式(请参阅设备的说明:
-
更改交换机端口上的 FEC 设置。如果可能,StorageGRID 设备端口将调整其 FEC 设置以进行匹配。
您无法在 StorageGRID 设备上配置 FEC 设置。相反,设备会尝试在其连接的交换机端口上发现并镜像 FEC 设置。如果链路被强制为 25-GbE 或 100-GbE 网络速度,交换机和 NIC 可能无法协商通用 FEC 设置。如果没有通用的 FEC 设置,网络将回退到"无 FEC"模式。未启用 FEC 时,连接更容易受到电气噪声引起的错误的影响。
StorageGRID 设备支持 Firecode (FC) 和 Reed Solomon (RS) FEC,以及无 FEC 模式。
交换机端口和 NIC MTU 不匹配如果警报是由交换机端口和 NIC MTU 不匹配引起的,请检查节点上配置的 MTU 大小是否与交换机端口的 MTU 设置相同。
节点上配置的 MTU 大小可能小于节点连接的交换机端口上的设置。如果 StorageGRID 节点接收到大于其 MTU 的以太网帧(此配置下可能发生),则可能会报告*节点网络接收帧错误*警报。如果您认为这是正在发生的情况,请根据您的端到端 MTU 目标或要求,更改交换机端口的 MTU 以匹配 StorageGRID 网络接口 MTU,或更改 StorageGRID 网络接口的 MTU 以匹配交换机端口。
为了获得最佳网络性能,所有节点都应在其网格网络接口上配置类似的 MTU 值。如果单个节点上的网格网络的 MTU 设置存在显著差异,则会触发 网格网络 MTU 不匹配 警报。所有网络类型的 MTU 值不一定相同。有关详细信息,请参见 排查 Grid Network MTU 不匹配警报。 另请参见 "更改 MTU 设置"。 高链接错误率-
启用 FEC(如果尚未启用)。
-
确认您的网络布线质量良好,没有损坏或连接不当。
-
如果电缆似乎不是问题,请与技术支持联系。
在电气噪音较高的环境中,您可能会注意到较高的错误率。
网卡环缓冲区溢出如果错误是 NIC 环缓冲区溢出,请与技术支持联系。
当 StorageGRID 系统过载且无法及时处理网络事件时,环形缓冲区可能会溢出。
-
-
监控问题,如果警报未解决,请联系技术支持。
时间同步错误
您可能会在网格中看到时间同步问题。
如果遇到时间同步问题,请确认您已指定至少四个外部 NTP 源,每个 NTP 源都提供 Stratum 3 或更好的参考,并且所有外部 NTP 源均正常运行,且可由 StorageGRID 节点访问。
|
|
当 "指定外部 NTP 源" 对于生产级 StorageGRID 安装,请勿在 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 地址更改和伪造传输均设置为 Accept。虚拟交换机上设置的值可被端口组级别的值覆盖,因此请确保两处的设置相同。
有关使用混杂模式的详细信息,请参见 "如何配置主机网络" 的说明。
Linux:节点状态为"orphaned"
处于孤立状态的 Linux 节点通常表示控制节点容器的 storagegrid 服务或 StorageGRID 节点守护进程意外终止。
如果 Linux 节点报告它处于孤立状态,则应:
-
检查日志中的错误和消息。
-
请尝试重新启动此节点。
-
如有必要,使用容器引擎命令停止现有节点容器。
-
重新启动节点。
-
检查服务后台程序和孤立节点的日志,查看是否有明显的错误或有关意外退出的消息。
-
以 root 身份或使用具有 sudo 权限的帐户登录到主机。
-
通过运行以下命令再次尝试启动节点:
$ 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
-
在 Linux 中,停止容器引擎和任何控制 storagegrid-node 的进程。例如:
sudo docker stop --time secondscontainer-name对于
seconds,请输入要等待容器停止的秒数(通常为 15 分钟或更短)。例如:sudo docker stop --time 900 storagegrid-DC1-S1-172-16-1-172
-
重新启动节点:
storagegrid node start node-namestoragegrid node start DC1-S1-172-16-1-172
Linux:IPv6 支持故障排除
如果您在 Linux 主机上安装了 StorageGRID 节点,并且注意到 IPv6 地址未按预期分配给节点容器,则可能需要在内核中启用 IPv6 支持。
要查看已分配给网格节点的 IPv6 地址:
-
选择*节点*并选择节点。
-
在"概述"选项卡上,选择 IP 地址*旁边的*显示其他 IP 地址。
如果未显示 IPv6 地址,并且节点安装在 Linux 主机上,请按照以下步骤在内核中启用 IPv6 支持。
-
以 root 身份或使用具有 sudo 权限的帐户登录到主机。
-
运行以下命令:
sysctl net.ipv6.conf.all.disable_ipv6root@SG:~ # sysctl net.ipv6.conf.all.disable_ipv6
结果应为0。
net.ipv6.conf.all.disable_ipv6 = 0
如果结果不是 0,请参阅操作系统的文档以更改 `sysctl`设置。然后,在继续之前将此值更改为 0。 -
进入 StorageGRID 节点容器:
storagegrid node enter node-name -
运行以下命令:
sysctl net.ipv6.conf.all.disable_ipv6root@DC1-S1:~ # sysctl net.ipv6.conf.all.disable_ipv6
结果应为 1。
net.ipv6.conf.all.disable_ipv6 = 1
如果结果不是 1,则此程序不适用。请联系技术支持。 -
退出此容器:
exitroot@DC1-S1:~ # exit
-
以超级用户身份编辑以下文件:
/var/lib/storagegrid/settings/sysctl.d/net.conf。sudo vi /var/lib/storagegrid/settings/sysctl.d/net.conf
-
找到以下两行并删除注释标记。然后,保存并关闭此文件。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
-
运行以下命令以重新启动 StorageGRID 容器:
storagegrid node stop node-name
storagegrid node start node-name