РЕДАКТИРОВАНИЕ:
Для суммирования проблемы это - проблема с сервером NFS, изменяющим IP-адрес и клиенты NFS, не берущие новый адрес. Я вижу через tcpdump
то, что клиент все еще пытается связаться со старым IP-адресом на порте 2049.
У нас есть несколько точек монтирования NFS, определенных как это в /etc/fstab
. Как Вы видите, это - NFS v3.
storage-1:/data/medias/media /var/www/myproject/data/media nfs rsize=32768,wsize=32768,hard,intr,actimeo=300,nfsvers=3,async,noatime,sec=sys 0 0
storage-1:/data/medias/secure /var/www/myproject/web/secure nfs rsize=32768,wsize=32768,hard,intr,actimeo=300,nfsvers=3,async,noatime,sec=sys 0 0
storage-1:/data/tobeprocessed /var/www/myproject/data/tobeprocessed nfs rsize=32768,wsize=32768,hard,intr,actimeo=300,nfsvers=3,async,noatime,sec=sys 0 0
storage-1:/data/ftp /var/ftp nfs rsize=32768,wsize=32768,hard,intr,actimeo=300,nfsvers=3,async,noatime,sec=sys 0 0
Когда мы перезапускаем сервер, мы должны размонтировать и повторно смонтировать каждую конечную точку, иначе клиенты не могут получить доступ к серверу NFS. Я попробовал спустя 5 минут после перезагрузки прежде, чем размонтироваться и повторно смонтироваться.
После перезапуска сервера NFS, простого ls /var/www/myproject/data/media
заставляет консоль зависнуть.
Я могу также видеть следующие сообщения в /var/log/syslog
:
Sep 16 11:24:36 encoder-1 kernel: [69688.160102] nfs: server storage-1 not responding, still trying
Sep 16 11:30:15 encoder-1 kernel: [70027.744042] nfs: server storage-1 not responding, still trying
Когда я umount
и затем mount
один из каталогов nfs на клиенте, я могу затем получить доступ к нему. Но я не могу получить доступ к другим если я также umount
и mount
их.
Я любой знает возможное решение для этого, я внимательно слушаю. Отметьте это rpcinfo
шоу, что клиент может связаться с сервером, как показано ниже.
Существует один сервер NFS, 4 клиента NFS для в общей сложности 12 точек монтирования.
Результат rpcinfo -p storage-1
от клиента:
[0]root@encoder-1:/var/log # rpcinfo -p storage-1
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 52115 status
100024 1 tcp 57907 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 59603 nlockmgr
100021 3 udp 59603 nlockmgr
100021 4 udp 59603 nlockmgr
100021 1 tcp 47716 nlockmgr
100021 3 tcp 47716 nlockmgr
100021 4 tcp 47716 nlockmgr
100005 1 udp 892 mountd
100005 1 tcp 892 mountd
100005 2 udp 892 mountd
100005 2 tcp 892 mountd
100005 3 udp 892 mountd
100005 3 tcp 892 mountd
Когда включение NFS отлаживает трассировки, как объяснено здесь, мы получаем следующее сообщение журнала:
Sep 17 05:35:00 encoder-1 kernel: [135112.160230] nfs: server storage-1 not responding, still trying
Sep 17 05:53:47 encoder-1 kernel: [136240.018538] NFS: nfs_lookup_revalidate(///) is valid
Sep 17 05:53:47 encoder-1 kernel: [136240.018538] NFS: revalidating (0:12/5242881)
Sep 17 05:53:47 encoder-1 kernel: [136240.018538] NFS call getattr
Думаю, проблема в разрешении имени хоста. Я заметил, что даже если разрешение работает нормально, в противном случае в системе и сети у процессов монтирования NFS иногда возникают проблемы. Я бы изменил имя хоста на фактический IP-адрес и попробовал его. Допустим, полное доменное имя - storage-1.example.org, и оно разрешится до 192.0.2.11, затем выполните:
192.0.2.11:/data/medias/media /var/www/myproject/data/media nfs bg,rsize=32768,wsize=32768,hard,intr,actimeo=300,nfsvers=3,async,noatime,sec=sys 0 0
Даже если это не решит проблему Лично я считаю, что использование IP-адреса вместо имени хоста или FQDN предпочтительнее. Но я понимаю, что могут быть причины, по которым вы не захотите этого делать.
Примечание : я добавил параметр bg , который будет фоновым процессом монтирования на случай, если монтирование займет больше времени , чтобы ускорить загрузку. Вам решать, хотите ли вы этого. Я подумал, что упомянул бы об этом, поскольку при наличии нескольких точек монтирования NFS, каждая из которых требует больше времени (или тайм-аута) для монтирования, время загрузки может легко превысить один час.