Что такое lockd и почему он не работает?

В ряде полей, что я помогаю управлению, у меня есть самая странная проблема. Это обычно проявляется день или больше начиная с последней перезагрузки.

Когда я пытаюсь смонтировать долю nfs

sudo mount -t nfs  192.168.8.205:/export /mnt/andrew

Я добираюсь:

mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified

Когда это вводит это состояние, ничто иное, кажется, не помогает. Я попробовал

sudo systemctl restart rpc-statd
sudo systemctl restart rpcbind

и сервер, кажется, работает, и я не вижу очевидных ошибок:

 sudo journalctl -u rpcbind
-- Logs begin at Tue 2019-02-19 18:29:21 UTC, end at Tue 2019-03-26 04:52:48 UTC. --
Feb 25 23:21:11 box1 systemd[1]: Starting RPC bind portmap service...
Feb 25 23:21:11 box1 rpcbind[29172]: rpcbind: xdr_/run/rpcbind/rpcbind.xdr: failed
Feb 25 23:21:11 box1 rpcbind[29172]: rpcbind: xdr_/run/rpcbind/portmap.xdr: failed
Feb 25 23:21:11 box1 systemd[1]: Started RPC bind portmap service.
Mar 24 18:59:57 box1 systemd[1]: Stopping RPC bind portmap service...
Mar 24 18:59:57 box1 systemd[1]: Stopped RPC bind portmap service.
Mar 24 18:59:57 box1 systemd[1]: Starting RPC bind portmap service...
Mar 24 18:59:57 box1 systemd[1]: Started RPC bind portmap service.

asavinykh@box1:~$  sudo journalctl -u rpc-statd
-- Logs begin at Tue 2019-02-19 18:29:21 UTC, end at Tue 2019-03-26 04:56:13 UTC. --
Feb 25 23:21:11 box1 systemd[1]: Stopped NFS status monitor for NFSv2/3 locking..
Feb 25 23:21:11 box1 systemd[1]: Starting NFS status monitor for NFSv2/3 locking....
Feb 25 23:21:11 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:48:49 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:48:50 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:48:51 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:48:53 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:48:57 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:49:05 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:49:22 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:49:54 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:50:58 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:53:00 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:55:02 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:57:04 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 18:59:07 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 19:01:09 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 19:03:11 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 19:05:13 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 19:06:32 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 19:07:07 box1 systemd[1]: Stopping NFS status monitor for NFSv2/3 locking....
Mar 24 19:07:07 box1 systemd[1]: Stopped NFS status monitor for NFSv2/3 locking..
Mar 24 19:07:07 box1 systemd[1]: Starting NFS status monitor for NFSv2/3 locking....
Mar 24 19:07:07 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
Mar 24 19:07:12 box1 systemd[1]: Started NFS status monitor for NFSv2/3 locking..

Отметьте это rpcbind.xdr ошибка также появляется на машинах, где она все еще работает.

Однако одна вещь, которая отличается на полях, где она все еще работает и те, которые она прекратила работать, является этим:

ps aux | grep lockd
root        26  0.0  0.0      0     0 ?        S<   04:08   0:00 [kblockd]
root      3148  0.0  0.0      0     0 ?        S    04:08   0:00 [lockd]
asaviny+ 31517  0.0  0.0  16576  2096 pts/0    S+   04:58   0:00 grep lockd

Различие [lockd] строка. Это последовательно представляет на полях, где это все еще работает, и последовательно отсутствуйте на полях, где это прекратило работать.

Любая идея, что этот [lockd], как я могу перезапустить его, если это останавливается или как я могу удостовериться, что это не останавливается.

Я попробовал systemctl | grep lockd но это ничего не дает.

Я также попробовал journalctl -xe | grep lockd, cat /var/log/kern.log | grep lockd и cat /var/log/syslog | grep lockd все те ничего не возвращают.

Перезагрузка обычно убирает это условие.

1
задан 26 March 2019 в 08:07

1 ответ

Читать man nsfd, это говорит, частично,

   In the /proc filesystem there are 4 files that can be used to  enabled  extra  tracing  of
   nfsd and related code.  They are:
        /proc/sys/sunrpc/nfs_debug
        /proc/sys/sunrpc/nfsd_debug
        /proc/sys/sunrpc/nlm_debug
        /proc/sys/sunrpc/rpc_debug
   They  control tracing for the NFS client, the NFS server, the Network Lock Manager (lockd)
   and the underlying RPC layer respectively.  Decimal numbers can be read from or written to
   these  files.   Each number represents a bit-pattern where bits that are set cause certain
   classes of tracing to be enabled.  Consult the kernel header files to find out what number
   correspond to what tracing.

Также см. https://docstore.mik.ua/orelly/networking_2ndEd/nfs/ch11_02.htm

1
ответ дан 7 December 2019 в 15:06

Другие вопросы по тегам:

Похожие вопросы: