简介
本文档介绍如何在Cisco DNA Center中运行命令df -h时对NFS“过时文件句柄”错误进行故障排除和修复。
先决条件
要求
- Linux文件系统管理知识
- NFS v3或v4知识
- 访问maglev CLI full bash shell
- NFS IP地址或主机名和NFS目录路径
使用的组件
- 思科DNA中心2.3.3磁悬浮式CLI
- NFS v4
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
问题
Cisco DNA Center完全备份(保证)可能会失败,因为NFS未正确安装,即使您在Cisco DNA Center备份设置中看到它配置成功。使用df -h命令检查Cisco DNA Center bash中的文件系统时,您会看到命令输出的开头显示错误行:df: /data/nfs:过时文件句柄
由于多种原因,任何Linux系统中都可能出现此NFS过时句柄文件错误。最常见的原因是磁盘设备中的已装载文件inode发生任何更改。例如,当服务或应用程序打开或创建文件时,删除和关闭该文件,然后再次尝试访问或删除同一文件,以便对该文件的引用过期或无效。换句话说,当句柄引用的文件或目录被另一主机删除时,当客户端仍保留对对象的活动引用时,文件句柄就会失效。
示例:
maglev@maglev-master-10-10-10-10:~$ df -h
df: /data/nfs: Stale file handle
Filesystem Size Used Avail Use% Mounted on
udev 189G 0 189G 0% /dev
tmpfs 38G 9.4M 38G 1% /run
/dev/sdb2 47G 28G 18G 62% /
tmpfs 189G 0 189G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 189G 0 189G 0% /sys/fs/cgroup
/dev/sdb4 392G 123G 250G 34% /data
/dev/sdb3 239M 163M 76M 69% /boot/efi
/dev/sdc3 166G 5.6G 152G 4% /var
/dev/sdc1 671G 102G 536G 16% /data/maglev/srv
/dev/sdc2 923G 175G 702G 20% /data/maglev/srv/maglev-system
/dev/sdd1 5.2T 127G 4.9T 3% /data/maglev/srv/ndp
glusterfs-brick-0.glusterfs-brick:/default_vol 923G 187G 699G 22% /mnt/glusterfs/default_vol
glusterfs-brick-0.glusterfs-brick:/ndp_vol 5.2T 181G 4.9T 4% /mnt/glusterfs/ndp_vol
tmpfs 38G 0 38G 0% /run/user/1234
maglev@maglev-master-10-10-10-10:~$
命令magctl sts backup mount display提供了类似的输出。
示例:
maglev@maglev-master-10-10-10-10:~$ magctl sts backup mount display
ERROR: df: /data/nfs: Stale file handle
注意:对于具有不同安装点的同一NFS服务器,也可以找到多个过时文件句柄错误。解决方案可应用于每个过时文件句柄错误。
解决方案
1. — 删除NFS设置以从系统中删除NFS。导航到Cisco DNA Center Menu > Settings > Backup & Restore > Configure > Cisco DNA Center(NFS),然后点击Remove按钮。
2. — 通过运行以下命令验证系统中的NFS陈旧安装点:
$mount | grep -i <NFS_IP_ADDRESS_OR_FQDN>
示例:
maglev@maglev-master-10-10-10-10:~$ mount | grep -i 192.168.100.1
192.168.100.1:/dna_backups/dna_assurance_data on /data/nfs type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,acregmin=60,acdirmin=60,soft,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.16.2,local_lock=none,addr=10.10.16.3)
对于具有不同安装点的同一NFS服务器,也可以找到多个结果。可能需要卸载所有这些设备。
提示:如果在磁悬浮命令行界面(magshell)中启用安全外壳,则可以运行_shell命令以启用完全bash。根据Cisco DNA Center版本,您可以要求TAC提供令牌以授予对完整磁悬浮基座外壳的访问权限。
3. — 通过运行以下命令,手动卸载在文件系统中提供Stale文件句柄错误的NFS挂载点:
$ sudo umount <NFS_IP_ADDRESS_OR_FQDN>:/remote/NFS/path /local/mounting/point
示例:
maglev@maglev-master-10-10-10-10:~$ sudo umount 192.168.100.1:/dna_backups/dna_assurance_data /data/nfs
4. — 一旦从文件系统卸载NFS,就可以通过运行命令df -h进行仔细检查并验证是否不再看到“过时文件句柄”错误。如果仍然看到过时的文件句柄的条目,请再次执行步骤2和3,因为NFS可以有不同的安装点也在使用中,而且它们也需要卸载。
5. — 最后,导航到Cisco DNA Center Menu > Settings > Backup & Restore > Configure > Cisco DNA Center(NFS)并重新配置NFS。
验证
通过运行命令df -h以及使用magctl检查备份设置的NFS安装点,验证NFS现在已正确安装,并且不再出现“过时的文件句柄”错误:
maglev@maglev-master-10-10-10-10:~ $ magctl sts backup mount display
+------------------------------------------+------+------------+------------+------------+
| remote | type | used | available | percentage |
+------------------------------------------+------+------------+------------+------------+
|192.168.100.1:/dna_backups/dna_assurance_data/ | nfs4 | 6369873920 | 3744850944 | 63% |
+------------------------------------------+------+------------+------------+------------+