簡介
本檔案介紹如何在Cisco DNA Center中執行命令df -h時,排解和修正NFS「過時檔案控制代碼」錯誤。
必要條件
需求
- Linux檔案系統管理知識
- NFS v3或v4知識
- 訪問磁懸浮的CLI full bash shell
- NFS IP地址或主機名和NFS目錄路徑
採用元件
- Cisco DNA Center 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命令以啟用全屏啟動。根據Cisco DNA Center版本,可以要求TAC的令牌授予對完整磁懸浮基座外殼的訪問許可權。
3. — 通過運行以下命令,手動解除安裝NFS安裝點,該安裝點在檔案系統中提供Stale檔案控制代碼錯誤:
$ 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% |
+------------------------------------------+------+------------+------------+------------+