16장. 시스템 스토리지 관리자(SSM)
SSM( System Storage Manager )은 다양한 기술에서 스토리지를 관리하는 명령줄 인터페이스를 제공합니다. DM(Device Mappers), LVM(Logical Volume Manager) 및 여러 장치(md)를 사용하여 스토리지 시스템이 점점 복잡해지고 있습니다. 이렇게 하면 사용자에게 친숙한 시스템이 생성되고 오류와 문제가 쉽게 발생할 수 있습니다. SSM은 통합 사용자 인터페이스를 만들어 이를 완화합니다. 이 인터페이스를 통해 사용자는 복잡한 시스템을 간단하게 실행할 수 있습니다. 예를 들어 SSM 없이 새 파일 시스템을 만들고 마운트하려면 5개의 명령을 사용해야 합니다. SSM은 하나만 있으면 됩니다.
이 장에서는 SSM이 다양한 백엔드 및 몇 가지 일반적인 사용 사례와 상호 작용하는 방법을 설명합니다.
16.1. SSM 백엔드
SSM은 기본 기술의 세부 사항을 무시하고 장치, 풀 및 볼륨 추상화를 준수하는
ssmlib/main.py
의 핵심 추상화 계층을 사용합니다. 백엔드는 ssmlib/main.py
에 등록하여 ,스냅샷 생성 또는 볼륨 및 풀 제거와 같은 특정 스토리지 기술 방법을 처리할 수 있습니다.
이미 여러 백엔드에 등록된 SSM이 있습니다. 다음 섹션에서는 풀에 대한 기본 정보와 풀, 볼륨, 스냅샷 및 장치를 처리하는 방법에 대한 정의를 제공합니다.
16.1.1. rfc Back End
참고
vGPU는 Red Hat Enterprise Linux 7에서 기술 프리뷰 기능으로 사용할 수 있지만 Red Hat Enterprise Linux 7.4 릴리스 이후에는 더 이상 사용되지 않습니다. 향후 Red Hat Enterprise Linux 주요 릴리스에서 제거될 예정입니다.
자세한 내용은 Red Hat Enterprise Linux 7.4 Release Notes에서 더 이상 사용되지 않는 기능을 참조하십시오.
많은 고급 기능이 있는 파일 시스템인 Clevis는 SSM에서 볼륨 관리 백엔드로 사용됩니다. pools, 볼륨 및 스냅샷은 vGPU 백엔드를 사용하여 만들 수 있습니다.
16.1.1.1. Btrfs Pool
vGPU 파일 시스템 자체는 풀입니다. 장치를 제거하여 장치를 추가하거나 축소할 수 있습니다. SSM은 vGPU 풀을 만들 때 files 시스템을 만듭니다. 즉, 모든 새로운 vGPU 풀에는 풀과 동일한 이름의 하나의 볼륨이 있으며 전체 풀을 제거하지 않으면 제거할 수 없습니다. 기본 vGPU 풀 이름은
btrfs_pool
입니다.
풀 이름은 파일 시스템 레이블로 사용됩니다. 레이블이 없는 시스템에 기존 vGPU 파일 시스템이 이미 있는 경우 vGPU 풀은
btrfs_device_base_name의 형식으로 내부에서 사용할 이름을
생성합니다.
16.1.1.2. rfc 볼륨
풀의 첫 번째 볼륨 후에 생성된 볼륨은 하위 볼륨과 동일합니다. 하위 볼륨을 만들기 위해 마운트 해제된 경우 SSM은 secondary 파일 시스템을 임시로 마운트합니다.
볼륨의 이름은 vGPU 파일 시스템에서 하위 볼륨 경로로 사용됩니다. 예를 들어 하위 볼륨은
/dev/lvm_pool/lvol001
로 표시됩니다. 볼륨을 생성하려면 이 경로의 모든 오브젝트가 있어야 합니다. 볼륨은 마운트 지점을 사용하여 참조할 수도 있습니다.
16.1.1.3. rfc Snapshot
스냅샷은 SSM을 사용하여 시스템의 모든 trustedCA 볼륨에서 가져올 수 있습니다. vGPU는 하위 볼륨과 스냅샷을 구분하지 않습니다. 즉, SSM은 vGPU 스냅샷 대상을 인식하지 못하지만 특수 이름 형식을 인식하려고 합니다. 스냅샷을 만들 때 지정된 이름이 특정 패턴인 경우 스냅샷을 인식할 수 없으며 대신 일반 Clevis 볼륨으로 나열됩니다.
16.1.1.4. vGPU 장치
vGPU는 에서 특별한 장치를 만들 필요가 없습니다.
16.1.2. LVM 백엔드
LVM을 사용하여 풀, 볼륨, 스냅샷을 만들 수 있습니다. 다음 정의는 LVM 관점에서 확인할 수 있습니다.
16.1.2.1. LVM Pool
LVM 풀은 LVM 볼륨 그룹과 동일합니다. 즉, LVM 풀에서 장치 및 새 논리 볼륨을 그룹화할 수 있습니다. 기본 LVM 풀 이름은
lvm_pool
입니다.
16.1.2.2. LVM 볼륨
LVM 볼륨은 일반 논리 볼륨과 동일합니다.
16.1.2.3. LVM Snapshot
LVM 볼륨에서 스냅샷이 생성되면 다른 LVM 볼륨과 마찬가지로 처리할 수 있는 새
스냅샷
볼륨이 생성됩니다. vGPU와 달리 LVM은 스냅샷을 일반 볼륨과 구분할 수 있으므로 특정 패턴과 일치하도록 스냅샷 이름이 필요하지 않습니다.
16.1.2.4. LVM Device
SSM은 사용자를 위해 물리적 장치에 LVM 백엔드를 투명하게 만들어야 합니다.
16.1.3. Crypt 백엔드
SSM의 crypt 백엔드는 cryptsetup 및 dm-crypt 대상을 사용하여 암호화된 볼륨을 관리합니다. Crypt 백엔드는 일반 블록 장치(또는 LVM 또는 MD 볼륨과 같은 다른 볼륨)에서 암호화된 볼륨을 만들거나 단일 단계에서 암호화된 LVM 볼륨을 생성하기 위해 일반 백엔드로 사용할 수 있습니다.
crypt 백엔드를 사용하여 볼륨만 생성할 수 있습니다. 풀링은 지원되지 않으며 특수한 장치가 필요하지 않습니다.
다음 섹션에서는 암호 해독 관점에서 볼륨 및 스냅샷을 정의합니다.
16.1.3.1. Crypt 볼륨
Crypt 볼륨은 dm-crypt 에 의해 생성되고 암호화되지 않은 형태로 원래 암호화된 장치의 데이터를 나타냅니다. RAID 또는 장치 연결을 지원하지 않습니다.
두 가지 모드 또는 확장이 지원됩니다. luks와 plain가 지원됩니다. LUKS는 기본적으로 사용됩니다. 확장에 대한 자세한 내용은 man cryptsetup 을 참조하십시오.
16.1.3.2. Crypt Snapshot
crypt 백엔드는 스냅샷을 지원하지 않지만 암호화된 볼륨이 LVM 볼륨 위에 생성되면 볼륨 자체를 스냅샷을 생성할 수 있습니다. 그런 다음 cryptsetup 을 사용하여 스냅샷을 열 수 있습니다.
16.1.4. 여러 장치 (md) 백엔드
MD 백엔드는 현재 시스템의 MD 볼륨에 대한 정보만 수집하도록 제한됩니다.