장치 노드 LVM

장치 노드 LVM

LVM에 대해 읽을 때 장치 노드가 언급되었습니다. 그것이 무엇인지, 무엇을 하는지에 대한 유용한 정보를 찾을 수 없습니다. 어디를 봐야 할지에 대한 도움이나 조언을 주시면 감사하겠습니다.

답변1

기본적으로 및 LVM 구조가 생성될 때 생성됩니다 /dev/VGname/LVname . /dev/mapper/노드 아래에 위치하므로 디바이스 노드라 부른다 /dev.

그렇다면 문제는 왜 /dev노드가 거기에 있는가 하는 것입니다. 간단한 대답은 fstab파일 등에서 장치를 쉽게 지정할 수 있도록 설계되었다는 것입니다 .

시스템은 udev이 노드를 생성하는 역할을 담당합니다. 시스템이 노드를 생성하도록 하는 몇 가지 이유는 다음과 같습니다.

udev 장치 관리자의 주요 목적은 /dev 디렉토리에 노드를 설정하는 동적 방법을 제공하는 것입니다. 이러한 노드의 생성은 사용자 공간에서 udev 규칙을 적용하여 진행됩니다. 이러한 규칙은 특정 장치를 추가, 제거 또는 변경한 결과로 커널에서 직접 전송된 udev 이벤트를 처리합니다. 이는 핫 플러그 ​​지원을 위한 편리하고 중앙화된 메커니즘을 제공합니다.

실제 노드를 생성하는 것 외에도 udev 장치 관리자는 사용자가 이름을 지정할 수 있는 심볼릭 링크를 생성할 수도 있습니다. 이를 통해 사용자는 원하는 경우 /dev 디렉토리에서 자신만의 사용자 정의 이름 지정 및 디렉토리 구조를 자유롭게 선택할 수 있습니다. 각 udev 이벤트에는 이름, 해당 이벤트가 속한 하위 시스템, 장치 유형, 사용된 메이저 및 마이너 번호, 이벤트 유형 등 처리 중인 장치에 대한 기본 정보가 포함되어 있습니다. 이를 고려하여 /sys 디렉터리(udev 규칙에서도 액세스 가능)에 있는 모든 정보에 액세스할 수 있는 사용자는 이 정보를 기반으로 하는 간단한 필터를 활용하고 이 정보를 기반으로 조건부로 규칙을 실행할 수 있습니다. udev 장치 관리자는 노드에 대한 권한을 설정하는 중앙 집중식 방법도 제공합니다. 사용자는 이벤트를 처리할 때 사용할 수 있는 정보로 지정된 모든 장치에 대한 권한을 정의하기 위해 일련의 사용자 정의 규칙을 쉽게 추가할 수 있습니다. udev 규칙에 직접 프로그램 후크를 추가할 수도 있습니다.

이러한 프로그램은 이벤트를 처리하는 데 필요한 추가 처리를 제공하기 위해 udev 장치 관리자에 의해 호출될 수 있습니다. 또한 프로그램은 이 처리의 결과로 환경 변수를 내보낼 수 있습니다. 주어진 결과는 규칙에서 추가 정보의 출처로 사용될 수 있습니다. udev 라이브러리를 사용하는 모든 소프트웨어는 udev 이벤트와 사용 가능한 모든 정보를 수신하고 처리할 수 있으므로 처리가 udev 데몬으로 제한되지 않습니다.

Red Hat Enterprise Linux 6에서 and its clones장치 매퍼는 udev 통합을 직접 지원합니다. 이는 LVM 장치를 포함하여 장치 매퍼 장치와 관련된 모든 udev 처리와 장치 매퍼를 동기화합니다. udev 데몬 내의 규칙 애플리케이션은 dmsetup 및 LVM과 같은 장치 변경의 소스인 프로그램과의 병렬 처리 형식이므로 동기화가 필요합니다. 이 지원이 없으면 사용자가 이전 변경 이벤트로 인해 udev 규칙에 의해 아직 열려 있고 처리되는 장치를 삭제하려고 시도하는 것이 일반적인 문제입니다. 이는 해당 장치에 대한 변경 간격이 짧은 경우 특히 그렇습니다.

관련 정보