Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

9.6. Управление группами устройств

9.6.1. Пополнение группы устройств.
9.6.2. Создание списка групп устройств 9.6.3. Удаление группы устройств.
9.6.4. Управление членами группы устройств. 9.6.5. Управление резервированием устройств

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

База данных групп устройств постоянно находится в /etc/dgroup.tab. В этом каталоге дается один элемент на одну группу устройств; этот элемент состоит из списков членов группы. Можно прочитать эту базу данных, но непосредственно редактировать ее нельзя.

Можно попробовать управление группой устройств, выбрав параметр group из меню Storage Device или с помощью команды. Получите следующий экран:

	3     Device Group Management
	--------------------------------------------
	add         - Add a Device Group
	list        - List Device Group
	membership  - Group Membership Management
	remove      - Remove a Device Group

Для управления базой данных групп устройств с помощью команды shell используйте команду putdgrp, которая описана ниже.

9.6.1. Пополнение группы устройств

Выберите параметр add. Затем заполните форму, в которой укажите имя группы и список устройств, которые нужно включить в группу.

Для создания группы устройств используйте команду putdgrp. Напечатайте

	putdgrp group_name alias [alias [...]]
где group_name - имя создаваемой группы;
alias - псевдоним члена или членов группы устройств.

В следующем примере показано, как создается группа disk из двух членов (disk1 и disk2).

Пример.

	putdgrp disk  disk1  disk2

9.6.2. Создание списка групп устройств

Выберите из меню параметр List Device, дайте имя группе устройств, и на экране отобразится список.

Используйте команду getdgrp для создания списка групп, определенных в базе данных групп устройств. Выполняемая без параметров, эта команда создает список всех групп устройств. Например, выполнение getdgrp может порождать список:

	# getdgrp
	ctape
	disk
	diskette
	#

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

9.6.2.1. Определение групп устройств в командной строке getdgrp

Назовите группы устройств в командной строке, напечатав

	getdgrp [-e] group_name [group_name[...]]
где group_name - имя группы или групп устройств, которые вы хотите включить в список.

Все группы с именами будут включены, если вы не используете параметр -e, с помощью которого определяются группы с именами, которые должны быть исключены из списка.

9.6.2.2. Имена критериев в командной строке getdgrp

Чтобы присвоить имена критериям в командной строке getdgrp, выполните

	getdgrp [-a] criteria [criteria[...]]
где criteria определяются с помощью выражений.

Есть четыре типа выражений:

attribute=value -
выбирает все группы устройств, хотя бы с одним членом, атрибут которого attribute определен и равен value;
attribute!=value -
выбирает все группы устройств хотя бы с одним членом, атрибут attribute которого определен и не равен value;
attribute:* -
выбирает все группы устройств хотя бы с одним членом, атрибут attribute определен;
attribute!:* -
выбирает все группы устройств хотя бы с одним членом, у которого атрибут attribute не определен.

Можно определить список критериев, просто дав несколько выражений, отделенных промежутками. Чтобы быть включенным в список, хотя бы один член группы устройств должен соответствовать хотя бы одному критерию, если не используется параметр -a. Тогда в список будут включены только те группы устройств, в которых хотя бы один член соответствует всем критериям.

9.6.3. Удаление группы устройств

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

Удалив описание группы устройств из базы данных можно, напечатав

	putdgrp -d group_name
где group_name - это имя удаляемого описания группы устройств.

9.6.4. Управление членами группы устройств

Можно использовать команды или параметры меню, чтобы добавить, составить список или удалить члены из группы устройств. Экран выбора меню выглядит так:

	4      Group Membership Management
	-----------------------------------------------
	add      - Add a Member
	list     - List Members
	remove   - Remove a member

В любом случае вас просят дать имя группы, а в случае добавления или удаления, имя добавляемого или удаляемого члена.

9.6.4.1. Перечисление членов группы устройств

Для отображения списка с именами устройств, принадлежащих группе, напечатайте

	listdgrp group_name
где group_name - имя группы, список членов которой должен быть отображен.

9.6.4.2. Изменение группы устройств

Команду putdgrp можно использовать для изменения описаний группы путем добавления или удаления устройства из описания группы. Для этого напечатайте

	putdgrp [-d] group_name alias [alias [...]]
где group-name - имя изменяемого описания группы;
alias - псевдоним устройства, которое добавляется к описанию группы, или, если изпользуется параметр -d, имя устройства, которое удаляется из описания группы.

9.6.5. Управление резервированием устройств

Резервирование устройства помещает его в список резервируемых устройств. Этот список содержит имена зарезервированных устройств и процессы идентификации, запросившие резервирование.

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

Важно отметить, что использование системы резервирования устройств не обязательно, но когда эта система используется, никаких ограничений доступа к устройствам нет. Считается, что когда резервирование не состоится, пользователь или процесс, пытающиеся осуществить резервирование, не используют устройства. Однако, механизма предотвращения этого нет. Также процессы, не требующие резервирования устройств, могут использовать зарезервированное устройство, так как такой процесс не проверяет состояние резервирования.

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

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

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

Когда вы выбираете параметр reservation, получаете такой экран:

	3     Device Reservation Management
	---------------------------------------------
	free     - Free a Reserved Device
	list     - List Device Reservations
	reserve  - Reserve a Device

В случаях освобождения и резервирования устройств вас просят ввести имя устройства.

9.6.5.1. Резервирование устройства

Чтобы зарезервировать устройство для исключительного использования, напечатайте

	devreserv pid device
где pid - управляющий процесс, для которого должно быть зарезервировано устройство; device - псевдоним или полное имя пути устройства, которое должно быть зарезервировано.

device может быть списком устройств. Если это так, то первое устройство в списке будет зарезервировано.

Примечание. Когда устройство зарезервировано и резервирование не отменено, это устройство остается в списке. Чтобы убедиться, что устройство действительно используется будучи в списке, система проверяет состояние процесса, для которого зарезервировано устройство. Если процесс больше не действует, система считает, что устройство не используется и отменяет существующее резервирование, давая место новому.

9.6.5.2. Освобождение зарезервированного устройства

Чтобы освободить зарезервированное устройство, Напечатайте

	devfree pid [device [...]]
где pid - процесс, для которого зарезервировано устройство; device - псевдоним или полное имя пути устройства или устройства, которые должны быть освобождены от резервирования.

Команда devfree может быть выполнена только с аргументом pid; в этом случае все зарезервированные для процесса устройства будут освобождены.

9.6.5.3. Проверка состояния резервирования устройств

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

Чтобы перечислить все устройства, зарезервированные на данный момент, напечатайте

	devreserv

Чтобы перечислить все устройства, зарезервированные на данный момент для конкретного идентификатора процесса. напечатайте

	devreserv pid
где pid - идентификатор процесса.