Программа amd: более совершенный автомонтировщик
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 15:35 | Просмотров: 2622

Программа amd олицетворяет собой дальнейшее развитие концепции автоматического монтирования. Она стала в некотором роде сиротой, когда ее автор Джан-Саймон Пендри перестал сопровождать ее. В настоящее время разработку программы продолжает Эрец Задок (Erez Zadok) из Колумбийского университета, сделав ее компонентом пакета am-utils. Соответствующий Web-адрес таков:

http://www.cs.columbia.edu/~ezk/am-utils

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

  • Она посылает удаленным серверам через постоянные промежутки времени запросы типа "оставайся на связи" и ведет список доступных серверов. На основании этой информации происходит монтирование, демонтирование и замена файловых систем. Если какой-то сервер зависнет, при последующих попытках доступа к файловой системе будет возвращаться сообщение об ошибке "operation would block" (операция приведет к блокировке), предотвращающее зависание программы.
  • B amd нет патентованного исходного кода; эта программа перенесена более чем на двадцать версий UNIX.
  • Программа amd реализует ряд видов монтирования, которые не поддерживаются утилитой automount (например, монтирование "объединения" каталогов).
  • В дистрибутив amd входит команда amq, позволяющая отслеживать статус программы amd и посылать ей советы и команды (например, запросы на принудительное демонтирование).
  • Синтаксис таблиц назначений amd более стандартизирован, чем у программы automount. Для всех компьютеров организации можно использовать один файл, распространяемый посредством программы rdist или rsync.
  • Программа amd основана на следующей концепции: любой сервер имеет одну или несколько файловых систем, каждая из которых содержит один или более томов (связных совокупностей файлов). Это позволяет упростить обработку подкаталогов по сравнению с программой automount.

 

Таблицы назначений программы amd

 

Формат таблиц назначений программы amd исключительно гибок и позволяет использовать на нескольких компьютерах общий файл конфигурации. Элементы таблицы могут содержать условные операторы, предназначенные для активизации таблицы только в конкретных случаях (например, на заданном компьютере или при определенном типе архитектуры). В условных операторах применяются встроенные переменные (селекторы), которые заполняются различной информацией о среде выполнения программы amd. Наиболее часто используемые селекторы перечислены в табл. 17.10.

Таблица 17.10. Селекторы программы amd

Селектор

Значение

arch

Архитектура текущего компьютера

autodir

Каталог по умолчанию, в котором монтируются файловые системы

byte

Порядок следования байтов для данного компьютера (прямой или обратный)

cluster

Имя локального кластера компьютеров, по умолчанию — domain

domain

Имя локального домена NIS

host

Имя локального компьютера

hostd

Имя компьютера, объединенное с именем локального домена DNS

karch

Архитектура ядра (по умолчанию — значение селектора arch)

key

Имя используемого тома

map

Имя используемой таблицы монтирования

network

Имя сети или адрес любого сетевого интерфейса

os

Операционная система

osver

Версия операционной системы

 

Ниже представлен образец таблицы, сообщающей программе amd о двух файловых системах: /usr/man и /cs/tools. Для каждой из них имеется два набора опций. Первый определяет параметры монтирования файловой системы на том компьютере, где она реально находится, а второй задает параметры монтирования по сети:

 

/default    opts:=rw,soft,timeo=10,retrans=5

 

usr/man     host==chimchim;type:=ufs;dev:=/dev/sdlf

            host!=chimchim;rhost=chimchim;rfs:=/$(key);

            type=nfs;fs:=${autodir)/${key}

cs/tools    host==anchor;type:=ufs;dev:=/dev/sd3c

            host!=anchor;rhost=anchor;rfs:=/${key);

            type=nfs;fs:=${autodir)/${key)

 

 

Элементы вида имя: =значение определяют различные атрибуты монтирования. Например, первая строка устанавливает, что по умолчанию принимаются такие параметры: rw,soft,timeo=10,retrans=5. Элементы вида имя==значение или имя!=значение — это условные операторы; следующие за ними элементы используются только в том случае, если условный оператор имеет значение "истинно". Записи вида ${autcdir} и ${key} предназначены для вставки значения соответствующего селектора.

Предложение /default задает значения по умолчанию, которые применяются ко всем элементам таблицы назначений, если не отменяются явным образом. Различные опции описаны в табл. 17.11.

Таблица 17.11. Опции таблиц назначений программы amd

Опция

Описание

rhost

Удаленный компьютер, на котором находится том

rfs

Имя удаленной файловой системы

type

Тип монтирования, обычно nfs или ufs (локальный диск)

fs

Локальная точка монтирования

opts

Параметры монтирования

addopts

Опции, добавляемые к заданным по умолчанию

remopts

Опции, применяемые в том случае,  когда сервер не является локальным

 

Запуск программы amd

 

Выполняющаяся копия программы amd управляет одним каталогом виртуальной файловой системы, в котором происходят все операции автоматического монтирования. Имя каталога и файл таблицы назначений, где указано, что именно монтировать, задаются в командной строке.

Программу amd можно запустить посредством такого сценария:

 

#!/bin/csh -f

cd /usr/local/etc/arad

exec /usr/local/bin/amd -x fatal,error,user -r -1 syslog -a /tmp_mnt

     /amd amd.master.map >s /dev/console

 

 

Опции, использованные в этом сценарии, описаны в табл. 17.12.

Таблица 17.12. Опции командной строки amd

Опция

Описание

-x

Задает параметры регистрации сообщений на время работы программы

-r

Задает подключение уже смонтированных файловых систем

-l

Задает файл регистрации или систему Syslog для регистрации сообщений об ошибках

Задает альтернативное расположение точек монтирования1

/amd

Имя виртуального каталога (для автоматического монтирования)

amd.master.map

Файл таблицы назначений, содержащий опции монтирования

1   По умолчанию — /а.

 

Когда пользователь обращается к одной из файловых систем, определенных в таблице назначений amd, программа монтирует эту файловую систему и контролирует ее последующее использование. Если в течение определенного периода времени (обычно от 5 до 15 минут) файловая система остается незадействованной, программа amd демонтирует ее до нового обращения.

Статус смонтированных файловых систем можно узнать с помощью команды amq.

 

Останов программы amd

 

Программу amd нужно останавливать аккуратно, чтобы у нее была возможность "выпутаться" из структуры файловой системы. Корректный способ сделать это — послать программе сигнал TERM.


 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page