У меня есть группа серверов, которым нужны два общих ресурса nfs, нескольким серверам нужен доступ к одному из общих ресурсов, а всем серверам нужен доступ к другому. Сервер NFS - ubuntu 12.04, а остальные - 13.04 Вот мой экспорт на сервер nfs
/u0/logshare/ 172.1.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)
/vmail1/ 172.1.1.64/27(rw,fsid=0,no_subtree_check,async,anonuid=2000,anongid=2000) 172.1.1.36(rw,fsid=0,no_subtree_check,async,anonuid=2000,anongid=2000)
Оба они находятся в разных разделах, logshare - ext4, а vmail - xfs, не знаю, может ли это быть актуально.
Вот что находится в fstab на клиентском сервере
172.1.1.15:/vmail1 /vmail1 nfs hard,intr,auto 0 0
172.1.1.15:/u0/logshare /logshare nfs hard,intr,auto 0 0
но вот что я получаю после перезагрузки
172.1.1.15:/u0/logshare 4.1G 158M 3.8G 4% /logshare
172.1.1.15:/vmail1 4.1G 158M 3.8G 4% /vmail1
он просто дважды смонтировал логово. Если я изменю порядок экспорта, он дважды монтирует vmail. В чем дело? Я просматривал журналы, но не вижу ошибок, связанных с nfs
Showmount -e показывает это
/ vmail1 172.1.1.35,172.1.1.64 / 27 / u0 / logshare 172.1.1.0/24
и содержимое обоих креплений идентично
Вы должны были начать говорить, что это сервер NFSv4.
Проблема в вашем /etc/exports
файл. Вы объявляете оба ресурса с fsid=0
флаг. Это неверно.
Прочтите exports(5)
для деталей, но в основном:
For NFSv4, there is a distinguished filesystem which is the root of all exported filesystem.
This is specified with fsid=root or fsid=0 both of which mean exactly the same thing.
Т.е. вы можете только заявить один корень.
Обычной практикой (хотя у других могут быть разные) является создание выделенных LV (отформатированных так, как вам нужно, ext4
, xfs
, ...) для ресурсов, которые вы планируете экспортировать, и mount
их под управляемой структурой каталогов. Например:
/var/exports/foo
/var/exports/bar
/var/exports/baz
Затем, mount
связать эти ресурсы под /srv/nfsv4/
, в результате чего-то в строках:
# tree /srv/nfsv4/
/srv/nfsv4/
├── bar
├── baz
└── foo
Таким образом, вы заявляете /srv/nfsv4
ваш fsid=0
и экспортируйте остальные ресурсы по своему усмотрению.
Обратите внимание, что ограничения доступа (по IP или sec
выбран режим) в fsid=0
применяются, поэтому клиенты, не удовлетворяющие требованиям в fsid=0
не сможет смонтировать ресурсы, даже если выполняются требования для конкретного ресурса.