Nfs (Russian)
From ArchWiki
i18n |
---|
English |
Русский |
Česky |
Contents |
Введение
Цель этой статьи - настройка NFS сервера для разделения файлов в сети. Будем придерживаться принципа KISS в статье, поэтому всё должно быть довольно понятно.
Требуемые пакеты
Требуемые пакеты как для сервера, так и для клиента, минимальны.
Вам требуется установить лишь пакеты
- core/portmap
- core/nfs-utils
Поскольку оба пакета находятся в репозитории [core], то они будут включены в установочный диск.
Настройка сервера
Можно приступать к правке некоторых конфигурационных файлов и запускать нужные демоны. Вам требуется быть рутом для выполнения следующих команд.
Файлы
/etc/exports
Этот файл (/etc/exports) содержит различные разделяемые каталоги и права на них на сервере.
Несколько примеров:
/files *(ro,sync) # Только чтение для всех access to anyone /files 192.168.0.2(rw,sync) # Чтение и запись для клиента с IP 192.168.0.2 /files 192.168.1.1/24(rw,sync) # Чтение и запись для всех клиентов с 192.168.1.1 по 192.168.1.255
Чтобы изменения вступили в силу без перезапуска демона, выполните команду:
#exportfs -arv
Если вы хотите сделать ваш разделённый NFS каталог открытым и с правом записи, вы можете использовать опцию all_squash в комбинации с опциями anonuid и anongid.
Например, чтобы установить права для пользователя 'nobody' в группе 'nobody', вы можете сделать следующее:
; Доступ на чтение и запись для клиента на 192.168.0.100, с доступом rw для пользователя 99 с gid 99 /files 192.168.0.100(rw,sync,all_squash,anonuid=99,anongid=99))
Это также означает, что если вы хотите разрешить доступ к указанной директории, nobody.nobody должен быть владельцем разделённой директории:
chown -R nobody.nobody /files
Подробнее - читайте man exports.
/etc/hosts.allow
Чтобы разрешить доступ по сети к nfs серверу для IP 192.168.0.1, вам надо добавить следующие строчки в /etc/hosts.allow.
portmap: 192.168.0.2 lockd: 192.168.0.2 rquotad: 192.168.0.2 mountd: 192.168.0.2 statd: 192.168.0.2
Чтобы все машины могли иметь доступ, напишите в файл /etc/hosts.allow следующие строчки:
portmap: ALL lockd: ALL rquotad: ALL mountd: ALL statd: ALL
Подробнее про настройку файла /etc/hosts.allow, смотрите, например, http://www.die.net/doc/linux/man/man5/hosts.allow.5.html
Демоны
Для запуска nfs сервера, вам требуется запустить несколько демонов:
#/etc/rc.d/portmap start #/etc/rc.d/nfslock start #/etc/rc.d/nfsd start
Вы можете добавить эти демоны в список в файл /etc/rc.conf, чтобы они запускались при загрузке системы. Обязательно проследите, чтобы демоны запускались именно в этом порядке.
Настройка клиента
Предположим, что демоны portmap, nfslock и nfsd запущены как на сервере, так и на клиенте.
Монтирование удалённых директорий
Монтирование удалённых каталогов происходит так же, как и локальных (предположим, что точка монтирование /mnt/home существует):
#mount 192.168.0.1:/home /mnt/home
Отмонтировать можно так же, как и локальный каталог:
#umount /mnt/home
Запись в /etc/fstab
Файловые системы NFS могут быть добавлены в файл /etc/fstab так же, как и локальные, но существует некоторые отличия: тип файловой системы должен быть nfs и значения dump и fsck order (последние две записи в строчке) должны быть равны 0. Итак, вот пример записи в файле /etc/fstab:
# device mountpoint fs-type options dump fsckorder ... 192.168.0.1:/home /mnt nfs rw 0 0 ...
soft или hard монтирование
nfs клиент может обрабатывать сбои сервера в работе. Есть две опции монтирования: hard и soft.
soft:
Если запрос на получение файла не выполнен, NFS клиент сообщит об ошибке процессу, который пытается получить доступ к файлу. Некоторые программы умеют это обрабатывать, большая же часть - нет. Разработчики nfs не рекомендуют использовать эту опцию; это прямой путь к повреждённым данным и потере информации.
hard:
Программа, осуществляющая доступ к файлу повиснет при смерти сервера. Процесс не может быть прерван или убит (только "sure kill"), пока вы не укажете опцию intr. Когда NFS сервер вернётся к работе, программа продолжит работу с того места, где остановилась. Разработчики NFS рекомендуют использование опций hard,intr со всеми монтируемые NFS файловые системы.
Смотрите man mount для подробной информации об опциях монтирования.