Монтирование nfs linux при запуске

Как смонтировать общий ресурс NFS в Linux

Сетевая файловая система (NFS) — это протокол распределенной файловой системы, который позволяет вам обмениваться удаленными каталогами по сети. С помощью NFS вы можете монтировать удаленные каталоги в своей системе и работать с удаленными файлами, как если бы они были локальными файлами.

В операционных системах Linux и UNIX вы можете использовать команду mount для монтирования общего каталога NFS в определенной точке монтирования в локальном дереве каталогов.

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

Установка клиентских пакетов NFS

Чтобы смонтировать общий ресурс NFS в системе Linux, сначала необходимо установить клиентский пакет NFS. Название пакета отличается в разных дистрибутивах Linux.

Установка клиента NFS в Ubuntu и Debian:

Установка клиента NFS на CentOS и Fedora:

Монтирование файловых систем NFS вручную

Подключение удаленного общего ресурса NFS аналогично монтированию обычных файловых систем.

Чтобы смонтировать файловую систему NFS в заданной точке монтирования, используйте команду mount в следующей форме:

Выполните следующие действия, чтобы вручную смонтировать удаленный общий ресурс NFS в вашей системе Linux:

Сначала создайте каталог, который будет точкой монтирования для удаленного общего ресурса NFS:

Точка монтирования — это каталог на локальном компьютере, где должен быть смонтирован общий ресурс NFS.

Подключите общий ресурс NFS, выполнив следующую команду от имени пользователя root или пользователя с привилегиями sudo :

Где 10.10.0.10 — это IP-адрес сервера NFS, /backup — это каталог, который сервер экспортирует, а /var/backups — локальная точка монтирования.

В случае успеха вывод не производится.

Если вы хотите указать дополнительные параметры монтирования , используйте параметр -o . Несколько вариантов могут быть представлены в виде списка, разделенного запятыми. Чтобы получить список всех параметров монтирования, введите в терминале man mount .

Чтобы убедиться, что удаленный том NFS успешно смонтирован, используйте команду mount или df -h .

После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы.

Когда вы монтируете общий ресурс вручную, подключение общего ресурса NFS не сохраняется после перезагрузки.

Автоматическое монтирование файловых систем NFS с помощью /etc/fstab

Как правило, вы хотите автоматически монтировать удаленный каталог NFS при загрузке системы.

Файл /etc/fstab содержит список записей, определяющих, где, как и какая файловая система будет монтироваться при запуске системы.

Чтобы автоматически монтировать общий ресурс NFS при запуске системы Linux, добавьте строку в файл /etc/fstab . Строка должна включать имя хоста или IP-адрес сервера NFS, экспортированный каталог и точку монтирования на локальном компьютере.

Используйте следующую процедуру для автоматического монтирования общего ресурса NFS в системах Linux:

Настройте точку монтирования для удаленного общего ресурса NFS:

Добавьте в файл следующую строку:

Где 10.10.0.10 — IP-адрес сервера NFS, /backup — это экспортированный каталог, а /var/backups — локальная точка монтирования.

Выполните команду mount в одной из следующих форм, чтобы смонтировать общий ресурс NFS:

Команда mount прочитает содержимое /etc/fstab и смонтирует общий ресурс.

В следующий раз, когда вы перезагрузите систему, общий ресурс NFS будет смонтирован автоматически.

Читайте также:  Нетбук lenovo как установить windows

Размонтирование файловых систем NFS

Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.

Чтобы отсоединить смонтированный общий ресурс NFS, используйте команду umount за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:

Если для монтирования NFS есть запись в fstab , удалите ее.

Команда umount не сможет отсоединить общий ресурс, когда смонтированный том используется. Чтобы узнать, какие процессы обращаются к общему ресурсу NFS, используйте команду fuser :

Как только вы найдете процессы, вы можете остановить их с помощью команды kill и отключить общий ресурс NFS.

Если у вас все еще есть проблемы с —lazy ресурса, используйте параметр -l ( —lazy ), который позволяет вам отключать загруженную файловую систему, как только она больше не занята.

Если удаленная система NFS недоступна, используйте параметр -f ( —force ) для принудительного размонтирования.

Как правило, не рекомендуется использовать опцию принудительного выполнения, так как это может повредить данные в файловой системе.

Выводы

Мы показали вам, как подключать и отключать удаленный общий ресурс NFS. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Монтирование nfs linux при запуске

Для монтирования общего NFS-каталога другого компьютера используйте команду mount :

mount shadowman.example.com:/misc/export /misc/local

К моменту выполнения этой команду уже должен существовать каталог точки монтирования на локальном компьютере (в приведённом выше примере /mnt/local ).

В этой команде shadowman.example.com — имя узла файлового сервера NFS, /misc/export — каталог, который экспортирует shadowman , а /misc/local — размещение монтируемой файловой системы на локальном компьютере. Выполнив команду mount (и имея необходимые разрешения на NFS-сервере shadowman.example.com ), клиент может запустить команду ls /misc/local и получить список файлов в каталоге /misc/export на компьютере shadowman.example.com .

Также можно подключить NFS-ресурс другого компьютера, добавив строку в файл /etc/fstab . В этой строке указывается имя NFS-сервера, каталог, экспортируемый этим сервером, и каталог локального компьютера, в который будет смонтирован этот NFS-ресурс. Чтобы изменить файл /etc/fstab , вы должны быть пользователем root.

Типичная запись в файле /etc/fstab выглядит следующим образом:

server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr

К моменту выполнения этой команды, каталог /pub уже должен существовать на клиентском компьютере. Добавив эту строку в файл /etc/fstab на клиентском компьютере, введите в приглашении оболочки команду mount /pub , и каталог /pub будет смонтирован с сервера.

Кроме этого, подключить NFS-ресурс можно с помощью службы autofs. Autofs использует демона automount для управления своими точками монтирования, монтируя их динамически по мере обращения.

Autofs анализирует главный файл сопоставлений /etc/auto.master для определения точек монтирования. Затем запускается процесс автоматического монтирования каждой точки с указанными параметрами. Каждая строка в главном файле сопоставлений определяет точку монтирования, а отдельный файл сопоставлений определяет, какие файловые системы должны быть смонтированы в эту точку. Например, файл /etc/auto.mnt может определять точки монтирования для каталога /mnt , и эта связь будет определяться в файле /etc/auto.master .

Каждая запись в auto.master имеет три поля. В первом поле указывается точка монтирования. Во втором поле определяется размещение файла сопоставлений, а третье поле является необязательным. Третье поле может содержать дополнительную информацию, например значение таймаута.

Например, чтобы смонтировать каталог /proj52 удалённого компьютера penguin.example.net в точку монтирования /mnt/myproject на вашем компьютере, добавьте в файл auto.master следующую строку:

/misc /etc/auto.misc —timeout 60

Затем, добавьте в файл /etc/auto.mnt следующую строку:

myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52

Первое поле в файле /etc/auto.mnt содержит имя подкаталога в /misc . Этот подкаталог динамически создаётся демоном automount. Он не должен существовать на клиентском компьютере. Второе поле содержит параметры подключения, например, параметр rw разрешает доступ на чтение и запись. В третьем поле определяется размещение NFS-экспорта, включая имя компьютера и каталога.

Предупреждение

Каталог /misc должен уже существовать в локальной файловой системе. При этом в локальном каталоге /misc не должно быть подкаталогов.

Чтобы запустить службу autofs, введите в приглашении оболочки следующую команду:

/sbin/service autofs restart

Чтобы просмотреть активные точки монтирования, введите в приглашении оболочки следующую команду:

/sbin/service autofs status

Если вы измените файл конфигурации /etc/auto.master во время работы autofs, вы должны указать демону automount перегрузить его, выполнив следующую команду в приглашении оболочки:

/sbin/service autofs reload

Чтобы узнать, как настроить запуск autofs при загрузке, и получить другую информацию об управлении службами, обратитесь к разделу 20 Управление доступом к службам .

Транспортным протоколом в NFSv4 по умолчанию является TCP; однако, ядро Red Hat Enterprise Linux 4 также поддерживает NFS поверх UDP. Чтобы использовать NFS поверх TCP, при подключении экспортированной файловой системы NFS на клиентском компьютере передайте параметр -o udp команде mount .

Подключить экспорт файловой системы NFS можно тремя способами. По требованию, в командной строке (на стороне клиента), автоматически, с помощью файла /etc/fstab (на стороне клиента) и автоматически, с помощью файлов конфигурации autofs, например, /etc/auto.master и /etc/auto.misc (на стороне сервера с использованием NIS).

Например, чтобы настроить экспорт в командной строке (на стороне клиента):

mount -o udp shadowman.example.com:/misc/export /misc/local

Когда NFS-монтирование указано в /etc/fstab (на стороне клиента):

server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr,udp

Когда NFS-монтирование указано в файле конфигурации NIS-сервера (для рабочих станций, поддерживающих NIS):

myproject -rw,soft,intr,rsize=8192,wsize=8192,udp penguin.example.net:/proj52

Так как по умолчанию используется TCP, если параметр -o udp не указан, клиент обращается к экспортированной файловой системе NFS по протоколу TCP.

Использование TCP даёт в частности следующие преимущества:

Повышенная прочность соединения, то есть меньше сообщений NFS stale file handles .

Выигрыш в скорости в сильно загруженных сетях, так как TCP подтверждает каждый пакет, в отличие от UDP, который подтверждает только завершение всей операции.

TCP имеет лучшие средства для работы в загруженных сетях, по сравнению с UDP (у него их вообще нет). В первую очередь в сильно загруженных сетях пропадают пакеты UDP. Это значит, что если NFS пишет данные блоками по 8 Кбайт, по UDP приходится передавать повторно все 8 Кбайт. А так как TCP работает надёжно, передаются только части этих 8 Кбайт.

Выявление ошибок. Когда TCP-соединение разрывается (по причине недоступности сервера) клиент прекращает передачу данных и перезапускает подключение, пока сервер не будет доступен. Так как протокол UDP не контролирует подключения, сеанс продолжает забрасывать сеть данными, пока сервер не восстановит подключение.

Основным недостатком TCP является очень незначительное снижение производительности из-за накладных расходов, связанных с протоколом TCP.

Ядро Red Hat Enterprise Linux 4 обеспечивает поддержку ACL для файловой системы ext3 и файловых системы ext3, смонтированных с использованием протоколов NFS или Samba. Таким образом, если в файловой системе ext3 включены ACL, она экспортируется через NFS, и NFS-клиент может читать ACL, он также будет работать с ACL.

Источник

Монтирование NFS на сервере Ubuntu 18.04 LTS

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

Нам потребуются две виртуальные машины:

  • nfs-client , ip-адрес 192.168.30.20 — которая будет клиентом
  • nfs-server , ip-адрес 192.168.30.21 — которая будет сервером

Установка компонентов

На виртуальную машину nfs-server устанавливаем пакет nfs-kernel-server :

На виртуальную машину nfs-client устанавливаем пакет nfs-common :

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

На виртуальной машине nfs-server создаем каталог:

Поскольку каталог создан с помощью команды sudo , он принадлежит пользователю root . Но NFS переведёт все операции root клиента в nobody:nogroup в целях безопасности. Во избежание конфликта нужно изменить права на каталог:

Предоставим всем право записи в этот каталог:

Экспорт каталога на сервере

Каталог готов, теперь можно его экспортировать

Параметры обоих каталогов почти одинаковы, за исключением no_root_squash , который присутствует только в настройках домашнего каталога. Домашний каталог добавлен с целью посмотреть, как доверенные пользователи nfs-client могут получить права суперпользователя.

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

Правила для файервола на сервере

Теперь проверим состояние файервола:

Разрешим соединения с хоста 192.168.30.20 на порту 2049 :

Создание точек монтирования на клиенте

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

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

Монтирование удаленных каталогов на клиенте

Монтируем удаленные каталоги:

Доступ к каталогу common

Давайте на клиенте от имени root создадим файл test.txt в директории /mnt/nfs/common :

И посмотрим права на этот файл:

Поскольку этот каталог был смонтирован со стандартным поведением NFS, а тестовый файл принадлежит пользователю root , в расшаренном каталоге права на файл изменятся на nobody:nogroup . Суперпользователь клиента не сможет выполнять задачи администратора (изменять привилегии, создавать каталоги для пользователей и групп и т.п.).

Доступ к каталогу home

Теперь на клиенте от имени root создадим файл test.txt в директории /mnt/nfs/home :

И посмотрим права на этот файл:

При монтировании этого каталога поведение NFS по умолчанию было изменено с помощью параметра no_root_squash . Благодаря этому суперпользователь клиента сохраняет свои привилегии.

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

Для этого достаточно выполнить команды:

Монтирование NFS при загрузке клиента

Если удаленные каталоги на клиенте нужны постоянно, удобно монтировать их сразу при загрузке системы:

  • auto — файловая система будет смонтирована автоматически при загрузке
  • nofail — предотвращает появление ошибок, если NFS-сервер недоступен
  • noatime — не обновлять информацию о времени доступа к файловой системе
  • intr — прерывать файловые операции, если NFS-сервер долго не отвечает
  • tcp — для монтирования использовать протокол TCP, а не стандартный UDP
  • actimeo — время кэширования атрибутов файлов и каталогов в секундах

Доступ к NFS-серверу за NAT

Наш NFS-сервер расположен во внутренней сети 192.168.30.0/24 и имеет ip-адрес 192.168.30.21 . Выход в интернет для компьютеров сети 192.168.30.0/24 обеспечивает маршрутизатор с двумя сетевыми интерфейсами. Интерфейс enp0s3 смотрит во внешнюю сеть и имеет ip-адрес 192.168.110.8 . Интерфейс enp0s8 смотрит во внутреннюю сеть и имеет ip-адрес 192.168.30.3 . Выглядит это примерно так (все компьютеры, кроме одного, виртуальные)

Чтобы обеспечить доступ к NFS-серверу из сети 192.168.110.0/24 , выполняем на маршрутизаторе команды:

И сохраняем эти правила, чтобы они применились после перезагрузки (должен быть установлен пакет iptables-persistent ):

На виртуальной машине nfs-server редактируем файл /etc/exports :

А на виртуальной машине nfs-server изменяем настройки файервола:

Теперь монтировать удаленные каталоги может хост 192.168.110.12 и все хосты из сети 192.168.30.0/24 .

Источник

Читайте также:  Разделение мониторов windows 10
Оцените статью
Замечание