@ Карта сайта News Автора!

Bog BOS: Пакет утилит для автоматического монтирования файловых систем am-utils (amd)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL

Последнее изменение файла: 2008.03.05
Скопировано с www.bog.pp.ru: 2024.11.23

Bog BOS: Пакет утилит для автоматического монтирования файловых систем am-utils (amd)

Пакет утилит для автоматического монтирования файловых систем по неявному запросу am-utils (ранее amd) был разработан для 4.3BSD. В дальнейшем, адаптирован под SunOS, Solaris, HP-UX, IRIX, Linux и т.д.. Файловые системы монтируются при первом обращении и автоматически размонтируются при длительном неиспользовании. Ориентирован на использование RPC и NFS.

Размонтировать "вручную" файловые системы, обслуживаемые amd нельзя! Используйте "amq -u имя-тома".

Архитектура

amd может обслуживать несколько поддеревьев файлового пространства, которые задаются своими корнями (несколько первых простых имён в полном имени файла). Обращения ко всем файлам внутри этих поддеревьев обслуживаются amd. При этом каждое поддерево делится на тома. Каждый том имеет имя (виртуальный путь к корню тома, как он видится пользователям тома) и располагается в определённой файловой системе определённого сервера. В простейшем случае том занимает всю файловую систему, однако удалённая файловая система может содержать и несколько томов. При этом расположение тома определяется именем сервера, именем файловой системы и расположением корня тома внутри файловой системы (sublink). Например, имя тома /net/n01/home/bog (обслуживаемое поддерево файлового пространства - /net) для доступа к NFS серверу n01, файловой системе /home на нём и поддереву bog внутри файловой системы.

Для каждого обслуживаемого поддерева (например, /net) amd создаёт новую точку монтирования, которая выглядят как NFS том, обслуживаемые amd (реализованы только процедуры lookup, readlink, readdir). При необходимости соответствующие каталоги создаются и удаляются. При первом обращении к файлу тома amd определяет смонтирована ли указанная файловая система указанного сервера (возможно для другого тома): определяется предполагаемая локальная точка монтирования в специально отведённом месте (в нашем случае, /.automount/n01/root/home) и проверяется наличие файловой системы, смонтированной в этой точке. Локальная точка монтирования определяется только именем сервера и именем файловой системы. После монтирования NFS amd возвращает символьную ссылку, указывающую на подкаталог тома под локальной точкой монтирования, и все дальнейшие обращения к файлам тома идут через неё (volume mapping).

Тома могут быть реплицированы (т.е. иметь несколько одинаковых копий в различных местах сети) или дублированы (функционально одинаковые копии тома с одним и тем же именем). Имеется также возможность определить резервные (replacement) тома (подключаются в случае сбоя основного сервера), реализовано для NFS с помощью регулярной (keep-alive) проверки работоспособности сервера.

Карта монтирования

Для определения параметров монтирования amd при первом обращении к файлу внутри тома выбирает подходящую карту монтирования по имени обслуживаемого поддерева файлового пространства исходя из настроек и ключей запуска. Карта монтирования имеет имя и один из следующих типов (допустимые типы можно определить командой "amd -v"):

Карта монтирования состоит из записей, которые содержат ключ поиска и список локаторов (через пробел). Поиск подходящей записи для тома в карте монтирования производится сравнением имени тома и ключа: имя тома последовательно сравнивается с ключами (текстовое сравнение или сравнение с регулярным выражением в зависимости от настроек), при неудачном поиске самое правое простое имя из имени тома заменяется на '/*' и поиск повторяется. В самом крайнем случае ищется ключ '*'.

Локатор содержит список селекторов (через точку с запятой), тип файловой системы, опции монтирования, локальную точку монтирования. Селекторы определяют, может ли amd использовать данный локатор, и задаются в виде 'имя==значение' или 'имя!=значение' через точку с запятой:

Значения по умолчанию задаются с помощью ключа поиска '/default' (глобально для всей карты) или с помощью символа '-' в начале локатора. Возможна подстановка значений переменных amd и переменных окружения в виде '${имя-переменной}'. Если перед именем переменной указать символ '/', то вместо полного пути файла подставляется последнее простое имя. Если после имени переменной указать символ '/', то вместо полного пути файла подставляется всё, кроме первого простого имени. Если перед именем переменной указать символ '.', то вместо полного доменного имени хоста подставляется имя домена. Если после имени переменной указать символ '.', то вместо полного доменного имени хоста подставляется простое имя хоста. В первую очередь, вычисляются значения переменных в селекторах, затем производится установка переменных и проверка селекторов. В случае удачи, подставляются переменные в опции (в указанном порядке!): sublink, rfs, fs, opts, remopts, mount, unmount. Задание значения опции делается в виде 'имя:=значение'. amd по очереди пытается смонтировать разрешённые файловые системы. Возможно монтирование файловых систем в фоновом режиме. Монтирование может быть задержано (deffered), если для него требуется дополнительная информация.

Файл настройки amd.conf

Основной файл настройки (/etc/amd.conf) имеет строчную структуру. Строки комментариев начинаются с символа '#'. Файл делится на секции, секция начинается со строки, содержащей имя секции в квадратных скобках. Каждая строка секции определяет значение параметра в виде "имя=значение". Прописные и строчные буквы в именах секций и параметров различаются. Пробелы удаляются, кроме как в строках, обрамлённых кавычками. Типы значений: строки, числа, логические значения (yes и no). Секции бывают 2 видов:

Сервер amd

Формат запуска сервера amd:

amd ключи { каталог-точки-автомонтирования имя-карты [опции-карты] ... }

Процесс amd обрабатывает сигналы SIGTERM (amd размонтирует точки монтирования верхнего уровня, но оставляет остальные смонтированные файловые системы и завершает работу) и SIGINT (amd размонтирует все смонтированные им файловые системы и завершает работу). Процесс размонтирования может занять неопределённое время. Проще всего завершить работы amd командой (она ждёт размонтирования до 30 секунд)

service amd stop

Запуск, останов и прочие функции работы с сервисами в RHL (chkconfig, service) осуществляются с помощью скрипта /etc/rc.d/init.d/amd. Основной файл настройки /etc/amd.conf. Ключи для скрипта могут задаваться в файле /etc/sysconfig/amd, переменные: AMDOPTS, OPTIONS, MOUNTPTS.

Утилиты

Ссылки

@ Карта сайта News Автора!

Bog BOS: Пакет утилит для автоматического монтирования файловых систем am-utils (amd)

Последние изменения:
2024.11.22: sysadmin: systemd-journald (централизованное хранение)
2024.11.11: sysadmin: Linux: пространства имён
2024.11.06: sysadmin: настройка TCP/IP в Linux: виртуальный интерфейс и виртуальный мост
2024.10.25: sysadmin: Linux VFS, атрибуты, расширенные атрибуты, ACL



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru