14.3. LVM 장치 필터

LVM(Logical Volume Manager) 장치 필터는 장치 이름 패턴 목록입니다. 이를 사용하여 시스템에서 장치를 평가할 수 있는 필수 기준 세트를 지정하고 LVM과 함께 사용하기 위해 이를 유효한 것으로 간주할 수 있습니다. LVM 장치 필터를 사용하면 LVM에서 사용하는 장치를 제어할 수 있습니다. 이는 실수로 데이터 손실 또는 저장 장치에 대한 무단 액세스를 방지하는 데 도움이 될 수 있습니다.

14.3.1. LVM 장치 필터 패턴 특성

LVM 장치 필터 패턴은 정규식의 형태로 되어 있습니다. 정규 표현식은 문자로 구분되며 수락을 위해 r 또는 거부 경우 r로 구분됩니다. 장치와 일치하는 목록의 첫 번째 정규 표현식은 LVM이 특정 장치를 수락하거나 거부(ignore)하는지 여부를 결정합니다. 그러면 LVM에서 장치의 경로와 일치하는 초기 정규식을 목록에서 찾습니다. LVM은 이 정규 표현식을 사용하여 장치를 결과를 통해 승인해야 하는지 r 결과를 통해 거부해야하는지 여부를 결정합니다.

단일 장치에 여러 경로 이름이 있는 경우 LVM은 목록 순서에 따라 이러한 경로 이름에 액세스합니다. r 패턴 전에 하나 이상의 경로 이름이 패턴과 일치하는 경우 LVM에서 장치를 승인합니다. 그러나 모든 경로 이름이 패턴을 발견하기 전에 r 패턴과 일치하면 장치가 거부됩니다.

패턴과 일치하지 않는 경로 이름은 장치의 승인 상태에 영향을 미치지 않습니다. 장치 패턴에 해당하는 경로 이름이 없는 경우 LVM에서는 장치를 계속 승인합니다.

시스템의 각 장치에 대해 udev 규칙은 여러 개의 심볼릭 링크를 생성합니다. 디렉터리에는 /dev/disk/by-id/, /dev/disk/by-uuid/, /dev/disk/by-path/ 와 같은 심볼릭 링크가 포함되어 여러 경로 이름을 통해 시스템의 각 장치에 액세스할 수 있습니다.

필터에서 장치를 거부하려면 특정 장치와 연결된 모든 경로 이름이 해당 reject r 표현식과 일치해야 합니다. 그러나 거부할 수 있는 모든 경로 이름을 식별하는 것은 어려울 수 있습니다. 따라서 특정 경로를 구체적으로 수락하고 다른 모든 경로를 거부하는 필터를 생성하는 것이 좋습니다. 일련의 특정 표현식과 단일 r|.*| 표현식이 다른 모든 항목을 거부하는 것입니다.

필터에 특정 장치를 정의하는 동안 커널 이름 대신 해당 장치에 symlink 이름을 사용합니다. 장치의 커널 이름은 /dev/sda 와 같이 변경될 수 있지만 특정 심볼릭 링크 이름은 /dev/disk/by-id/wwn-* 과 같은 변경되지 않습니다.

기본 장치 필터는 시스템에 연결된 모든 장치를 허용합니다. 이상적인 사용자 구성 장치 필터는 하나 이상의 패턴을 허용하고 다른 모든 패턴을 거부합니다. 예를 들어 r|.*| 로 끝나는 패턴 목록입니다.

LVM 장치는 lvm.conf 파일의 devices/filterdevices/global_filter 구성 필드에서 LVM 장치 필터 구성을 찾을 수 있습니다. devices/filterdevices/global_filter 구성 필드는 동일합니다.

중요

Red Hat Enterprise Linux 9에서 /etc/lvm/devices/system.devices 파일은 기본적으로 활성화되어 있습니다. system.devices 파일이 비활성화되면 시스템에서 LVM 장치 필터를 자동으로 활성화합니다.

추가 리소스

  • lvm.conf(5) 매뉴얼 페이지

14.3.2. LVM 장치 필터 구성의 예

다음 예제에서는 LVM에서 스캔하고 나중에 사용하는 장치를 제어하는 필터 구성을 표시합니다. lvm.conf 파일에서 장치 필터를 구성하려면 다음을 참조하십시오.

참고

복사 또는 복제된 PV를 처리할 때 PV(물리적 볼륨) 경고가 중복될 수 있습니다. 이 문제를 해결하기 위해 필터를 설정할 수 있습니다. 다중 경로 LVM 장치에 대한 link::https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_managing_logical_volumes/troubleshooting-lvm_configuring-and-managing-logical-volumes#troubleshooting-duplicate-physical-volume-warnings-for-multipathed-lvm-devices_troubleshooting-lvm[Troubleshooting 중복 물리 볼륨 경고의 예제 필터 구성을 참조하십시오.

  • 모든 장치를 검사하려면 다음을 입력합니다.

    filter = [ "a|.*|" ]
  • 드라이브에 미디어가 없는 경우 지연을 방지하기 위해 cdrom 장치를 제거하려면 다음을 입력하십시오.

    filter = [ "r|^/dev/cdrom$|" ]
  • 모든 루프 장치를 추가하고 다른 모든 장치를 제거하려면 다음을 입력합니다.

    filter = [ "a|loop|", "r|.*|" ]
  • 모든 루프 및 SCSI 장치를 추가하고 다른 모든 블록 장치를 제거하려면 다음을 입력합니다.

    filter = [ "a|loop|", "a|/dev/sd.*|", "r|.*|" ]
  • 첫 번째 SCSI 드라이브에 파티션 8만 추가하고 다른 모든 블록 장치를 제거하려면 다음을 입력합니다.

    filter = [ "a|^/dev/sda8$|", "r|.*|" ]
  • 모든 다중 경로 장치와 함께 WWID로 식별되는 특정 장치의 모든 파티션을 추가하려면 다음을 입력합니다.

    filter = [ "a|/dev/disk/by-id/<disk-id>.|", "a|/dev/mapper/mpath.|", "r|.*|" ]

    명령은 다른 블록 장치도 제거합니다.

추가 리소스

  • lvm.conf(5) 매뉴얼 페이지

14.3.3. LVM 장치 필터 구성 적용

lvm.conf 구성 파일에 필터를 설정하여 LVM 스캔 장치를 제어할 수 있습니다.

사전 요구 사항

  • system.devices 파일 기능을 비활성화했습니다.
  • 사용하려는 장치 필터 패턴을 준비합니다.

절차

  1. 다음 명령을 사용하여 실제로 /etc/lvm/lvm.conf 파일을 수정하지 않고 장치 필터 패턴을 테스트합니다. 다음은 필터 구성 예제를 포함합니다.

    # lvs --config 'devices{ filter = [ "a|/dev/emcpower.*|", "r|*.|" ] }'
  2. /etc/lvm/lvm.conf 파일의 구성 섹션 장치에 장치 필터 패턴을 추가합니다.

    filter = [ "a|/dev/emcpower.*|", "r|*.|" ]
  3. 재부팅 시 필요한 장치만 스캔합니다.

    # dracut --force --verbose

    이 명령은 재부팅 시 LVM이 필요한 장치만 스캔하도록 initramfs 파일 시스템을 다시 빌드합니다.