Главная > Операционные системы > Linux >
Настройка NFS-сервера и клиентов на Debian Lenny

Настройка NFS-сервера и клиентов на Debian Lenny

В этой статье описан процесс настройки NFS-сервера и его клиентов. NFS расшифровывается как Network File System (Сетевая Файловая Система). Клиенты, подключившие себе ресурсы с NFS-сервера, могут работать с файлами на удаленном сервере также, как если бы они располагались на локальном жестком диске.

В статье мы будем придерживаться следующих соглашений:

  • NFS-сервер: server.example.com с IP-адресом 192.168.0.100
  • NFS-клиент: client.example.com с IP-адресом 192.168.0.101

Установка NFS
Сервер

apt-get install nfs-kernel-server nfs-common portmap

Клиент

apt-get install nfs-common portmap

Экспорт директорий с сервера
Сделаем директории /home и /var/nfs доступными для клиентов. Для этого мы должны "экспортировать" их с сервера.

Обычно клиент монтирует NFS-ресурс с правами nobody. Но директория /home, как правило, не принадлежит пользователю nobody (и категорически не рекомендуется менять ее владельца). Помимо чтения, мы хотим предоставить возможность записи в нее, так что укажем NFS, что мы хотим предоставлять доступ к /home от пользователя root. (Если выдается доступ только для чтения, то это не нужно). Ну и наконец необходимо создать директорию /var/nfs и изменить ее владельца на nobody:nogroup

mkdir /var/nfs
chown nobody:nogroup /var/nfs

Теперь отредактируем файл /etc/exports в соответствии с описанными выше параметрами доступа к NFS-ресурсам.

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/home           192.168.0.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.0.101(rw,sync,no_subtree_check)

(Опция no_root_squash необходима для доступа к директории /home от имени root)
Для получения более подробной информации по опциям и параметрам файла exports обратитесь к документации

man 5 exports

Чтобы сделанные изменения вступили в силу, выполните

exportfs -a

Монтирование NFS-ресурсов
Клиент
Создадим точки монтирования для NFS-ресурсов:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

И попробуем их смонтировать:

mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

Проверим, смонтировались ли "шары"?

client:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   19G  676M   17G   4% /
tmpfs                 253M     0  253M   0% /lib/init/rw
udev                   10M   80K   10M   1% /dev
tmpfs                 253M     0  253M   0% /dev/shm
/dev/sda1             471M   20M  427M   5% /boot
192.168.0.100:/home    29G  684M   27G   3% /mnt/nfs/home
192.168.0.100:/var/nfs
                       29G  684M   27G   3% /mnt/nfs/var/nfs
client:~#

client:~# mount
/dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,addr=192.168.0.100)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,addr=192.168.0.100)
client:~#

Проверяем работу с файлами
Создадим тестовые файлы в смонтированных директориях
Клиент

touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt

Теперь можно зайти на сервер и убедиться, что физически файлы созданы там

server:~# ls -l /home/
total 4
drwxr-xr-x 2 administrator administrator 4096 2009-02-16 13:18 administrator
-rw-r--r-- 1 root          root             0 2009-03-12 17:08 test.txt
server:~#

server:~# ls -l /var/nfs
total 0
-rw-r--r-- 1 nobody nogroup 0 2009-03-12 17:08 test.txt
server:~#

Обратите внимание: в директории /home владельцем созданного файла является root, так как мы указали серверу, что мы работаем с этим ресурсои от имени root. В /var/nfs все "по умолчанию" - владелец nobody

Монтирование NFS-ресурсов во время загрузки
Для того, чтобы NFS-ресурсы монтировались автоматически во время загрузки клиента, добавьте следующие параметры в файл /etc/fstab на клиентской машине:

[...]
192.168.0.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0
192.168.0.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

Вместо rw,sync,hard,intr вы можете использовать другие опции монтирования. Для более полной информации прочтите

man nfs

Перезагрузите клиента. После загрузки ресурсы должны быть уже смонтированы.

Оригинал: http://howtoforge.org/setting-up-an-nfs-server-and-client-on-debian-lenny
Источник: http://boombick.org/blog/posts/68, 18.V.2009


Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

© УкрFAQ 2010
Сайт создан в системе uCoz