Nfs 3

Матеріал з Wiki Welard
Версія від 15:39, 25 вересня 2009, створена 91.124.11.75 (обговорення) (Created page with '== Установка и настройка NFS в Linux CentOS 5 == Скорее всего NFS уже есть в системе. Это можно проверить сле...')
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Установка и настройка NFS в Linux CentOS 5

Скорее всего NFS уже есть в системе. Это можно проверить следующей командой.

# chkconfig --list nfs

0:off 1:off 2:off 3:off 4:off 5:off 6:off nfs

Добавляем в автозагрузку

# chkconfig nfs on

# service nfs start

Если же nfs в системе не обнаружен то ставим из репозитория

# yum -y install nfs-utils

В своей работе NFS использует RPC-вызовы а значит работоспособность службы можно проверить с помощью portmapper (он тоже должен быть запущен на сервере где выполняются программы использующие RPC Calls).

# rpcinfo -p localhost | grep nfs

program vers proto port

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

Как видим на моем сервере обслуживаются NFS-запросы всех версий NFS (4-ая — последняя на данный момент).

Настройка

Файл конфигурации /etc/exports содержит список файловых систем которые мы экспортируем, то есть разрешаем монтировать по протоколу NFS на удаленных системах.

Каждая строка в файле это указание на экспортируемую ФС и режим доступа к ней, шаблон следующий:

[файловая система] [кому разрешено получать доступ] [опциональные ключи]

Пример /etc/exports:

/home 192.168.146.135(rw,no_root_squash)

Здесь мы разрешаем монтировать /home на сервере 192.168.146.135 в режиме rw

Внимание! Аккуратнее с пробелами в файле. Если написать /home 192.168.146.135 (rw) то сервер 192.168.146.135 получит доступ к /home

в режиме ro, все остальные в rw. Если 192.168.146.135 (rw) то сервер 192.168.146.135 получит доступ в режиме rw, всем остальным доступ будет запрещен!

Перечитываем файл чтобы внесенные изменения начали действовать.

# exportfs -r

Проверим список экспортированных ФС

# exportfs
/home 192.168.146.135

Как видим все хорошо. Теперь на сервере 192.168.146.135 попробуем примонтировать ФС /home экспортированную на 192.168.146.132

Создаем каталог куда будем монтировать

# mkdir /mnt/nfs

Монтируем с помощью команды mount. Ключем -t задаем тип монтируемой ФС, далее <hostname>:<resource> <точка монтирования в локальной системе>

# mount -t nfs 192.168.146.132:/home /mnt/nfs

Используя опцию -o можно указать дополнительные ключи монтирования. По умолчанию монтирование происходит в режиме rw.

Если ФС экспортированы на сервере который работает 24 часа в сутки то монтирование разделов можно добавить в /etc/fstab тем самым автоматизировав процедуру при старте компьютера.

Строчка в /etc/fstab в нашем случае будет такая:

nfs defaults 192.168.146.132:/home /mnt/nfs

Все готово.

Опции конфигурационного файла

Самые часто используемые опции я описал ниже.

  • ro — Только чтение;
    * rw Чтение и запись;
    * root_squash Не разрешает пользователю root получать root-привилегии в удаленной файловой системе, все действия будут сделаны от лица пользователя nobody;
    * no_root_squash Пользователь root в локальной системе получает такие же права в удаленной. Стоит использовать эту опцию только в случае острой необходимости. Используется для бездисковых клиентов;
    * all_squash Все запросы происходят от анонимного пользователя, что способствует повышению безопасности. Актуально для публичных разделов;
    * anonuid/anongid Позволяет задать UID и GID пользователя от лица которого будут выполняться все запросы;
    * sync Синхронный режим работы, ответы на запросы происходят только после того, как данные будут надежно записаны на диск. Надежность выше, производительность меньше;
    * async Асинхронный режим работы, ответы на запросы происходят сразу, не дожидаясь записи на диск. Надежность ниже, производительность выше;
    * insecure Разрешать запросы с портов более чем 1024;
    * no_subtree_check Если экспортируется подкаталог файловой системы, но не вся файловая система, сервер, проверяет, находится ли запрошенный файл в экспортированном подкаталоге. Эта проверка называется проверкой подкаталога. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.

Указать каким хостам разрешено монтировать наши разделы можно несколькими способами:

1. Указать hostname или просто IP-адрес;
2. Указать “*”, что означает разрешено всем. Если указать *.fasttech.ru то будет разрешено testers.fasttech.ru но запрещено alex.testers.fasttech.ru . Чтобы этого избежать нужно написать *.*.fasttech.ru;
3. В нужных местах использовать “?”, что заменяет любой символ (не применимо к IP-адресам);
4. Использовать маски подсетей, например 192.168.146.32/27;
5. Использовать NIS-группы, например @nisgroup2.

Дополнительная информация

Описанного выше должно хватить сполна, но если хочется больше то:

# man nfs

# man exports

# man exportfs

Не путайте exports и exportfs. exports – это конфигурационный файл, exportfs — программа для работы с ним.