Nfc ubuntu

Загрузка и установка компонентов

Для начала нужно установить на оба сервера все необходимые пакеты.

sudo apt-get updatesudo apt-get install nfs-kernel-server

https://www.youtube.com/watch?v=ytcopyrightru

После завершения установки перейдите на клиентский сервер.

На сервер client нужно установить пакет nfs-common, предоставляющий функции NFS без необходимости устанавливать серверные компоненты.

sudo apt-get updatesudo apt-get install nfs-common

Введение в NFS

NFS (Network File System – сетевая файловая система) по моему мнению – идеальное решение в локальной сети, где необходим быстрый (более быстрый по сравнению с SAMBA и менее ресурсоемкий по сравнению с удаленными файловыми системами с шифрованием – sshfs, SFTP, etc…) обмен данными и во главе угла не стоит безопасность передаваемой информации.

Протокол NFS позволяет монтировать удалённые файловые системы через сеть в локальное дерево каталогов, как если бы это была примонтирована дисковая файловая система. Тем самым локальные приложения могут работать с удаленной файловой системой, как с локальной. Но нужно быть осторожным (!) с настройкой NFS, ибо при определенной конфигурации можно подвесить операционную систему клиента в ожидании бесконечного ввода/вывода. Протокол NFS основан на работе протокола RPC

, который пока не поддается моему пониманию )) поэтому материал в статье будет немного расплывчат…

 Прежде, чем Вы сможете использовать NFS, будь это сервер или клиент, Вы должны удостовериться, что Ваше ядро имеет поддержку файловой системы NFS. Проверить поддерживает ли ядро файловую систему NFS можно, просмотрев наличие соответствующих строк в файле

ARCHIV ~ # grep nfs /proc/filesystems
nodev nfs
nodev nfs4
nodev nfsd

Если указанных строк в файле /proc/filesystems не окажется, то необходимо установить описанные ниже пакеты. Это скорее всего позволит установить зависимые модули ядра для поддержки нужных файловых систем. Если после установки пакетов, поддержка NFS не будет отображена в указанном файле, то необходимо будет перекомпилировать ядро, с включением данной функции.

Создание расшаренного каталога на сервере host

Теперь попробуйте расшарить два отдельных каталога между двумя серверами. Первым распределённым каталогом будет /home, в котором хранятся данные пользователей; второй – каталог общего назначения, который будет создан специально для NFS и называется /var/nfs.

Каталог /home уже существует, потому нужно создать только каталог /var/nfs.

sudo mkdir /var/nfs

Итак, теперь каталоги, предназначенные для совместного использования, почти готовы. Нужно только отладить права доступа к ним. Передайте права на эти каталоги системному пользователю по имени nobody и группе nogroup.

sudo chown nobody:nogroup /var/nfs

Обратите внимание: нужно изменить владельцев только каталога, специально предназначенного для совместного использования, /var/nfs. Изменение прав и владельцев каталога /home может повлечь за собой серьёзные проблемы на сервере host.

ARCHIV ~ # cat /etc/exports
# Доступ на чтение и запись для клиента на 192.168.0.100, с доступом rw для пользователя 99 с gid 99
/files 192.168.0.100(rw,sync,all_squash,anonuid=99,anongid=99))
# Доступ на чтение и запись для клиента на 192.168.0.100, с доступом rw для пользователя 99 с gid 99
/files 192.168.0.100(rw,sync,all_squash,anonuid=99,anongid=99))
# chown -R nobody.nobody /files
FILES ~ # mount -t nfs archiv:/files /archivs/files

https://www.youtube.com/watch?v=ytpolicyandsafetyru

Резюме

Фух… Статья завершена. Сегодня мы изучили что такое Network File System и с чем ее едят, в следующей статье попытаюсь сделать HOWTO с аутентификацией Kerberos. Надеюсь материал получился доходчивым и нужным. Буду рад Вашим дополнениям и комментариям!

Дополнительно можно почитать

NFS HOWTO, nfs.sourceforge, man nfs? man mount, man exports

– NFSv1, v2 – NFSv3 – NFSv4 – NFSv4.1man exports – производительность NFS от IBM.

С Уважением, Mc.Sim!

История Network File System

Протокол NFS разработан компанией Sun Microsystems и имеет в своей истории 4 версии. NFSv1 была разработана в 1989 и являлась экспериментальной, работала на протоколе UDP. Версия 1 описана в RFC 1094. NFSv2 была выпущена в том же 1989 г., описывалась тем же RFC1094 и так же базировалась на протоколе UDP, при этом позволяла читать не более 2Гб из файла.

NFSv3 доработана в 1995 г. и описана в RFC 1813. Основными нововведениями третьей версии стало поддержка файлов большого размера, добавлена поддержка протокола TCP и TCP-пакетов большого размера, что существенно ускорило работоспосбоность технологии. NFSv4 доработана в 2000 г. и описана в RFC 3010, в 2003 г.

пересмотрена и описана в RFC 3530. Четвертая версия включила в себя улучшение производительности, поддержку различных средств аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC GSS) и списков контроля доступа (как POSIX, так и Windows-типов). NFS версии v4.1 была одобрена IESG в 2010 г.

, и получила номер RFC 5661. Важным нововведением версии 4.1, является спецификация pNFS — Parallel NFS, механизма параллельного доступа NFS-клиента к данным множества распределенных NFS-серверов. Наличие такого механизма в стандарте сетевой файловой системы поможет строить распределённые «облачные» («cloud») хранилища и информационные системы.

Экспортирование NFS

Каталоги полностью готовы, теперь нужно открыть конфигурационный каталог NFS и расшарить их.

sudo nano /etc/exports

https://www.youtube.com/watch?v=ytaboutru

directory_to_share       client(share_option1,…,share_optionN)

/home       111.111.111.111(rw,sync,no_root_squash,no_subtree_check)/var/nfs    111.111.111.111(rw,sync,no_subtree_check)

Обратите внимание на опции в скобках:

  • rw: выдаёт клиенту права на чтение и запись в томе.
  • sync: прежде чем ответить, NFS будет записывать изменения на диск. Это делает среду более стабильной и последовательной, так как ответ отражает фактическое состояние удаленного тома.
  • no_subtree_check: предотвращает проверку поддерева (процесс проверки host-сервером доступности файла в экспортируемом дереве для каждого запроса). Это может вызвать много проблем в совместном использовании, например, если открытый на клиенте файл был переименован на сервере. Проверку поддерева рекомендуется отключить в большинстве случаев.
  • no_root_squash: по умолчанию NFS транслирует запросы от root-пользователя клиента не-root пользователю сервера, благодаря чему root-пользователь клиента не можетиспользовать файловую систему хозяина с теми же привилегиями. Данная директива блокирует эту функцию безопасности для некоторых совместно используемых ресурсов.

Внеся все изменения, сохраните и закройте файл.

Затем нужно создать таблицу NFS для хранения экспортированных данных совместно используемых каталогов.

sudo service nfs-kernel-server start

Эта команда откроет доступ к расшаренным каталогам всем настроенным клиентам.

Демонтирование удалённых каталогов

Итак, сервер host настроен и подготовлен к совместному использованию каталогов с клиентом. Теперь нужно настроить клиент.

Чтобы смонтировать удалённые каталоги, нужно создать несколько точек монтирования. Традиционно для этого используется /mnt; создайте в этом каталоге новый каталог nfs.

sudo mkdir -p /mnt/nfs/homesudo mkdir -p /mnt/nfs/var/nfs

sudo mount 1.2.3.4:/home /mnt/nfs/homesudo mount 1.2.3.4:/var/nfs /mnt/nfs/var/nfs

Эти команды выполнят монтирование каталогов сервера host и сервера client. Чтобы убедиться, что монтирование прошло успешно, проверьте дисковое пространство на клиенте.

https://www.youtube.com/watch?v=ytadvertiseru

cd ~sudo umount /mnt/nfs/homesudo umount /mnt/nfs/var/nfs

Это удалит смонтированные каталоги из файловой системы.

Тестирование доступа NFS

sudo touch /mnt/nfs/home/test_home

sudo touch /mnt/nfs/var/nfs/test_var_nfs

ls -l /mnt/nfs/home/test_home-rw-r–r– 1 root   root      0 Apr 30 14:43 test_home

Как видите, файл принадлежит пользователю root. Это потому, что опция root_squash была ранее отключена (в противном случае файл принадлежал бы анонимному не-root пользователю).

ls -l /mnt/nfs/var/nfs/test_var_nfs-rw-r–r– 1 nobody nogroup 0 Apr 30 14:44 test_var_nfs

В данном случае файл принадлежит пользователю nobody и группе nogroup.

Автоматическое монтирование NFS

Чтобы настроить автоматическое монтирование каталогов, добавьте их в файл fstab на клиенте.

sudo nano /etc/fstab

1.2.3.4:/home    /mnt/nfs/home   nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 01.2.3.4:/var/nfs    /mnt/nfs/var/nfs   nfs auto,noatime,nolock,bg,nfsvers=4,sec=krb5p,intr,tcp,actimeo=1800 0 0

man nfs

https://www.youtube.com/watch?v=ytpressru

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *