Автор статьи: Рустем Галиев
IBM Senior DevOps engineer & Integration Architect
Привет Хабр! На связи Рустем.
Сегодня мы поговорим про такую практику в Linux, как automount
Мы настроим сервер NFS для предоставления некоторых общих ресурсов и настроим автоматическое монтирование для автоматического доступа к этим общим ресурсам при необходимости.
В этой лабораторной задаче мы будем практиковаться в том, как:
Как настроить сервер NFS для предоставления простого общего ресурса
Как проверить доступ к серверу NFS
Как установить, настроить и запустить службу autofs
Как проверить автомонтируемые каталоги
Устанавливаем и настраиваем NFS сервер
Использование автоматического монтирования имеет смысл в сочетании с удаленными общими ресурсами NFS. Вы часто будете видеть это, чтобы предоставить доступ к домашним каталогам пользователей на основе NFS. Это позволяет нам размещать домашние каталоги на одном центральном сервере и предоставлять пользователям доступ к этим домашним каталогам при входе на любой компьютер. Чтобы создать такую среду, сначала необходимо установить и настроить сервер NFS.
Для начала мы используем dnf install -y nfs-utils для установки сервера NFS и связанных с ним утилит.
В NFS нам нужно чем-то поделиться. Давайте создадим фиктивную структуру домашнего каталога пользователя, которую затем можно будет расшарить:mkdir -p /users/nfs/{lisa,linda,anna}
Далее нам нужно сообщить NFS, чтобы она предоставила общий доступ к каталогу, содержащему домашние каталоги этих пользователей. Для этого нужен файл /etc/exports, который содержит имя каталога для общего доступа, включая некоторые права доступа:echo "/users *(rw,no_root_squash)" > /etc/exports
Включаем и проверяем NFS сервер
На данный момент мы создали базовую конфигурацию NFS. Давайте запустим и включим сервер NFS и проверим: systemctl enable --now nfs-server
Команда showmount предоставляет простой способ проверки доступа к серверу NFS. В данном случае это очень просто, так как сервер NFS даже не работает удаленно. Вот почему нам также не нужно настраивать какой-либо брандмауэр. Мы используем следующую команду для проверки доступности общих ресурсов NFS: showmount -e localhost
Мы увидим, что каталог /users экспортирован, а это значит, что пора заняться настройкой автомонтирования.
Устанавливаем пакет autofs
Чтобы использовать automount, нам нужно установить службу autofs. Начнем с этого: dnf install -y autofs
Поскольку у autofs еще нет никакой конфигурации, нет особого смысла запускать ее сейчас, поэтому давайте перейдем к следующему шагу и создадим конфигурацию.
Создаем конфигурацию автомонтирования
Конфигурация автомонтирования хранится в двух файлах. Файл /etc/auto.master используется для определения каталога, которым будет управлять автомонтирование, а также файла, используемого для дальнейшей настройки. Хорошим примером является каталог /misc. Мы используем следующую команду, чтобы увидеть, как выглядит эта строка по умолчанию: grep '^/misc' /etc/auto.master
В этом сценарии мы имитируем автоматическое монтирование домашних каталогов пользователей, предоставляемых NFS. Для этого мы запускаем следующую команду, чтобы добавить строку в файл auto.master: echo "/home/nfs /etc/auto.nfs" >> /etc/auto.master
Если нам когда-нибудь понадобится пример автомонтируемого каталога, взгляните на содержимое /etc/auto.misc. Он покажет нам имена подкаталогов, которые мы собираемся монтировать в основной каталог, а также откуда эти каталоги можно получить. Строка, которая монтирует FTP-сервер Linux (который на самом деле является сервером NFS), очень полезна: grep -i linux /etc/auto.misc
На основе этого примера мы можем добавить монтирование для домашних каталогов NFS. Однако есть одна вещь, которую нам нужно сделать по-другому. Нам нужны подстановочные знаки для ссылки на любой каталог, а для ссылки на соответствующую часть на сервере NFS нам нужен амперсанд. Поэтому для создания конфигурации автомонтирования мы используем echo "* -rw localhost:/users/nfs/&" > /etc/auto.nfs
На этом настройка завершена, поэтому пришло время запустить и включить службу autofs: systemctl enable --now autofs
Проверяем монтирования
В этот момент все должно работать. Во-первых, давайте посмотрим, как это выглядит. Используйте следующую команду, чтобы проверить содержимое (включая скрытые файлы) каталога /home/nfs
. Глядя на результат, обратите внимание, что мы никогда не создавали этот каталог. Нам и не нужно было его создавать,, потому что autofs сделал это за нас:
ls -al /home/nfs
На предыдущем шаге мы видели, что каталог /home/nfs не содержит подкаталогов. Это ожидаемо, потому что autofs станет активным только тогда, когда будет осуществлен доступ к одному из подкаталогов. Для домашнего каталога это произойдет автоматически при входе пользователя в систему. Сделаем следующее, чтобы имитировать это: cd /home/nfs/linda
Введем pwd, чтобы убедиться, что мы действительно находимся в каталоге /home/nfs/linda, который теперь автоматически смонтирован для нас.
Чтобы понять немного больше обо всем, что происходит в фоновом режиме, мы используем mount | tail -5
где мы увидим монтирования, созданные autofs.
Все довольно просто!
В заключение приглашаю всех на бесплатный урок специализации Linux, где разберем основные моменты использования LVM для организации дисковой системы в Linux.
Комментарии (2)
wizard_s
20.12.2022 22:59+2А будет рассказ о том, как лечить зависший nfs клиент при отвалившемся сервере и что делать, чтобы этого не происходило?
Johan_Palych
Какой интересный сервер без Firewall и SElinux