Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
A.3. udev 장치 관리자에 대해 장치 매퍼(Device Mapper) 지원
udev
장치 관리자의 주요 역할은 /dev
디렉토리에 있는 노드의 동적 설정 방식을 제공하는 것입니다. 이러한 노드를 생성하여 사용자 공간에 있는 udev
규칙 응용 프로그램을 지시합니다. 이러한 규칙은 특정 장치의 추가, 제거, 변경의 결과로 커널에서 직접 전송된 udev
이벤트에서 실행됩니다. 이는 핫플러그 지원에 대한 편리한 중앙 메커니즘을 제공합니다.
실제 노드를 생성하는 것 외에,
udev
장치 관리자는 자신의 이름으로된 심볼릭 링크를 생성할 수 있으며, 필요할 경우 사용자는 사용자 정의된 이름과 /dev
디렉토리에 디렉토리 구조를 선택할 수 있습니다.
각각의
udev
이벤트에는 이름, 하부 시스템, 장치 유형, 사용되는 주/부 번호, 이벤트 유형과 같은 실행되고 있는 장치에 대한 기본 정보가 들어있습니다. udev
규칙에서 액세스할 수 있는 /sys
디렉토리에 있는 모든 정보에 액세스할 수 있으며, 사용자는 이 정보를 기반으로 간단한 필터를 사용하여 정보에 따라 조건부로 규칙을 실행할 수 있습니다.
udev
장치 관리자는 중앙 관리 방식의 노드 권한 설정을 제공합니다. 사용자는 이벤트를 처리하는 동안 사용 가능한 정보로 지정한 장치의 권한을 정의하기 위해 사용자 정의된 규칙을 쉽게 추가할 수 있습니다.
udev
규칙에 직접 hook 프로그램을 추가할 수 도 있습니다. udev
장치 관리자는 이벤트를 처리하기 위해 필요한 프로세스를 제공하기 위해 이러한 프로그램을 호출할 수 있습니다. 또한 프로그램은 이러한 처리의 결과로 환경 변수를 내보낼 수 있습니다. 어떤 처리 결과든지 정보의 추가 소스로 규칙에 사용될 수 있습니다.
udev
라이브러리를 사용하는 소프트웨어는 사용 가능한 모든 정보와 함께 udev
이벤트를 받아 처리할 수 있으므로 처리 사항은 udev
데몬에 바인딩되지 않습니다.
A.3.1. 장치 맵퍼 (Device Mapper)로 udev 통합
RHEL 6에서 장치 맵퍼(Device Mapper)는
udev
통합에 대해 직접적인 지원을 제공합니다. 이는 장치 맵퍼를 LVM 장치를 포함하여 장치 맵퍼 장치와 연관된 모든 udev
처리와 동기화합니다. udev
데몬에 있는 규칙 어플리 케이션은 장치 변경의 소스인 (dmsetup
및 LVM 등) 프로그램과 병령 처리 형태이기 때문에 동기화가 필요합니다. 이러한 지원 없이 이전 변경 이벤트의 결과로 udev
규칙에 의해 처리되는 아직 열려있는 상태의 장치를 제거하기 위한 문제가 사용자에게 자주 발생했었습니다. 특히 장치의 변경 간격이 매우 짧은 경우에 자주 발생했었습니다.
RHEL 6 릴리즈에서는 일반적으로 장치 맵퍼 (Device Mapper) 장치 및 LVM에 대해 공식적으로 지원되는
udev
규칙을 제공합니다. 표 A.1. “장치 맵퍼 (Device-Mapper) 장치에 대한 udev 규칙 ”에는 /lib/udev/rules.d
에 설치된 이러한 규칙에 대해 요약되어 있습니다.
표 A.1. 장치 맵퍼 (Device-Mapper) 장치에 대한 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 | libdevmapper (LVM 및 dmsetup 과 같이)를 사용하여 대기중 프로세스를 통지하기 위한 규칙이 포함되어 있습니다. 이전의 모든 규칙이 적용된 후 통지가 완료되며, udev 프로세스가 완됴되었는지를 확인합니다. 그 후 통지된 프로세스는 다시 시작됩니다. |
12-dm-permissions.rules
파일을 사용하여 사용자 설정 권한 규칙을 추가할 수 있습니다. 이 파일은 /lib/udev/rules
디렉토리에 설치되지 않고 /usr/share/doc/device-mapper-version
디렉토리에서 찾을 수 있습니다. 12-dm-permissions.rules
파일은 예에서 처럼 일부 일치되는 규칙에 기반한 권한 설정 방법에 대한 설명이 들어있는 템플릿으로 이 파일에는 일반적인 상황의 예가 들어 있습니다. 이 파일을 편집하여 /etc/udev/rules.d
디렉토리에 수동으로 배치하면 여기에 업데이트가 위치하게 되어 설정이 그대로 유지됩니다.
이러한 규칙은 이벤트를 처리하는 동안 다른 규칙에 의해 사용될 수 있는 모든 기본적인 변수를 설정합니다.
다음과 같은 매개 변수는 10-dm.rules에 설정되어 있습니다:
DM_NAME
: 장치 매퍼 장치 이름DM_UUID
: 장치 매퍼 장치 UUIDDM_SUSPENDED
: 장치 맵퍼 (Device Mapper) 장치의 일시 정지 상태DM_UDEV_RULES_VSN
:udev
규칙 버전 (이는 이전에 언급된 매개 변수가 공식적인 장치 맵퍼 규칙에 의해 직접 설정되어 있는지를 다른 모든 규칙이 확인하는 것입니다)
다음의 매개 변수는
11-dm-lvm.rules
에 설정되어 있습니다:
DM_LV_NAME
: 논리 볼륨 이름DM_VG_NAME
: 볼륨 그룹 이름DM_LV_LAYER
: LVM 레이어 이름
이러한 모든 매개 변수는
12-dm-permissions.rules
파일에서 설명하고 있듯이 12-dm-permissions.rules
파일에서 사용하여 특정 장치 매퍼 (Device Mapper) 장치에 대한 권한을 정의할 수 있습니다.