Форумы

GNU.SU - Записки нубо-линуксойда :: Форумы :: LinuxЫ :: CentOS, RedHat, Fedora
 
<< Предыдущая тема | Следующая тема >>
Установка и настройка NFS в Linux CentOS 5
Модераторы: tastelinux, Frizze, andrey, Bender
Автор Добавил
andrey
Чтв Авг 26 2010, 08:52

ID пользователя #2
Зарегистрирован: Срд Май 05 2010, 10:56

Сообщений: 69
Скорее всего 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 portmap


В своей работе NFS использует RPC-вызовы а значит работоспособность службы можно проверить с помощью portmapper (/etc/init.d/portmap) (он тоже должен быть запущен на сервере где выполняются программы использующие 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 на удаленных системах.

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

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

Пример:

#cat /etc/exports: 
/home 192.168.146.135(rw,no_tastelinux_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


Теперь прописываем в файлике /etc/hosts.allow следующее:
portmap: 192.168.146.135

Тем самым мы разрешаем пользоваться portmap со слоедующего ip.

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

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

# mkdir /mnt/nfs


Монтируем с помощью команды mount. Ключем -t задаем тип монтируемой ФС, далее : <точка монтирования в локальной системе>
# 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 Чтение и запись;
  • tastelinux_squash Не разрешает пользователю tastelinux получать tastelinux-привилегии в удаленной файловой системе, все действия будут сделаны от лица пользователя nobody;
  • no_tastelinux_squash Пользователь tastelinux в локальной системе получает такие же права в удаленной. Стоит использовать эту опцию только в случае острой необходимости. Используется для бездисковых клиентов;
  • all_squash Все запросы происходят от анонимного пользователя, что способствует повышению безопасности. Актуально для публичных разделов;
  • anonuid/anongid Позволяет задать UID и GID пользователя от лица которого будут выполняться все запросы;
  • sync Синхронный режим работы, ответы на запросы происходят только после того, как данные будут надежно записаны на диск. Надежность выше, производительность меньше;
  • async Асинхронный режим работы, ответы на запросы происходят сразу, не дожидаясь записи на диск. Надежность ниже, производительность выше;
  • insecure Разрешать запросы с портов более чем 1024;
  • no_subtree_check Если экспортируется подкаталог файловой системы, но не вся файловая система, сервер, проверяет, находится ли запрошенный файл в экспортированном подкаталоге. Эта проверка называется проверкой подкаталога. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.


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

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

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

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

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

[ Редактирование Птн Ноя 25 2011, 12:47 ]
Наверх
nfs centos   установка nfs centos   настройка nfs centos   настройка nfs   exports   exportfs   

tastelinux
Птн Ноя 25 2011, 11:13
andreika

ID пользователя #1
Зарегистрирован: Птн Апр 30 2010, 12:25

Сообщений: 337
В процесе монтирования NFS у вас могут возникнуть проблемы следующего плана: mount: mount to NFS server failed: System Error: Connection refused.

Один из вариантов возникновения ошибки:
mount: mount to NFS server failed: System Error: Connection refused.

при подключении к самому себе.
на localhost работает на внешний адрес - нет

проверяем:

[tastelinux@gnu.su log]# mount -v -t nfs 192.168.0.24:/iso /mnt/nfs
mount: Unable to connect to 192.168.0.24:111, errno 111 (Connection refused)
mount: trying 192.168.0.24 prog 100003 vers 3 prot tcp port 49146
mount: Unable to connect to 192.168.0.24:49146, errno 111 (Connection refused)
mount: mount to NFS server '192.168.0.24' failed: System Error: Connection refused.


[tastelinux@gnu.su log]# netstat -anp |grep 111
tcp        0      0 127.0.0.1:111               0.0.0.0:*                   LISTEN      5607/portmap
udp        0      0 127.0.0.1:111               0.0.0.0:*                               5607/portmap


[tastelinux@gnu.su etc]# tail /var/log/messages
Oct 27 13:56:38 vxen portmap[10632]: Only binding to LOOPBACK address!


нам надо на все

[tastelinux@gnu.su etc]# cat /etc/sysconfig/portmap
PMAP_ARGS=-l
[tastelinux@gnu.su etc]# vi /etc/sysconfig/portmap
#PMAP_ARGS=-l #комментируем 


проверяем:

[tastelinux@gnu.su log]# netstat -anp |grep 111

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      10708/portmap
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               10708/portmap

[tastelinux@gnu.su etc]# /etc/init.d/nfs restart
[tastelinux@gnu.su etc]# mount -v -t nfs 192.168.0.24:/iso /mnt/nfs
mount: trying 192.168.0.24 prog 100003 vers 3 prot tcp port 2049
mount: trying 192.168.0.24 prog 100005 vers 3 prot udp port 806


если такая ошибка: mount: mount to NFS server '192.168.0.24' failed: RPC Error: Program not registered.
Перезапускаем сервис nfs:
[tastelinux@gnu.su etc]# /etc/init.d/nfs restart


[ Редактирование Птн Ноя 25 2011, 12:54 ]
Наверх
mount to NFS server failed System Error Connection   mount to NFS server failed RPC Error Program not r   NFS error   nfs error mount   

 

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System