对于NFSv4 StorePool问题、我应收集哪些数据?
适用场景
- ONTAP 9
- NFSv4.x
问题解答
- EMS消息提供了大量有助于缩小故障排除范围的信息
- 触发AutoSupport以提供此支持
- 记下 报告错误的节点的节点管理lf
- 统计信息提供了一些指导、用于查看是否有任何存储分段已满以及与哪些实例关联
- 什么是性能归档?它们是如何触发的?
- 统计信息start 可用于在一段时间内收集可多次引用的样本。
- 使用 REST API调用检查
storePool_*
计数器:curl -siku "admin:PASSWORD" https://Cluster-Mgmt-IP/api/cluster/counter/tables/nfs_v4_diag/rows/
NOTE: use the response from above to run the second call per node to get the storePool counters like in example below.
示例:
curl -siku "admin: PASSWORD" https://Cluster-Mgmt-IP/api/cluster/counter/tables/nfs_v4_diag/rows/Cluster-01%3Cluster-01%3A67261b3
- 与存储池相关的对象
- nfsv4
- nfsv4_diag
- nfsv4_error
- nfsv4_1_error
- nfsv4_1_diag
- nfsv4_1
- sperror_error
- 发芽
- Spinhi
- lmgr_ng
- 从调用存储池EMS的节点收集NFSv4锁定
vserver
locks nfsv4 -inst
是节点范围。 因此、您必须通过ssh访问报告存储池警报的节点(节点管理lif)
警告 请务必使用节点管理IP替换报告EMS的节点。 这将是存放数据lf的节点的位置。 |
- 如果之前确定了一个顶级客户端、则在问题描述运行期间收集一个为该客户端筛选的数据包跟踪、并持续5分钟
- 如果已完成LIF迁移以缓解问题描述影响、请重新收集此数据。
追加信息
- NFSv4存储池—解决方案指南
可以从 *nix主机使用以下bash脚本来收集所需的NFSv4锁定信息。
#!/bin/bash # Set the IP address of the node management server NODE_MANAGEMENT="NODE-MGMT-IP" # NODE_MANAGEMENT="10.2.1.3" # Set the username to use during authentication (Ideal to use pubkey auth) USERNAME="admin" # Directory to store the statistics STAT_DIR="statistics/$NODE_MANAGEMENT" mkdir -p "$STAT_DIR" # Check SSH connection if ! ssh -q -o BatchMode=yes -o ConnectTimeout=5 $USERNAME@$NODE_MANAGEMENT exit; then echo "SSH connection to $NODE_MANAGEMENT failed" exit 1 fi # Collect the statistics for NFSv4 and NFSv4_1 NFS_VERSIONS=("nfsv4" "nfsv4_1") NFS_TYPES=("" "_diag" "_error") for version in "${NFS_VERSIONS[@]}"; do for type in "${NFS_TYPES[@]}"; do ssh $USERNAME@$NODE_MANAGEMENT "set d -c off; rows 0; date; statistics show -object ${version}${type} -raw" >> "$STAT_DIR/stats_nfs.txt" done done # Collect the statistics for spinnp SPIN_TYPES=("spinnp_error" "spinhi" "spinnp") for type in "${SPIN_TYPES[@]}"; do ssh $USERNAME@$NODE_MANAGEMENT "set d -c off; rows 0; date; statistics show -object $type -raw" >> "$STAT_DIR/stats_spin.txt" done # Collect the statistics for lmgr_ng ssh $USERNAME@$NODE_MANAGEMENT "set d -c off; rows 0; date; statistics show -object lmgr_ng -counter files|hosts|owners|locks|*max -raw" >> "$STAT_DIR/stats_lmgr.txt" # Collect the statistics for vserver locks nfsv4 ssh $USERNAME@$NODE_MANAGEMENT "set d -c off; rows 0; date; vserver locks nfsv4 show -inst" >> "$STAT_DIR/locks.txt"