У меня есть сервер nfs, который правильно работал с общим ресурсом на / exports / something. Однако, когда я монтирую / экспортирую / что-то на / dev / mapper / something (lvm с большим пространством), nfs не работает.
Сервер nfs - это centos7.
Клиент nfs - это debian8.
/ etc / fstab:
<file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/centos-something /exports/something xfs defaults 0 0
Клиент nfs без проблем связывался с / exports / something до того, как / exports / something стал монтироваться на lvm. Если я отключу lvm, общий ресурс nfs снова начнет работать, если я перемонтирую / export / something на lvm, nfs перестанет работать (но lvm работает).
Как я могу привязать клиента nfs к монтированию lvm на сервере nfs?
Когда это не работает, на сервере работают все демоны, а на стороне клиента только файлы. Нет записи в журнале для nfs.
Я хочу переключить монтирование nfs так, чтобы оно было на lvm.
Версия NFS на клиенте debian8:
nfs-common 1:1.2.8-9
Версия NFS на сервере centos7:
libnfsidmap.x86_64 0.25-11.el7 @base
nfs-utils.x86_64 1:1.3.0-0.8.el7 @base
Вероятно, это связано с тем, что вы не перезапустили сервер NFS при монтировании файловой системы. Сервер NFS будет обрабатывать файловую систему, в которой существует экспортированный каталог; если вы измените это, добавив точку монтирования, сервер NFS этого не заметит, и ему понадобится пинок под зад. Это необходимо для протокола, BTW, потому что для некоторых операций NFS кодирует inodes в сетевой протокол. Обратите внимание, что это означает, что если у вас есть клиенты с открытыми файлами или открытыми блокировками (или аналогичными), когда вы пытаетесь это сделать, произойдут Плохие вещи (TM). Так что не делай этого :-)
Подобная проблема также появится, если вы экспортируете файловую систему, в которой есть подкаталог, являющийся точкой монтирования; например, если вы экспортируете /srv/nfs
через NFS и смонтировать файловую систему на /srv/nfs/stuff
, тогда, если вы явно не добавите /srv/nfs/stuff
к /etc/exports
, этого тоже не будет. Причина в том, что в протоколе снова появляются inode. Вы можете обойти это, используя nohide
экспорт, но с этим методом есть несколько ошибок. Вместо того, чтобы пытаться воспроизвести документацию, я предлагаю вам прочитать справочную страницу (man 5 exports
) и ищите nohide
там.
Может это проблема с selinux. Попробуйте выпустить setenforce 0
и перезапустить сервер nfs. Затем попробуйте заново смонтировать общий ресурс на стороне клиента.