14장. 스토리지
DM 버전 4.2로 업데이트
DM(Device Mapper)이 업스트림 버전 4.2로 업그레이드되었으며, 이는 상당한 DM crypt 성능 업데이트 및 다중 대기열 블록 I/O 대기열 메커니즘(blk-mq)을 지원하기 위한 DM 코어 업데이트를 포함하여 이전 버전에 비해 여러 버그 수정 및 향상된 기능을 제공합니다.
blk-mq를 사용한 다중 대기열 I/O 스케줄링
Red Hat Enterprise Linux 7.2에는 blk-mq라는 블록 장치를 위한 새로운 다중 대기열 I/O 스케줄링 메커니즘이 포함되어 있습니다. 특정 장치 드라이버에서 I/O 요청을 여러 하드웨어 또는 소프트웨어 큐에 매핑할 수 있도록 하여 성능을 향상시킬 수 있습니다. 여러 실행 스레드가 단일 장치에 I/O를 수행할 때 잠금 경합을 줄이면 성능이 향상됩니다. NVMe(Non-Volatile Memory Express)와 같은 최신 장치는 여러 하드웨어 제출 및 완료 대기열과 대기 시간이 짧은 성능 특성을 기본적으로 지원하므로 이 기능을 활용하기에 가장 적합한 위치에 있습니다. 항상처럼 성능 향상은 정확한 하드웨어 및 워크로드에 따라 달라집니다.
blk-mq 기능은 현재 구현되어 있으며 기본적으로 활성화되어 있습니다. virtio-blk, mtip32xx, nvme 및 rbd 드라이버에서 사용됩니다.
관련 기능 scsi-mq는 blk-mq 인프라를 사용하도록 SCSI(SCSI) 장치 드라이버를 허용합니다. scsi-mq 기능은 Red Hat Enterprise Linux 7.2에서 기술 프리뷰로 제공됩니다. scsi-mq를 활성화하려면 커널 명령줄에 scsi_mod.use_blk_mq=y 를 지정합니다. 기본값은 n (비활성화)입니다.
요청 기반 DM을 사용하는 DM(Device mapper) 다중 경로 대상은 dm_mod.use_blk_mq=y 커널 옵션이 지정된 경우 blk-mq 인프라를 사용하도록 구성할 수도 있습니다. 기본값은 n (비활성화)입니다.
기본 SCSI 장치가 blk-mq를 사용하는 경우에도 DM 계층에서 잠금 오버헤드가 줄어든 경우 dm_mod.use_blk_mq=y 를 설정하는 것이 유용할 수 있습니다.
DM 다중 경로가 시스템에서 blk-mq를 사용하는지 여부를 확인하려면 /sys/block/dm-X/dm/use_blk_mq 파일을 cat합니다. 여기서 dm-X 는 관심 있는 DM 다중 경로 장치로 교체됩니다. 이 파일은 읽기 전용이며 요청 기반 DM 다중 경로 장치가 생성된 시점에 /sys/module/dm_mod/parameters/use_blk_mq 의 글로벌 값을 반영합니다.
multipath.conf 파일의 새로운 delay_watch_checks 및 delay_wait_checks 옵션
연결이 자주 떨어지면 multipathd에서 해당 경로를 지속적으로 사용하려고 하므로 신뢰할 수 없는 경로가 있어야 합니다. multipathd 앞의 시간 초과는 경로에 더 이상 액세스할 수 없다는 것을 알고 있으므로 다중 경로가 중단된 모양을 제공할 수 있습니다.
이 문제를 해결하기 위해 delay_watch_checks 및 delay_wait_checks의 두 가지 새로운 구성 옵션이 추가되었습니다. delay_watch_checks를 온라인 상태가 된 후의 경로를 확인하는 다중 경로 경로 수로 설정합니다. 해당 할당된 값 아래에서 경로가 실패하는 경우 multipathd는 이 값을 사용하지 않습니다. multipathd는 해당 경로가 다시 유효할 때까지 전달해야 하는 연속 사이클 수를 알리기 위해 delay_wait_checks 옵션에 의존합니다. 이렇게 하면 신뢰할 수 없는 경로가 다시 온라인 상태가 되면 즉시 사용되지 않습니다.
multipath.conf 파일의 새로운 config_dir 옵션
사용자가 /etc/multipath.conf와 기타 구성 파일 간에 구성을 분할할 수 없었습니다. 이로 인해 사용자가 모든 시스템에 하나의 기본 구성 파일을 설정하지 못하고 머신 관련 구성 정보를 각 머신의 별도의 구성 파일에 보관하지 못했습니다.
이 문제를 해결하기 위해 multipath.config 파일에 새 config_dir 옵션이 추가되었습니다. 사용자가 config_dir 옵션을 빈 문자열 또는 정규화된 디렉터리 경로 이름으로 변경해야 합니다. 빈 문자열이 아닌 값으로 설정하면 다중 경로는 모든 .conf 파일을 알파벳순으로 읽습니다. 그런 다음 /etc/multipath.conf에 추가된 것처럼 구성을 정확하게 적용합니다. 이러한 변경이 이루어지지 않으면 config_dir은 기본적으로 /etc/multipath/conf.d로 설정됩니다.
device-mapper 드라이버를 사용하는 장치의 영역에 대한 I/O 통계를 표시하고 관리하는 새로운 dmstats 명령
dmstats
명령은 장치 매퍼 I/O 통계에 대한 사용자 공간 지원을 제공합니다. 이를 통해 사용자는 장치 매퍼 장치의 사용자 정의 임의의 영역에 대한 I/O 카운터, 지표 및 대기 시간 히스토그램 데이터를 생성, 관리 및 보고할 수 있습니다. 통계 필드는 이제 dmsetup
보고서에서 사용할 수 있으며 dmstats
명령은 통계 정보와 함께 사용하도록 설계된 새로운 특수 보고 모드를 추가합니다. dmstats
명령에 대한 자세한 내용은 dmstats(8) 매뉴얼 페이지를 참조하십시오.
LVM Cache
Red Hat Enterprise Linux 7.1 이후 LVM 캐시가 완전히 지원됩니다. 이 기능을 사용하면 속도가 느린 더 큰 장치에 캐시로 성능이 작은 LV(Logical Volume)를 생성할 수 있습니다. 캐시 논리 볼륨 생성에 대한 정보는 lvmcache>-< 매뉴얼 페이지를 참조하십시오.
캐시 LV 사용에 대한 다음 제한 사항에 유의하십시오.
* cache LV는 최상위 장치여야 합니다. thin-pool LV, RAID LV 이미지 또는 기타 하위 LV 유형으로 사용할 수 없습니다.
* cache LV sub-LV(origin LV, metadata LV 및 data LV)는 선형, 스트라이프 또는 RAID 유형일 수 있습니다.
* 캐시 LV의 속성은 생성 후 변경할 수 없습니다. 캐시 속성을 변경하려면 lvmcache>-<에 설명된 캐시를 제거하고 원하는 속성을 사용하여 다시 생성합니다.
새로운 LVM/DM 캐시 정책
메모리 사용을 줄이고 대부분의 사용 사례의 성능을 향상시키는 새로운
smq
dm-cache 정책이 작성되었습니다. 이제 새 LVM 캐시 논리 볼륨의 기본 캐시 정책입니다. 레거시 mq
캐시 정책을 사용하려는 사용자는 캐시 논리 볼륨을 생성할 때 -cachepolicy
인수를 제공하여 계속 수행할 수 있습니다.
LVM systemID
이제 LVM 볼륨 그룹에 소유자를 할당할 수 있습니다. 볼륨 그룹 소유자는 호스트의 시스템 ID입니다. 지정된 시스템 ID가 있는 호스트만 VG를 사용할 수 있습니다. 이렇게 하면 공유 장치에 존재하는 볼륨 그룹이 여러 호스트에 표시되며, 그렇지 않으면 여러 호스트의 동시 사용으로부터 보호되지 않습니다. 할당된 시스템 ID가 있는 공유 장치의 LVM 볼륨 그룹은 하나의 호스트에서 소유하고 다른 호스트에서 보호됩니다.
새로운 lvmpolld
데몬
lvmpolld
데몬은 장기 실행 LVM 명령에 대한 폴링 방법을 제공합니다. 활성화하면 장기 실행 LVM 명령 제어가 원래 LVM 명령에서 lvmpolld
데몬으로 전송됩니다. 이를 통해 원래 LVM 명령과 독립적으로 작업을 계속할 수 있습니다. lvmpolld
데몬은 기본적으로 활성화되어 있습니다.
lvmpolld
데몬이 도입되기 전에 systemd 서비스의 cgroup
내에서 시작된 lvm2 명령에서 시작된 백그라운드 폴링 프로세스가 cgroup
에 종료되면 기본 프로세스(기본 서비스)가 종료될 수 있었습니다. 이로 인해 lvm2 폴링 프로세스의 조기 종료가 발생할 수 있습니다. 또한 lvmpolld
를 사용하면 진행 중인 모든 폴링 작업의 진행 상황을 추적하므로 동일한 작업에서 진행 상황을 쿼리하는 lvm2 폴링 프로세스를 여러 번 생성하는 것을 방지할 수 있습니다.
lvmpolld
데몬에 대한 자세한 내용은 lvm.conf
구성 파일을 참조하십시오.
LVM 선택 기준 개선 사항
Red Hat Enterprise Linux 7.2 릴리스는 LVM 선택 기준의 몇 가지 향상된 기능을 지원합니다. 이전에는 보고 명령에만 선택 기준을 사용할 수 있었습니다. LVM에서는 이제 여러 LVM 처리 명령에 대한 선택 기준도 지원합니다. 또한 시간 보고 필드 및 선택을 더 잘 지원할 수 있도록 이번 릴리스에는 몇 가지 변경 사항이 있습니다.
이러한 새로운 기능의 구현에 대한 자세한 내용은 논리 볼륨 관리 설명서의 LVM 선택 criteria 부록을 참조하십시오.
기본 SCSI LUN 수 증가
max_report_luns
매개변수의 기본값이 511에서 16393으로 증가했습니다. 이 매개 변수는 시스템이 Report LUN 메커니즘을 사용하여 SCSI 상호 연결을 검사할 때 구성할 수 있는 최대 논리 단위 수를 지정합니다.