Я пытаюсь заставить работать nfs4.
Машина 1 (сервер) У меня есть папка, а в ней еще 2 папки, которые я пытаюсь предоставить к ним независимый доступ. /shared/folder1 /shared/folder2
Проблема в том, что я не могу понять, как монтировать папки по отдельности на клиенте.
(Машина 1 - сервер) /etc/exports:
/var/shared/folder1 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder2 192.168.200.101(rw,fsid=0,sync)
...
exportfs -ra
...
exportfs
/var/shared/folder1
192.168.200.101
/var/shared/folder2
192.168.200.101
(Машина 2 - клиент) /etc/fstab:
192.168.200.201:/folder1/ /home/nfsmnt/folder1 nfs4 rw 0 0
...
mount /home/nfsmnt/folder1
mount.nfs4: 192.168.200.201:/folder1/ failed, reason given by server: No such file or directory
Папка там. Я уверен. Я думаю, что есть что-то простое, что я упускаю, но я полностью это упускаю.
Кажется, в fstab должен быть способ указать nfs, какую папку на сервере я хочу смонтировать. Но я могу найти только ссылки на то, что выглядит как корневая точка монтирования (например 192.168.1.1:/
), которая, как я предполагаю, обрабатывается экспортами на сервере. Но даже с папками, настроенными в экспортах, похоже, нет очевидного способа pich и выбрать, что монтировать.
Разве невозможно монтировать отдельные папки с одного и того же сервера к разным точкам монтирования на клиенте?
Любая помощь приветствуется.
редактировать:
Журнал ошибок на сервере показывает следующее:
/var/shared/folder1 and /var/shared/folder2 have same filehandle for 192.168.200.101, using first
Не уверен, что это значит или как это изменить. Гугление, похоже, выдает только информацию о безопасности nfs.
решение1
Чтобы сделать подкаталоги общими, мне пришлось сначала сделать общим родительскую папку с fsid=0. Поэтому на сервере /etc/exports выглядит так:
/var/shared 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder1 192.168.200.101(rw,sync)
/var/shared/folder2 192.168.200.101(rw,sync)
то на клиенте /etc/fstab выглядит так:
192.168.200.201:/folder1 /home/nfsmnt/folder1 nfs4 rw 0 0
192.168.200.201:/folder2 /home/nfsmnt/folder2 nfs4 rw 0 0
Затем я могу смонтировать папки, как и ожидалось:
mount /home/nfsmnt/folder1
решение2
Проблема в том, что у вас есть fsid=0
для двух экспортированных файловых систем. Это сообщение об ошибке, которое вы получаете. fsid=0
используется для установки вершины экспортированного дерева файловых систем в nfsv4. Установите это только один раз. Обычно у вас будет что-то вроде этого в /etc/exports на сервере:
/var/shared 192.168.200.101(rw,fsid=0,sync)
/var/shared/folder1 192.168.200.101(rw,sync)
/var/shared/folder2 192.168.200.101(rw,sync)
Видетьhttp://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html
решение3
в /etc/fstab, любой из двух синтаксисов должен подойти
192.168.200.201:/var/shared/folder1 /home/nfsmnt/folder1 nfs4 rw,defaults 0 0 192.168.200.201:/var/shared/folder1 /home/nfsmnt/folder1 nfs rw,nfsvers=4,defaults 0 0