NFS монтирует, показывая файлы с других монтировок - PullRequest
1 голос
/ 14 марта 2012

У меня есть сервер, на котором хранятся снимки ZFS, которые я экспортирую через NFS на серверы, для которых они создаются, чтобы вы могли восстановить их с помощью собственного приложения, написанного собственными силами.Проблема заключается в следующем:

ПРИМЕЧАНИЕ. Я не использую встроенную NFS для ZFS по какой-либо причине, поэтому, пожалуйста, не говорите мне использовать это!

Это все NFS v4
На хосте работает CentOS 6.2 На клиенте запущен CentOS 5.7

У меня на хосте по умолчанию запущено 8 серверов nfs.

На сервере резервного копирования, который содержитразделяя NFS, я могу просматривать структуру каталогов настолько глубоко, насколько это необходимо, и видеть все ожидаемые файлы.

На клиенте я могу просматривать файловую систему, но иногда, и это действительно кажется случайным, когда я иду 2 илибольше каталогов, я в конечном итоге вижу файлы с другого сервера.

Вот пример:

[NFSSERVER /nfs/share]#  ls -l
total 60
drwx--x--x 30 root root 4096 Feb 25 00:15 20120225
drwx--x--x 30 root root 4096 Feb 26 00:05 20120226
drwx--x--x 30 root root 4096 Feb 27 00:06 20120227
.....

и т. Д.

[NFSCLIENT /app/backups]# ls -l
total 60
drwx--x--x 30 nobody nobody 4096 Mar  2 00:25 20120225/
drwx--x--x 30 nobody nobody 4096 Mar  2 00:25 20120226/
drwx--x--x 30 nobody nobody 4096 Mar  2 00:25 20120227/
......

и т. Д.

Вы можете видеть, что они идентичны, как и должно быть.

Вот здесь и начинается проблема.Если я вхожу в:

[NFSCLIENT /app/backups/20120225/home] #  ls -l

Когда я запускаю этот ls -l на клиенте иногда Я вижу правильные файлы, иногда я вижу домашний каталог другого сервера.

Если я попал на [NFSSERVER /nfs/share/20120225/home]# ls -l

Когда я запускаю этот ls -l, я вижу правильные файлы.Если я удаляю папку в / nfs / share /, я сразу вижу результат на клиенте.Только когда я углубляюсь, я вижу эти «кросс-монтированные» файловые системы.

Вот часть моего / etc / exports (имена хостов изменены)

/nfs *.domain.com(fsid=0,ro,nohide,no_root_squash)
/nfs/server1/20120308 *.domain.com(ro,nohide,no_root_squash)
/nfs/server1/20120309 *.domain.com(ro,nohide,no_root_squash)
/nfs/server1/20120310 *.domain.com(ro,nohide,no_root_squash)
/nfs/server1/20120311 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120308 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120309 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120310 *.domain.com(ro,nohide,no_root_squash)
/nfs/server2/20120311 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120204 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120205 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120206 *.domain.com(ro,nohide,no_root_squash)
/nfs/server3/20120207 *.domaincom(ro,nohide,no_root_squash)

ЕСЛИ я удаляювсе строки из etc export EXCEPT, который перекрестно монтируется, затем перезагружает файл export (то есть, оставляя только одну запись в / etc / exports), он показывает все правильные каталоги на клиентском компьютере.

Итак, устаревшие ручки NFS?Больше NFS серверов работают по умолчанию?Что-то другое?Есть идеи?Я уже несколько недель бьюсь головой об этом.

...