Difference between revisions of "NFS (Русский)"

From ArchWiki
Jump to: navigation, search
(up-to-date)
m (Added link to czech translation)
Line 6: Line 6:
 
{{i18n_entry|English|Nfs}}
 
{{i18n_entry|English|Nfs}}
 
{{i18n_entry|Русский|Nfs_(Russian)}}
 
{{i18n_entry|Русский|Nfs_(Russian)}}
 +
{{i18n_entry|Česky|Nfs_(Česky)}}
 
{{i18n_links_end}}
 
{{i18n_links_end}}
  

Revision as of 15:19, 23 May 2008

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Введение

Цель этой статьи - настройка 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 для подробной информации об опциях монтирования.