有人能告诉我 CentOS 6 中的 NFS 日志在哪里吗?或者我可以告诉 NFS 发送日志在哪里?
目前,似乎没有这样的设置。尝试让没有日志的东西工作是相当令人沮丧的。
[root@houston netshare]# locate nfs| grep log
[root@houston netshare]#
[root@houston netshare]# grep -Rni "nfs" /var/log
/var/log/anaconda.storage.log:23:20:41:33,962 DEBUG : registered device format class NFS as nfs
/var/log/anaconda.storage.log:24:20:41:33,962 DEBUG : registered device format class NFSv4 as nfs4
这是一天前从 livecd 安装的 centos 6,并且已运行 yum 更新。
[root@houston ~]# cat /etc/exports
/var/netshare 10.10.0.10(rw,sync,no_root_squash)
/var/netshare/esxi1 192.168.111.119(rw,sync,no_root_squash)
/var/netshare 192.168.111.101(rw,sync.no_root_squash)
[root@houston ~]# chkconfig --list | egrep '(nfs|rpc*)'
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@houston ~]# ps aux | egrep '(nfs|rpc*)'
rpc 1482 0.0 0.0 18972 1012 ? Ss Dec06 0:00 rpcbind
root 1587 0.0 0.0 0 0 ? S Dec06 0:00 [fc_rport_eq]
rpcuser 1648 0.0 0.0 23344 1352 ? Ss Dec06 0:00 rpc.statd
root 1690 0.0 0.0 0 0 ? S Dec06 0:00 [rpciod/0]
root 1691 0.0 0.0 0 0 ? S Dec06 0:00 [rpciod/1]
root 1692 0.0 0.0 0 0 ? S Dec06 0:00 [rpciod/2]
root 1693 0.0 0.0 0 0 ? S Dec06 0:00 [rpciod/3]
root 29056 0.0 0.0 107304 280 ? Ss 11:36 0:00 rpc.rquotad
root 29060 0.0 0.0 21760 1264 ? Ss 11:36 0:00 rpc.mountd
root 29111 0.0 0.0 25160 760 ? Ss 11:36 0:00 rpc.idmapd
root 29116 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd4]
root 29117 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd4_callbacks]
root 29118 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29119 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29120 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29121 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29122 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29123 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29124 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29125 0.0 0.0 0 0 ? S 11:36 0:00 [nfsd]
root 29357 0.0 0.0 100992 748 pts/1 S+ 12:56 0:00 egrep (nfs|rpc*)
[root@houston ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:51414
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT udp -- anywhere anywhere state NEW udp dpt:sunrpc
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:sunrpc
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:nfs
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:32803
ACCEPT udp -- anywhere anywhere state NEW udp dpt:filenet-rpc
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:892
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:47649
ACCEPT udp -- anywhere anywhere state NEW udp dpt:892
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:rquotad
ACCEPT udp -- anywhere anywhere state NEW udp dpt:rquotad
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:pftp
ACCEPT udp -- anywhere anywhere state NEW udp dpt:pftp
ACCEPT icmp -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
答案1
我在 2016 年也遇到过同样的问题,我的工作站使用的是 CentOS 6.5,客户端(同一主机上的 Vagrant 盒子)使用的是 CentOS 7。我的具体问题与 OP 的问题相同,我找不到任何 nfsd 日志记录。
使用rpc调试启用 NFS 日志记录
对于我来说,对于将来遇到此问题的任何人来说,答案是使用以下命令(在服务器端以 root/sudo 身份):
rpcdebug -m nfsd all
开启全面调试/var/log/messages
这将启用如下所示的输出尤怀特当您从客户端发出 mount 命令时,请参见上面的帖子。
要再次关闭,请使用
rpcdebug -m nfsd -c all
您可以通过将关键字“all”替换为特定模块来减少调试信息量。这些列在
man rpcdebug
将启动标志添加到 rpc.mountd 和 rpc.idmapd 以增加调试
-d all
您可以通过添加到 rpc.mountd 和-vvv
rpc.idmapd 来获取更多调试信息。
通过编辑“/etc/sysconfig/nfs”并设置来完成此操作:
...
RPCMOUNTDOPTS=" -d all"
...
RPCIDMAPDARGS="-vvv"
...
您需要重新启动 nfs 服务(以 root/sudo 身份)才能应用此功能:
service nfs restart
这是 CentOS 6.n 方法。在 CentOS 7 下,您需要查看systemctl restart [servicename]
。[servicename] 可能是 nfs,但我还没有在 CentOS 7 下这样做过。
为了清楚起见,这些调试日志消息将被写入/var/log/messages
。
答案2
您查看过/var/log/messages
那里的 NFS 日志吗?
Dec 7 08:36:25 OGC_Mirror kernel: RPC: Registered named UNIX socket transport module.
Dec 7 08:36:25 OGC_Mirror kernel: RPC: Registered udp transport module.
Dec 7 08:36:25 OGC_Mirror kernel: RPC: Registered tcp transport module.
Dec 7 08:36:25 OGC_Mirror kernel: RPC: Registered tcp NFSv4.1 backchannel transport module.
Dec 7 08:36:25 OGC_Mirror kernel: Installing knfsd (copyright (C) 1996 [email protected]).
Dec 7 08:36:25 OGC_Mirror rpc.mountd[2459]: Version 1.2.3 starting
Dec 7 08:36:25 OGC_Mirror kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Dec 7 08:36:25 OGC_Mirror kernel: NFSD: starting 90-second grace period
答案3
我建议先检查/var/log/
一下,因为日志通常位于那里的某个地方。
您还可以检查配置文件以了解日志的存储位置。
/var/nfs/nfslog
应该有实际的 NFS 事务日志记录(如果这是您要找的),并且您应该能够在/etc/nfs/nfslog.conf
和中找到其余的日志配置/etc/default/nfslogd
。