17장. 스토리지
새로운 커널 하위 시스템: libnvdimm
이번 업데이트에서는 NVMe(Non-Volatile Dual Inline Memory Modules)의 탐지, 구성 및 관리를 담당하는 커널 하위 시스템인
libnvdimm 를 추가합니다. 결과적으로 NVDIMM이 시스템에 있는 경우 /dev/pmem* 장치 노드를 통해 노출되고 ndctl 유틸리티를 사용하여 구성할 수 있습니다. (BZ#1269626)
NVDIMM 지원이 있는 하드웨어
Red Hat Enterprise Linux 7.3 릴리스 시점에서 많은 OEM(Non-Volatile Dual Inline Memory Module) 하드웨어에 대한 지원을 추가하는 중입니다. 이러한 제품이 출시되면 Red Hat은 이러한 OEM과 협력하여 이러한 구성을 테스트하고 가능한 경우 Red Hat Enterprise Linux 7.3에 대한 지원을 공지합니다.
이 기술은 새로운 기술이므로 각 제품 및 지원되는 구성에 대해 특정 지원 진술이 발행됩니다. 이 작업은 Red Hat 테스트에 성공하면 수행되며, OEM의 문서화된 지원이 제공됩니다.
현재 지원되는 NVDIMM 제품은 다음과 같습니다.
- HPE>-< 시스템의 HPE NVDIMM입니다. 특정 구성에 대한 자세한 내용은 Hewlett Packard Enterprise Company 지원 설명서를 참조하십시오.
이 목록에 없는 NVDIMM 제품 및 구성은 지원되지 않습니다. NVDIMM 제품이 지원되는 제품 목록에 추가되면 Red Hat Enterprise Linux 7.3 릴리스 노트가 업데이트됩니다. (BZ#1389121)
새로운 패키지: nvml
nvml 패키지에는 메모리 매핑 지속성을 사용하기 위한 라이브러리 컬렉션인 NVMeL(Non-Volatile Memory Library)이 포함되어 있으며, 특히 영구 메모리에 최적화되어 있습니다. (BZ#1274541)
SCSI 에서 여러 하드웨어 대기열 지원
이제
nr_hw_queues 필드가 Scsi_Host 구조에 있어 드라이버에서 필드를 사용할 수 있습니다. (BZ#1308703)
exclusive_pref_bit 선택적 인수가 다중 경로 ALUA 우선순위에 추가되었습니다.
exclusive_pref_bit 인수가
multipath Asymmetric Logical Unit Access(ALUA) 우선순위에 추가되고 경로에TPGS(대상 포트 그룹 지원) 사전 비트가 설정된 경우 다중 경로는 해당 경로만 사용하여 경로 그룹을 만들고 경로에 가장 높은 우선 순위를 할당합니다. 사용자는 이제 exclusive_pref_bit 인수를 추가하여 기본 경로가 동일하게 최적화된 다른 경로(기본 옵션 또는 경로 그룹 자체)를 사용하여 기본 경로가 경로 그룹에 있도록 허용할 수 있습니다. (BZ#1299652)
multipathd 에서 다중 경로 형식의 출력 명령에서 원시 형식 모드 지원
multipathd multipathd 형식의 출력 명령에서는 이제 원시 형식 모드를 제공하여 헤더 및 필드 간 추가 패딩을 제거합니다. 추가 형식의 와일드카드 지원도 추가되었습니다. 원시 형식 모드를 사용하면 특히 스크립팅에 사용할 수 있도록 다중 경로 장치에 대한 정보를 더 쉽게 수집하고 구문 분석할 수 있습니다. (BZ#1299651)
LVM 잠금 인프라 개선
lvmlockd 는 LVM의 다음 세대 잠금 인프라입니다. LVM을 통해 dlm 또는 sanlock 잠금 관리자를 사용하여 여러 호스트의 공유 스토리지를 안전하게 관리할 수 있습니다. sanlock 을 사용하면 lvmlockd 가 전체 클러스터 인프라를 사용하지 않고도 스토리지 기반 잠금을 통해 호스트를 조정할 수 있습니다. 자세한 내용은 lvmlockd(8) 매뉴얼 페이지를 참조하십시오.
이 기능은 원래 Red Hat Enterprise Linux 7.2에서 기술 프리뷰로 소개되었습니다. Red Hat Enterprise Linux 7.3에서는
lvmlockd 가 완전히 지원됩니다. (BZ#1299977)
제한 사항이 있는 씬 프로비저닝된 논리 볼륨을 캐싱 지원
Red Hat Enterprise Linux 7.3은 씬 프로비저닝된 논리 볼륨을 캐시할 수 있는 기능을 제공합니다. 이렇게 하면 특정 씬 풀과 관련된 모든 씬 논리 볼륨에 캐싱이 발생합니다. 그러나 씬 풀이 이러한 방식으로 설정된 경우 현재 캐시 계층을 먼저 제거하지 않고 씬 풀을 확장할 수 없습니다. 이는 또한 씬 풀 자동 증가 기능을 사용할 수 없음을 의미합니다. 사용자는 공간이 부족하지 않도록 씬 풀의 완전성 및 소비 속도를 모니터링해야 합니다. LVM 캐시 볼륨에 대한 정보는 씬 프로비저닝된 논리 볼륨 및 lvmcacheLoadBalancer man 페이지에 대한 정보는 lvmthin>-< man 페이지를 참조하십시오. (BZ#1371597)
device-mapper-persistent-data 버전 0.6.2로 다시 시작
device-mapper-persistent-data 패키지가 업스트림 버전 0.6.2로 업그레이드되어 이전 버전에 비해 여러 버그 수정 및 개선 사항을 제공합니다. 특히 풀에서 씬 볼륨에 대한 정보를 제공할 수 있는
thin_ls 툴을 사용할 수 있습니다. (BZ#1315452)
지정된 하드웨어에서 DIF/DIX(T10 PI) 지원
SCSI T10 DIF/DIX는 Red Hat Enterprise Linux 7.3에서 완전히 지원됩니다. 이는 하드웨어 공급 업체가 자격을 갖추고 특정 HBA 및 스토리지 어레이 구성을 완벽하게 지원합니다. DIF/DIX는 다른 구성에서 지원되지 않으며 부팅 장치에서 사용할 수 없으며 가상화된 게스트에서 지원되지 않습니다.
현재 다음 공급 업체에서 이러한 지원을 제공하는 것으로 알려져 있습니다.
FUJITSU는 DIF 및 DIX를 지원합니다.
EMULEX 16G FC HBA:
- EMULEX LPe16000/LPe16002, 10.2.254.0 BIOS, 10.4.255.23 FW
- FUJITSU ETERNUS DX100 S3, DX500 S3, DX600 S3, DX8100 S3, DX8700 S3, DX8700 S3, DX200F, DX60 S3, AF250, AF50
QLOGIC 16G FC HBA:
- QLOGIC QLE2670/QLE2672, 3.28 BIOS, 8.00.00 FW는 다음과 같습니다.
- FUJITSU ETERNUS DX100 S3, DX500 S3, DX600 S3, DX8100 S3, DX8700 S3, DX8700 S3, DX200F, DX60 S3
T10 DIX에는 디스크 블록에서 체크섬의 생성 및 확인을 제공하는 데이터베이스 또는 일부 다른 소프트웨어가 필요합니다. 현재 지원되는 Linux 파일 시스템에는 이 기능이 없습니다.
EMC는 DIF를 지원합니다.
EMULEX 8G FC HBA:
- 펌웨어 2.01a10 이상이 있는 LPe12000-E 및 LPe12002-E
- Enginuity 5977이 포함된 EMC VMAX3 시리즈, Enginuity 5876.82.57 이상인 EMC Symmetrix VMAX Series
EMULEX 16G FC HBA:
- 펌웨어 10.0.803.25 이상인 LPe16000B-E 및 LPe16002B-E
- Enginuity 5977이 포함된 EMC VMAX3 시리즈, Enginuity 5876.82.57 이상인 EMC Symmetrix VMAX Series
QLOGIC 16G FC HBA:
- QLE2670-E-SP 및 QLE2672-E-SP는 다음과 같습니다.
- Enginuity 5977이 포함된 EMC VMAX3 시리즈, Enginuity 5876.82.57 이상인 EMC Symmetrix VMAX Series
최신 상태는 하드웨어 공급 업체의 지원 정보를 참조하십시오.
DIF/DIX에 대한 지원은 다른 HBA 및 스토리지 어레이의 기술 프리뷰로 남아 있습니다. (BZ#1379689)
iprutils 버전 2.4.13으로 다시 시작
iprutils 패키지가 업스트림 버전 2.4.13으로 업그레이드되어 이전 버전에 비해 여러 버그 수정 및 개선 사항을 제공합니다. 특히 이번 업데이트에서는 8247-22L 및 8247-21L 기본 SAS(Serial Attached SCSI) 백플레인에서 어댑터 쓰기 캐시를 활성화하여 성능을 크게 향상시킬 수 있는 지원이 추가되었습니다. (BZ#1274367)
multipathd 명령에서 JSON 포맷으로 다중 경로 데이터를 표시할 수 있습니다.
이번 릴리스에서는 이제 multipathd에 JSON 포맷으로 다중 경로 데이터를 표시하는 show map json 명령이 포함되어 있습니다. 이렇게 하면 다른 프로그램이 multipathd show map 출력을 더 쉽게 구문 분석할 수 있습니다. (BZ#1353357)
iPXE XSG1 어레이에 대한 기본 구성 추가
이번 릴리스에서는 multipath에서 gRPC XSG1 어레이에 대한 기본 구성을 제공합니다. (BZ#1333331)
다중 경로에서는 이제 Ceph RADOS 블록 장치를 지원합니다.
RDB 장치는 장치를 복구 할 수있는 기능을 갖춘 특수
uid 처리 및 자체 검사기 기능이 필요합니다. 이번 릴리스에서는 RADOS 블록 장치 상단에 다중 경로를 실행할 수 있습니다. 그러나 다중 경로 RBD 지원은 배타적 잠금 기능이 활성화된 RBD 이미지가 여러 클라이언트 간에 공유되는 경우에만 사용해야 합니다. (BZ#1348372)
PURE FlashArray에 대한 지원 추가
이번 릴리스에서는 PURE FlashArray에 대한 다중 경로 구성 지원이 기본 추가되었습니다(BZ# CloudEvent0415).
MSA 2040 배열에 대한 기본 구성이 추가되었습니다.
이번 릴리스에서는 다중 경로가 MSA 2040 배열에 대한 기본 구성을 제공합니다. (BZ#1341748)
kpartx 파티션 생성을 생략할 수 있는 새로운 skip_kpartx 설정 옵션
skip_kpartx 옵션이 multipath.conf 파일의 defaults, devices 및 multipaths 섹션에 추가되었습니다. 이 옵션을 yes 로 설정하면 skip_kpartx 로 구성된 다중 경로 장치에는 파티션 장치가 생성되지 않습니다. 이를 통해 사용자는 장치에 파티션 테이블이 있는 경우에도 파티션을 생성하지 않고 다중 경로 장치를 생성할 수 있습니다. 이 옵션의 기본값은 no 입니다. (BZ#1311659)
multipaths weightedpath 우선순위가 wwn 키워드 지원
이제 multipaths
weightedpath 우선순위가 wwn 키워드를 지원합니다. 이 값을 사용하는 경우 장치와 일치하는 정규식은 host_wwnn:host_wwpn:target_wwnn:target_wwpn 형식의 것입니다. 이러한 식별자는 sysfs 를 통해 검색하거나 다음 multipathd의 경로 형식 와일드카드를 사용할 수 있습니다. %N:%R:%n:%r.
weightedpath 우선순위는 이전에 HBTL 및 장치 nam regex 일치만 허용했습니다. 재부팅할 때 이 둘 다 영구적이지 않으므로 부팅할 때마다 weightedpath 우선순위 지정 인수를 변경해야 합니다. 이 기능은 영구 장치 식별자와 함께 weightedpath 우선순위를 사용하는 방법을 제공합니다. (BZ#1297456)
새로운 패키지: nvme-cli
nvme-cli 패키지는 NVMe 컨트롤러를 관리하고 구성하기 위해 NVMe(Non-Volatile Memory Express) 명령줄 인터페이스를 제공합니다. (BZ#1344730)
autoresize가 구성되지 않은 경우 LVM2에 경고 메시지가 표시됩니다.
씬 풀 기본 동작은 공간을 소진할 때 씬 풀의 크기를 자동 조정하는 것이 아닙니다. 공간을 소진하는 것은 다양한 부정적인 결과를 초래할 수 있습니다. 사용자가 autoresize를 사용하지 않고 씬 풀이 가득 차면 새 경고 메시지가 사용자에게 가능한 문제에 대해 알립니다. 따라서 씬 풀 크기 조정과 같은 적절한 작업을 수행하거나 thin 볼륨 사용을 중지할 수 있습니다. (BZ#1189221)
dmstats 에서 dmstats 리전으로 파일 매핑 지원
이제 dmstats 명령의 --filemap 옵션을 사용하면
dmstats 영역을 쉽게 구성하여 I/O 작업을 파일 시스템의 지정된 파일로 추적할 수 있습니다. 이전 버전에서는 I/O 통계가 전체 장치 또는 장치의 리전에서만 사용할 수 있었기 때문에 파일별로 I/O 성능에 대한 관리자가 제한되었습니다. 이제 --filemap 옵션을 사용하면 장치 매퍼 장치에 사용되는 것과 동일한 도구를 사용하여 파일 I/O 성능을 검사할 수 있습니다. (BZ#1286285)
LVM에서 더 이상 외부 볼륨에 LV 정책을 적용하지 않음
이전에는 LVM에서 외부 볼륨에 LVM 씬 논리 볼륨(LV)에 대해 자체 정책을 적용했기 때문에 예기치 않은 동작이 발생할 수 있었습니다. 이번 업데이트를 통해 씬 풀의 외부 사용자가 외부 씬 볼륨을 자체적으로 관리할 수 있으며 LVM은 더 이상 이러한 볼륨에 LV 정책을 적용하지 않습니다. (BZ#1329235)
씬 풀은 새 씬 볼륨을 생성할 때 항상 충분한 공간을 확인하는 것입니다.
사용자가 씬 풀 모니터링과 함께 자동 크기 조정을 사용하지 않더라도 이제 씬 풀이 새 씬 볼륨을 생성할 때 충분한 공간을 항상 확인합니다.
이제 다음과 같은 상황에서 새 씬 볼륨을 생성할 수 없습니다.
- thin-pool이 데이터 볼륨 용량의 100%에 도달했습니다.
- 16MiB보다 작은 메타데이터에 대해 씬 풀 메타데이터의 사용 가능한 공간 중 25% 미만이 있습니다.
- 메타데이터의 사용 가능한 공간은 4MiB 미만입니다. (BZ#1348336)
LVM에서 최대 캐시 풀 청크 수를 설정할 수 있음
lvm.conf 파일의 allocation 섹션에 있는 새로운 LVM 할당 매개변수인 cache_pool_max_chunks 는 최대 캐시 풀 청크 수를 제한합니다. 이 매개 변수가 정의되지 않았거나 0으로 설정된 경우 기본 제공 기본값이 사용됩니다. (BZ#1364244)
논리 볼륨에서 캐시 풀의 분리 기능 지원
이제 캐시 풀의 장치가 실패한 경우 LVM에서 논리 볼륨에서 캐시 풀을 분리할 수 있습니다. 이전에는 원본 논리 볼륨에서 캐시 풀을 분리하기 위해 이러한 유형의 장애 조치에 수동 개입 및 복잡한 LVM 메타데이터가 필요했습니다.
cache-pool에서 논리 볼륨을 분리하려면 다음 명령을 사용합니다.
lvconvert --uncache *vg*/*lv*
# lvconvert --uncache *vg*/*lv*
다음 제한 사항에 유의하십시오.
- 캐시 논리 볼륨이 비활성 상태여야 합니다(재부트가 필요할 수 있음).
쓰기백캐시에는 실패로 손실된 데이터를 삭제할 가능성이 있으므로 --force 옵션이 필요합니다.
(BZ#1131777)
LVM에서 제거된 씬 스냅샷 논리 볼륨을 추적 및 표시할 수 있음
lvm.conf 구성 파일에서 record_lvs_history 메타데이터 옵션을 활성화하여 제거된 씬 스냅샷 논리 볼륨을 추적하도록 시스템을 구성할 수 있습니다. 이를 통해 원래 종속성 체인에서 제거되어 기록 논리 볼륨이 된 논리 볼륨이 포함된 전체 씬 스냅샷 종속성 체인을 표시할 수 있습니다. 과거 LV를 포함한 전체 종속성 체인은 새로운 lv_full_ancestors 및 lv_full_descendants 보고 필드와 함께 표시할 수 있습니다. 기록 논리 볼륨을 구성 및 표시하는 방법에 대한 자세한 내용은 논리 볼륨 관리를 참조하십시오. (BZ#1240549)