在 Linux 中啟用 NFS Log


在掛載 NFS 時,如果發生問題想要除錯,就比需依靠 Log 來找出答案,但是預設的 Linux 是沒有紀錄 NFS Logs 的,主要是因為開啟後 NFS 的反應時間會變長,所以只需要在 Debug 的時候打開就可以了:

啟用 NFS Logs

sudo rpcdebug -m nfs -s all

啟用後,/var/log/message 會開始出現類似像下面的 Logs:

Dec 22 02:47:38 ip-10-0-0-203 kernel: NFS: nfs_weak_revalidate: inode 10976768290497925892 is valid
Dec 22 02:47:38 ip-10-0-0-203 kernel: NFS: revalidating (0:41/10976768290497925892)
Dec 22 02:47:38 ip-10-0-0-203 kernel: --> nfs41_call_sync_prepare data->seq_server 0000000049080d30
Dec 22 02:47:38 ip-10-0-0-203 kernel: --> nfs4_alloc_slot used_slots=0000 highest_used=4294967295 max_slots=64
Dec 22 02:47:38 ip-10-0-0-203 kernel: <-- nfs4_alloc_slot used_slots=0001 highest_used=0 slotid=0
Dec 22 02:47:38 ip-10-0-0-203 kernel: encode_sequence: sessionid=933608771:266546387:0:16777216 seqid=1321 slotid=0 max_slotid=0 cache_this=0
Dec 22 02:47:38 ip-10-0-0-203 kernel: decode_attr_type: type=040000
Dec 22 02:47:38 ip-10-0-0-203 kernel: decode_attr_change: change attribute=2
Dec 22 02:47:38 ip-10-0-0-203 kernel: decode_attr_size: file size=6144
Dec 22 02:47:38 ip-10-0-0-203 kernel: decode_attr_fsid: fsid=(0x0/0x0)

關閉 NFS Log

但在操作 NFS 的 Mount Point 時反應會明顯變慢,所以在測試完、拿到 Logs 後記得關閉:

sudo rpcdebug -m nfs -c all 

Reference

How to log NFS related messages in “/var/log/messages”? - https://access.redhat.com/solutions/137313


comments powered by Disqus