Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
A.3. Поддержка udev
Основной задачей менеджера устройств
udev
является обслуживание файлов устройств в каталоге /dev
. Создание файлов устройств осуществляется в соответствии с правилами udev
в пространстве пользователя. При добавлении, удалении и изменении устройств ядро генерирует события, которые будут обработаны правилами udev
.
udev
может создавать не только файлы устройств, но и символьные ссылки, предоставляя тем самым свободу действий в выборе имен устройств и организации каталогов внутри /dev
.
Событие
udev
содержит информацию об устройстве — имя, подсистема, которой оно принадлежит, тип устройства, основной и второстепенный номер и тип события. На основе этой информации и данных из /sys
можно создать фильтры для правил.
udev
предоставляет централизованный механизм настройки доступа к файлам устройств. Пользователь может определить собственный набор правил доступа к устройствам.
Правила могут содержать вызовы других программ. В свою очередь, программы могут экспортировать переменные окружения. Полученные результаты могут быть переданы правилам для дальнейшей обработки.
Обработка событий может осуществляться не только службой
udev
, но и другими программами, использующими библиотеку udev
.
A.3.1. Интеграция udev с Device Mapper
В RHEL 6 обработка событий
udev
синхронизируется с Device Mapper. Синхронизация необходима, так как udev
применяет правила параллельно с программой, запрашивающей изменение устройства (например, dmsetup
или LVM). В противном случае могло бы оказаться так, что пользователь пытается удалить устройство, которое еще используется службой udev
.
RHEL 6 обеспечивает поддержку правил
udev
для устройств Device Mapper. Правила располагаются в /lib/udev/rules.d
(см. Таблица A.1, «Правила udev»).
Таблица A.1. Правила udev
Файл | Описание | ||
---|---|---|---|
10-dm.rules |
| ||
11-dm-lvm.rules |
| ||
13-dm-disk.rules | Содержит правила для обработки устройств Device Mapper и создает символьные ссылки в каталогах /dev/disk/by-id , /dev/disk/by-uuid и /dev/disk/by-uuid . | ||
95-dm-notify.rules | Содержит правило для уведомления ожидающего процесса. Уведомление будет отправлено после завершения обработки udev , то есть после применения всех правил. После этого процесс продолжит работу. |
Дополнительные правила доступа можно добавить в
12-dm-permissions.rules
. Этот файл не устанавливается в /lib/udev/rules
по умолчанию и изначально расположен в каталоге /usr/share/doc/device-mapper-версия
. Он содержит шаблон для настройки доступа на базе примера. Отредактировав файл, переместите его в /etc/udev/rules.d
.
Указанные правила определяют основные переменные, которые могут использоваться другими правилами.
Переменные в
10-dm.rules
:
DM_NAME
: имя проекции устройства;DM_UUID
: идентификатор проекции устройства;DM_SUSPENDED
: устройство приостановлено;DM_UDEV_RULES_VSN
: версия. Проверяется другими правилами, чтобы убедиться, что указанные выше переменные определены официальными правилами Device Mapper.
Переменные в
11-dm-lvm.rules
:
DM_LV_NAME
: логический том;DM_VG_NAME
: группа томов;DM_LV_LAYER
: уровень LVM.
Для настройки доступа к конкретному устройству Device Mapper перечисленные переменные можно добавить в файл
12-dm-permissions.rules
.