논리 볼륨 관리자 관리
Red Hat Enterprise Linux 7
LVM 논리 볼륨 구성 및 관리
초록
이 문서에서는 클러스터형 환경에서 LVM 실행 정보를 포함하여 LVM 논리 볼륨 관리자를 설명합니다.
1장. LVM 논리 볼륨 관리자 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 Red Hat Enterprise Linux 7의 초기 릴리스 이후 새로운 LVM 논리 볼륨 관리자의 기능에 대해 설명합니다. 이 장에서는 LVM(Logical Volume Manager)의 구성 요소에 대한 간략한 개요도 제공합니다.
1.1. 새로운 기능 및 변경된 기능 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에는 Red Hat Enterprise Linux 7의 초기 릴리스 이후 새로운 LVM 논리 볼륨 관리자의 기능이 나열됩니다.
1.1.1. Red Hat Enterprise Linux 7.1의 새로운 기능 및 변경된 기능 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.1에는 다음 문서 및 기능 업데이트 및 변경 사항이 포함되어 있습니다.
- 씬 프로비저닝된 볼륨 및 씬 프로비저닝된 스냅샷에 대한 문서가 명확히 되어 있습니다. LVM 씬 프로비저닝에 대한 추가 정보는 이제 lvmthin(7) 도움말 페이지에 있습니다. 씬 프로비저닝된 논리 볼륨에 대한 일반적인 정보는 2.3.4절. “씬 프로비저닝된 논리 볼륨(Thin Volumes)” 을 참조하십시오. 씬 프로비저닝된 스냅샷 볼륨에 대한 자세한 내용은 2.3.6절. “씬 프로비저닝된 스냅샷 볼륨” 을 참조하십시오.
- 이 설명서는 이제 B.2절. “lvmconfig 명령” 에 lvm dumpconfig 명령을 문서화합니다. Red Hat Enterprise Linux 7.2 릴리스에서는 이 명령의 이름이 lvmconfig 로 변경되었지만 이전 형식은 계속 작동합니다.
- 이 설명서는 B.3절. “LVM 프로필” 에 LVM 프로필을 문서화합니다.
- 이 설명서는 이제 3.6절. “lvm 명령을 사용하여 LVM 정보 표시” 에 lvm 명령을 문서화합니다.
- Red Hat Enterprise Linux 7.1 릴리스에서는 4.4.20절. “논리 볼륨 활성화 제어” 에 설명된 대로 lvcreate 및 lvchange 명령의 -k 및 -K 옵션을 사용하여 씬 풀 스냅샷 활성화를 제어할 수 있습니다.
- 이 매뉴얼은 Cryostat import 명령의
--force인수를 문서화합니다. 이를 통해 누락된 물리 볼륨인 볼륨 그룹을 가져오고 나중에 Cryostatreduce --removemissing 명령을 실행할 수 있습니다. Cryostat import 명령에 대한 자세한 내용은 4.3.15절. “다른 시스템으로 볼륨 그룹 이동” 을 참조하십시오. - 이 매뉴얼은 Cryostatreduce 명령의
--mirrorsonly인수 를 문서화합니다. 이를 통해 실패한 물리 볼륨에서 미러 이미지인 논리 볼륨만 제거할 수 있습니다. 이 옵션 사용에 대한 자세한 내용은 4.3.15절. “다른 시스템으로 볼륨 그룹 이동” 을 참조하십시오.
또한 문서를 통해 소규모 기술 수정 및 설명이 수행되었습니다.
1.1.2. Red Hat Enterprise Linux 7.2의 새로운 기능 및 변경된 기능 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.2에는 다음 문서 및 기능 업데이트 및 변경 사항이 포함되어 있습니다.
- 많은 LVM 처리 명령에서
-S또는--select옵션을 사용하여 해당 명령에 대한 선택 기준을 정의합니다. LVM 선택 기준이 새 부록 부록 C. LVM 선택 기준 에 설명되어 있습니다. - 이 문서에서는 4.4.8절. “LVM 캐시 논리 볼륨 생성” 에서 캐시 논리 볼륨을 생성하기 위한 기본 절차를 설명합니다.
- 이 문서의 문제 해결 장에는 6.7절. “다중 경로 장치에 대한 PV 경고 중복” 새 섹션이 포함되어 있습니다.
- Red Hat Enterprise Linux 7.2 릴리스에서는 이전 형식이 계속 작동하지만 lvm dumpconfig 명령의 이름이 lvmconfig 로 변경되었습니다. 이러한 변경 사항은 이 문서 전체에 반영됩니다.
또한 문서를 통해 소규모 기술 수정 및 설명이 수행되었습니다.
1.1.3. Red Hat Enterprise Linux 7.3의 새로운 기능 및 변경된 기능 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.3에는 다음 문서 및 기능 업데이트 및 변경 사항이 포함되어 있습니다.
- LVM은 RAID0 세그먼트 유형을 지원합니다. RAID0은 스트라이프 크기 단위로 여러 데이터 하위 볼륨에 논리 볼륨 데이터를 분산합니다. RAID0 볼륨 생성에 대한 자세한 내용은 4.4.3.1절. “RAID0 볼륨 생성(Red Hat Enterprise Linux 7.3 및 later)” 을 참조하십시오.
- lvm fullreport 명령을 사용하여 물리 볼륨, 볼륨 그룹, 논리 볼륨 세그먼트, 물리 볼륨 세그먼트 및 논리 볼륨 세그먼트에 대한 정보를 한 번에 보고할 수 있습니다. 이 명령 및 해당 기능에 대한 자세한 내용은 lvm-fullreport(8) 도움말 페이지를 참조하십시오.
- LVM은 LVM 명령 실행 중에 수집된 전체 오브젝트 식별을 통해 작업 로그, 메시지 및 개체별 상태를 포함하는 로그 보고서를 지원합니다. LVM 로그 보고서의 예는 4.8.6절. “명령 로그 보고(Red Hat Enterprise Linux 7.3 이상)” 를 참조하십시오. LVM 로그 보고서에 대한 자세한 내용은 lvmreport(7) 도움말 페이지를 참조하십시오.
- LVM 표시 명령의
--reportformat옵션을 사용하여 JSON 형식으로 출력을 표시할 수 있습니다. JSON 형식으로 표시된 출력 예는 4.8.5절. “JSON 형식 출력(Red Hat Enterprise Linux 7.3 이상)” 를 참조하십시오. - 이제
lvm.conf구성 파일에서record_lvs_history메타데이터 옵션을 활성화하여 제거된 thin snapshot 및 thin 논리 볼륨을 추적하도록 시스템을 구성할 수 있습니다. 이를 통해 원래 종속성 체인에서 제거되어 과거 논리 볼륨이 된 논리 볼륨이 포함된 전체 씬 스냅샷 종속성 체인을 표시할 수 있습니다. 기록 논리 볼륨에 대한 자세한 내용은 4.4.21절. “추적 및 표시 논리 볼륨 (Red Hat Enterprise Linux 7.3 및 later)” 을 참조하십시오.
또한 문서를 통해 소규모 기술 수정 및 설명이 수행되었습니다.
1.1.4. Red Hat Enterprise Linux 7.4의 새로운 기능 및 변경된 기능 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.4에는 다음 문서 및 기능 업데이트 및 변경 사항이 포함되어 있습니다.
- Red Hat Enterprise Linux 7.4는 RAID 인수 및 RAID 회전을 지원합니다. 이러한 기능에 대한 요약은 4.4.3.12절. “RAID takeover(Red Hat Enterprise Linux 7.4 및 later)” 및 4.4.3.13절. “RAID 논리 볼륨 조정(Red Hat Enterprise Linux 7.4 및 later)” 을 참조하십시오.
1.2. 논리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 관리는 물리 스토리지에 대한 추상화 계층을 생성하여 논리 스토리지 볼륨을 생성할 수 있습니다. 이를 통해 물리적 스토리지를 직접 사용하는 것보다 여러 가지 면에서 유연성이 훨씬 향상됩니다. 논리 볼륨의 경우 물리 디스크 크기로 제한되지 않습니다. 또한 하드웨어 스토리지 구성은 소프트웨어에서 숨겨져 있으므로 애플리케이션을 중지하거나 파일 시스템을 마운트 해제하지 않고도 크기를 조정하고 이동할 수 있습니다. 이는 운영 비용을 줄일 수 있습니다.
논리 볼륨은 물리적 스토리지를 직접 사용하는 것보다 다음과 같은 이점을 제공합니다.
- 유연한 용량논리 볼륨을 사용하는 경우 디스크와 파티션을 단일 논리 볼륨으로 집계할 수 있으므로 파일 시스템은 여러 디스크에 걸쳐 확장될 수 있습니다.
- 크기 조정 가능한 스토리지 풀기본 디스크 장치를 다시 포맷하고 다시 파티션하지 않고도 논리 볼륨을 확장하거나 간단한 소프트웨어 명령으로 크기를 줄일 수 있습니다.
- 온라인 데이터 재배치최신의, 속도 또는 더 유연한 스토리지 하위 시스템을 배포하기 위해 시스템을 활성화하는 동안 데이터를 이동할 수 있습니다. 디스크가 사용 중인 상태에서 데이터를 다시 정렬할 수 있습니다. 예를 들어 제거하기 전에 hot-swappable 디스크를 비워 둘 수 있습니다.
- 편리한 장치 이름 지정논리 스토리지 볼륨은 사용자 정의 및 사용자 지정 명명된 그룹에서 관리할 수 있습니다.
- 디스크 스트라이핑두 개 이상의 디스크에 데이터를 스트라이프하는 논리 볼륨을 만들 수 있습니다. 이는 처리량을 크게 높일 수 있습니다.
- 볼륨 미러링논리 볼륨은 데이터의 미러를 구성하는 편리한 방법을 제공합니다.
- 볼륨 스냅샷논리 볼륨을 사용하면 일관된 백업에 대해 장치 스냅샷을 사용하거나 실제 데이터에 영향을 주지 않고 변경 효과를 테스트할 수 있습니다.
LVM에서 이러한 기능의 구현은 이 문서의 나머지 부분에서 설명합니다.
1.3. LVM 아키텍처 개요 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
참고
LVM2는 스냅샷 및 클러스터 지원을 제외하고 LVM1과 이전 버전과 호환됩니다. Cryostatconvert 명령을 사용하여 볼륨 그룹을 LVM1 형식에서 LVM2 형식으로 변환할 수 있습니다. LVM 메타데이터 형식을 변환하는 방법에 대한 자세한 내용은 Cryostat convert(8) 도움말 페이지를 참조하십시오.
LVM 논리 볼륨의 기본 물리 저장 단위는 파티션 또는 전체 디스크와 같은 블록 장치입니다. 이 장치는 LVM 물리 볼륨 (PV)으로 초기화됩니다.
LVM 논리 볼륨을 만들기 위해 물리 볼륨은 볼륨 그룹 (VG)으로 결합됩니다. 이렇게 하면 LVM 논리 볼륨(LV)을 할당할 수 있는 디스크 공간 풀이 생성됩니다. 이 프로세스는 디스크를 파티션으로 분할하는 방식과 유사합니다. 논리 볼륨은 파일 시스템 및 애플리케이션(예: 데이터베이스)에서 사용합니다.
그림 1.1. “LVM 논리 볼륨 구성 요소” 는 간단한 LVM 논리 볼륨의 구성 요소를 표시합니다.
그림 1.1. LVM 논리 볼륨 구성 요소
LVM 논리 볼륨의 구성 요소에 대한 자세한 내용은 2장. LVM 구성 요소 을 참조하십시오.
1.4. Red Hat High Availability Cluster의 LVM 논리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat High Availability Add-On에서는 두 가지 고유한 클러스터 구성에서 LVM 볼륨을 지원합니다.
- 클러스터의 단일 노드만 한 번에 스토리지에 액세스하는 활성/수동 장애 조치 구성의 HA-LVM(고가용성 LVM 볼륨)입니다.
- 클러스터의 두 개 이상의 노드가 동시에 스토리지에 액세스해야 하는 활성/활성 구성에서 클러스터형 논리 볼륨(CLVM) 확장을 사용하는 LVM 볼륨. CLVM은 스토리지 장애 복구 애드온의 일부입니다.
1.4.1. CLVM 또는 HA-LVM 선택 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
CLVM 또는 HA-LVM을 사용하는 경우 배포 중인 애플리케이션 또는 서비스 요구 사항을 기반으로 해야 합니다.
- 클러스터의 여러 노드에 활성/활성 시스템에서 LVM 볼륨에 대한 동시 읽기/쓰기 액세스 권한이 필요한 경우 CLVMD를 사용해야 합니다. CLVMD는 클러스터의 노드 간에 LVM 볼륨의 활성화 및 변경 사항을 조정하고 변경할 수 있는 시스템을 제공합니다. CLVMD 클러스터형 잠금 서비스는 클러스터의 다양한 노드와 볼륨과 상호 작용하고 레이아웃을 변경할 때 LVM 메타데이터를 보호합니다. 이러한 보호는
lvm.conf파일에서locking_type을 3으로 설정하고 CLVMD에서 관리하고 여러 클러스터 노드에서 동시에 활성화할 모든 볼륨 그룹에 클러스터형 플래그를 설정하는 등 해당 볼륨 그룹을 적절하게 구성할 때 발생합니다. - 고가용성 클러스터가 한 번에 지정된 LVM 볼륨에 대한 액세스 권한이 하나만 있는 활성/수동 방식으로 공유 리소스를 관리하도록 구성된 경우 CLVMD 클러스터형 잠금 서비스 없이 HA-LVM을 사용할 수 있습니다.
대부분의 애플리케이션은 다른 인스턴스와 동시에 실행되도록 설계되거나 최적화되지 않으므로 활성/수동 구성에서 더 잘 실행됩니다. 클러스터형 논리 볼륨에서 클러스터가 인식되지 않는 애플리케이션을 실행하도록 선택하면 논리 볼륨이 미러링된 경우 성능이 저하될 수 있습니다. 이러한 인스턴스에 논리 볼륨 자체의 클러스터 통신 오버헤드가 있기 때문입니다. 클러스터 인식 애플리케이션은 클러스터 파일 시스템 및 클러스터 인식 논리 볼륨에서 도입한 성능 손실보다 성능이 향상될 수 있어야 합니다. 이는 일부 애플리케이션과 워크로드에서 다른 애플리케이션 및 워크로드보다 쉽게 수행할 수 있습니다. 클러스터의 요구사항이 무엇인지, 활성/활성 클러스터 최적화를 위한 추가 노력은 두 LVM 변형 중 하나를 선택하는 방법입니다. 대부분의 사용자는 HA-LVM을 사용하여 최상의 HA 결과를 얻을 수 있습니다.
HA-LVM 및 CLVM은 LVM 메타데이터와 해당 논리 볼륨이 손상되는 것을 방지하기 때문에 여러 시스템에서 중복을 변경할 수 있는 경우 발생할 수 있습니다. HA-LVM은 논리 볼륨을 독점적으로만 활성화할 수 있는 제한을 적용합니다. 즉, 한 번에 하나의 시스템에서만 활성화됩니다. 즉, 스토리지 드라이버의 로컬(클러스터되지 않음) 구현만 사용됩니다. 이러한 방식으로 클러스터 조정 오버헤드를 방지하면 성능이 향상됩니다. CLVM은 이러한 제한 사항을 적용하지 않으며 사용자는 클러스터의 모든 시스템에서 논리 볼륨을 자유롭게 활성화할 수 있습니다. 따라서 클러스터 인식 스토리지 드라이버를 강제로 사용하므로 클러스터 인식 파일 시스템 및 애플리케이션을 맨 위에 배치할 수 있습니다.
1.4.2. 클러스터에서 LVM 볼륨 구성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7에서 클러스터는 Pacemaker를 통해 관리됩니다. HA-LVM 및 CLVM 논리 볼륨 모두 Pacemaker 클러스터와 함께 지원되며 클러스터 리소스로 구성해야 합니다.
- Pacemaker 클러스터의 일부로 HA-LVM 볼륨을 구성하는 절차는 High Availability Add-On Administration 의 Red Hat High Availability Cluster의 Active/passive Apache HTTP Server 를 참조하십시오. 이 절차에는 다음 단계가 포함됩니다.
- LVM 논리 볼륨 구성
- 클러스터만 볼륨 그룹을 활성화할 수 있는지 확인
- LVM 볼륨을 클러스터 리소스로 구성
- 클러스터에서 CLVM 볼륨을 구성하는 절차는 Global File System 2 의 클러스터에서 GFS2 파일 시스템 구성을 참조하십시오.
2장. LVM 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 LVM 논리 볼륨의 구성 요소에 대해 설명합니다.
2.1. 물리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 논리 볼륨의 기본 물리 저장 단위는 파티션 또는 전체 디스크와 같은 블록 장치입니다. LVM 논리 볼륨에 장치를 사용하려면 장치를 물리 볼륨(PV)으로 초기화해야 합니다. 블록 장치를 물리 볼륨으로 초기화하면 장치 시작 근처에 레이블이 배치됩니다.
기본적으로 LVM 레이블은 두 번째 512바이트 섹터에 배치됩니다. 물리 볼륨을 생성할 때 처음 4개 섹터에 라벨을 배치하여 이 기본값을 덮어쓸 수 있습니다. 이렇게 하면 필요한 경우 LVM 볼륨이 이러한 섹터의 다른 사용자와 공존할 수 있습니다.
LVM 레이블은 물리적 장치에 대해 올바른 식별 및 장치 순서를 제공합니다. 시스템이 부팅될 때 장치가 임의의 순서로 표시될 수 있기 때문입니다. LVM 레이블은 재부팅 및 클러스터 전체에서 유지됩니다.
LVM 레이블은 장치를 LVM 물리 볼륨으로 식별합니다. 물리 볼륨에 대한 임의의 고유 식별자( UUID)를 포함합니다. 또한 블록 장치의 크기(바이트)를 저장하고 LVM 메타데이터가 장치에 저장될 위치를 기록합니다.
LVM 메타데이터에는 시스템의 LVM 볼륨 그룹의 구성 세부 정보가 포함되어 있습니다. 기본적으로 메타데이터의 동일한 사본은 볼륨 그룹 내의 모든 물리 볼륨의 모든 메타데이터 영역에서 유지 관리됩니다. LVM 메타데이터는 크기가 작고 ASCII로 저장됩니다.
현재 LVM을 사용하면 각 물리 볼륨에서 0, 1 또는 2의 동일한 메타데이터 복사본을 저장할 수 있습니다. 기본값은 1 복사입니다. 물리 볼륨에 메타데이터 복사본 수를 구성하면 나중에 해당 번호를 변경할 수 없습니다. 첫 번째 사본은 라벨 직후에 장치 시작에 저장됩니다. 두 번째 복사본이 있으면 장치 끝에 배치됩니다. 의도와 다른 디스크에 작성하여 디스크의 시작 부분에 영역을 실수로 덮어 쓰기하면 장치 끝에 두 번째 메타데이터 복사본을 복구 할 수 있습니다.
LVM 메타데이터 및 메타데이터 매개변수 변경에 대한 자세한 내용은 부록 E. LVM 볼륨 그룹 메타데이터 을 참조하십시오.
2.1.1. LVM 물리 볼륨 레이아웃 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
그림 2.1. “물리 볼륨 레이아웃” LVM 물리 볼륨의 레이아웃을 표시합니다. LVM 레이블은 두 번째 섹터에 있으며, 메타데이터 영역 다음에 장치에서 사용 가능한 공간이 뒤에 있습니다.
참고
Linux 커널(및 이 문서 전체에서) 섹터는 크기가 512바이트인 것으로 간주됩니다.
그림 2.1. 물리 볼륨 레이아웃
2.1.2. 디스크의 여러 파티션 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM을 사용하면 디스크 파티션에서 물리 볼륨을 만들 수 있습니다. 다음과 같은 이유로 LVM 물리 볼륨으로 레이블하기 위해 전체 디스크를 다루는 단일 파티션을 생성하는 것이 좋습니다.
- 관리 편의성각 실제 디스크가 한 번만 표시되는 경우 시스템에서 하드웨어를 추적하는 것이 더 쉽습니다. 디스크가 실패하면 특히 그렇습니다. 또한 단일 디스크의 여러 물리 볼륨이 부팅 시 알 수 없는 파티션 유형에 대한 커널 경고를 유발할 수 있습니다.
- 성능 제거LVM에서 두 개의 물리 볼륨이 동일한 물리 디스크에 있음을 확인할 수 없습니다. 두 개의 물리 볼륨이 동일한 물리 디스크에 있는 경우 스트라이프가 동일한 디스크의 다른 파티션에 있을 수 있습니다. 이로 인해 증가하지 않고 성능이 저하됩니다.
권장되지는 않지만 디스크를 별도의 LVM 물리 볼륨으로 분할해야 하는 경우 특정 상황이 있을 수 있습니다. 예를 들어 디스크가 거의 없는 시스템에서는 기존 시스템을 LVM 볼륨으로 마이그레이션할 때 파티션 주위에 데이터를 이동해야 할 수 있습니다. 또한 매우 큰 디스크가 있고 관리 목적으로 두 개 이상의 볼륨 그룹이 필요한 경우 디스크를 분할해야 합니다. 두 개 이상의 파티션이 있고 두 파티션 모두 동일한 볼륨 그룹에 있는 디스크가 있는 경우 스트립 볼륨을 생성할 때 논리 볼륨에 포함할 파티션을 지정합니다.
2.2. 볼륨 그룹 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨은 볼륨 그룹(VG)으로 결합됩니다. 그러면 논리 볼륨을 할당할 수 있는 디스크 공간 풀이 생성됩니다.
볼륨 그룹 내에서 할당에 사용 가능한 디스크 공간이 확장 영역이라는 고정 크기의 단위로 나뉩니다. 익스텐트는 할당할 수 있는 가장 작은 공간 단위입니다. 물리 볼륨 내에서 확장 영역을 물리 확장 영역으로 지정합니다.
논리 볼륨은 물리 확장 영역과 동일한 크기의 논리 확장 영역에 할당됩니다. 따라서 확장 크기는 볼륨 그룹의 모든 논리 볼륨에 대해 동일합니다. 볼륨 그룹은 논리 확장 영역을 물리 확장 영역에 매핑합니다.
2.3. LVM 논리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM에서 볼륨 그룹은 논리 볼륨으로 나뉩니다. 다음 섹션에서는 다양한 유형의 논리 볼륨에 대해 설명합니다.
2.3.1. 선형 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
선형 볼륨은 하나 이상의 물리 볼륨에서 하나의 논리 볼륨으로 공간을 집계합니다. 예를 들어, 두 개의 60GB 디스크가 있는 경우 120GB 논리 볼륨을 생성할 수 있습니다. 물리적 스토리지가 연결됩니다.
선형 볼륨을 만들면 물리 확장 영역의 범위를 순서대로 논리 볼륨 영역에 할당합니다. 예를 들어 그림 2.2. “범위 매핑” 논리 확장 영역 1에서 99에 표시된 것처럼 논리 확장 영역 100을 198에 매핑하면 두 번째 물리 볼륨에 매핑할 수 있습니다. 애플리케이션의 관점에서는 198개의 확장 영역 크기의 장치가 한 개 있습니다.
그림 2.2. 범위 매핑
논리 볼륨을 구성하는 물리 볼륨은 크기가 같을 필요가 없습니다. 그림 2.3. “Unequal 물리 볼륨이 있는 선형 볼륨” 는 물리 확장 영역 크기가 4MB인
VG1 볼륨 그룹을 표시합니다. 이 볼륨 그룹에는 PV1 및 PV2 라는 두 개의 물리 볼륨이 포함되어 있습니다. 물리 볼륨은 확장 크기이므로 4MB 단위로 나뉩니다. 이 예에서 PV1 은 200개의 확장 영역 크기(800MB)이고 PV2 는 크기가 100개(400MB)입니다. 1에서 300개의 확장 영역(MB에서 1200MB) 사이의 모든 크기를 만들 수 있습니다. 이 예에서 LV1 이라는 선형 볼륨은 크기가 300개입니다.
그림 2.3. Unequal 물리 볼륨이 있는 선형 볼륨
물리 확장 영역 풀에서 필요한 크기에 대해 두 개 이상의 선형 논리 볼륨을 구성할 수 있습니다. 그림 2.4. “다중 논리 볼륨” 는 그림 2.3. “Unequal 물리 볼륨이 있는 선형 볼륨” 와 동일한 볼륨 그룹을 표시하지만, 이 경우 두 개의 논리 볼륨이 볼륨 그룹에서 분리되었습니다.
LV1 은 크기(1000MB) 및 LV2 의 크기(200MB) 및 50개의 확장 영역입니다.
그림 2.4. 다중 논리 볼륨
2.3.2. 제거된 논리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 논리 볼륨에 데이터를 쓸 때 파일 시스템은 기본 물리 볼륨에 걸쳐 데이터를 배치합니다. 스트라이핑된 논리 볼륨을 생성하여 데이터를 물리 볼륨에 쓰는 방식을 제어할 수 있습니다. 대규모 순차적 읽기 및 쓰기의 경우 데이터 I/O의 효율성을 향상시킬 수 있습니다.
스트리핑은 라운드 로빈 방식으로 미리 정해진 수의 물리 볼륨에 데이터를 작성하여 성능을 향상시킵니다. 스트라이핑을 통해 I/O를 병렬로 수행할 수 있습니다. 경우에 따라 스트라이프의 추가 물리 볼륨에 대해 거의 선형 성능이 저하될 수 있습니다.
다음 그림에서는 세 개의 물리 볼륨에 걸쳐 있는 데이터를 보여줍니다. 이 그림에서 다음을 수행합니다.
- 데이터의 첫 번째 스트라이프는 첫 번째 물리 볼륨에 기록됩니다.
- 데이터의 두 번째 스트라이프는 두 번째 물리 볼륨에 기록됩니다.
- 세 번째 데이터 스트라이프는 세 번째 물리 볼륨에 기록됩니다.
- 데이터의 네 번째 스트라이프는 첫 번째 물리 볼륨에 기록됩니다.
스트라이핑된 논리 볼륨에서 스트라이프 크기는 확장 영역 크기를 초과할 수 없습니다.
그림 2.5. 세 개의 PV 간 데이터 제거
줄인 논리 볼륨은 다른 장치 집합을 첫 번째 세트의 끝에 연결하여 확장할 수 있습니다. 그러나 스트라이핑된 논리 볼륨을 확장하려면 스트라이프를 지원하기 위해 기본 물리 볼륨 세트에 충분한 여유 공간이 있어야 합니다. 예를 들어 전체 볼륨 그룹을 사용하는 양방향 스트라이프가 있는 경우 볼륨 그룹에 단일 물리 볼륨을 추가하면 스트라이프를 확장할 수 없습니다. 대신 볼륨 그룹에 두 개 이상의 물리 볼륨을 추가해야 합니다. 스트라이핑된 볼륨 확장에 대한 자세한 내용은 4.4.17절. “스트립 볼륨 확장” 을 참조하십시오.
2.3.3. RAID 논리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM은 RAID0/1/4/5/6/10을 지원합니다. LVM RAID 볼륨에는 다음과 같은 특징이 있습니다.
- LVM을 통해 생성 및 관리하는 RAID 논리 볼륨은 MD 커널 드라이버를 활용합니다.
- RAID1 이미지는 일시적으로 배열에서 분할하고 나중에 다시 배열로 병합할 수 있습니다.
- LVM RAID 볼륨은 스냅샷을 지원합니다.
RAID 논리 볼륨 생성에 대한 자세한 내용은 4.4.3절. “RAID 논리 볼륨” 을 참조하십시오.
참고
RAID 논리 볼륨은 클러스터가 인식되지 않습니다. RAID 논리 볼륨은 한 컴퓨터에서만 생성하고 활성화할 수 있지만 두 개 이상의 컴퓨터에서 동시에 활성화할 수 없습니다.
2.3.4. 씬 프로비저닝된 논리 볼륨(Thin Volumes) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨은 씬 프로비저닝할 수 있습니다. 이를 통해 사용 가능한 확장 영역보다 큰 논리 볼륨을 만들 수 있습니다. 씬 프로비저닝을 사용하면 씬 풀이라는 여유 공간 스토리지 풀을 관리할 수 있으며, 애플리케이션에 필요할 때 임의의 수의 장치에 할당할 수 있습니다. 그런 다음 애플리케이션이 논리 볼륨에 실제로 쓸 때 나중에 할당하기 위해 씬 풀에 바인딩될 수 있는 장치를 생성할 수 있습니다. 스토리지 공간을 비용 효율적으로 할당하는 데 필요할 때 씬 풀을 동적으로 확장할 수 있습니다.
참고
클러스터의 노드에서는 씬 볼륨이 지원되지 않습니다. thin 풀과 모든 씬 볼륨은 하나의 클러스터 노드에서만 독점적으로 활성화되어야 합니다.
스토리지 관리자는 씬 프로비저닝을 사용하여 물리적 스토리지를 과다 할당할 수 있으므로 추가 스토리지를 구매할 필요가 없는 경우가 많습니다. 예를 들어, 10명의 사용자가 애플리케이션에 대해 100GB 파일 시스템을 요청하는 경우 스토리지 관리자는 각 사용자에 대해 100GB 파일 시스템으로 표시되는 항목을 생성할 수 있지만 필요한 경우에만 사용되는 실제 스토리지에서는 지원되지 않습니다.
참고
씬 프로비저닝을 사용할 때는 스토리지 관리자가 스토리지 풀을 모니터링하고 용량을 늘리기 시작하는 것이 중요합니다.
사용 가능한 모든 공간을 사용할 수 있도록 LVM에서 데이터 삭제 기능을 지원합니다. 이를 통해 삭제한 파일 또는 다른 블록 범위에서 이전에 사용한 공간을 다시 사용할 수 있습니다.
씬 볼륨 생성에 대한 자세한 내용은 4.4.5절. “씬 프로비저닝된 논리 볼륨 생성” 에서 참조하십시오.
씬 볼륨은 여러 가상 장치가 씬 풀에서 동일한 데이터를 공유할 수 있도록 새로운 COW(Copy-On-Write) 스냅샷 논리 볼륨을 구현할 수 있도록 지원합니다. 씬 스냅샷 볼륨에 대한 자세한 내용은 2.3.6절. “씬 프로비저닝된 스냅샷 볼륨” 에서 참조하십시오.
2.3.5. 스냅샷 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 스냅샷 기능을 사용하면 서비스 중단 없이 특정 즉시 장치의 가상 이미지를 생성할 수 있습니다. 스냅샷을 만든 후 원래 장치(원본)를 변경하면 스냅샷 기능을 통해 장치의 상태를 재구성할 수 있도록 변경 전과 마찬가지로 변경된 데이터 영역을 복사합니다.
참고
LVM은 씬 프로비저닝된 스냅샷을 지원합니다. 씬 프로비저닝된 스냅샷 볼륨에 대한 자세한 내용은 2.3.6절. “씬 프로비저닝된 스냅샷 볼륨” 을 참조하십시오.
참고
LVM 스냅샷은 클러스터의 노드 전반에서 지원되지 않습니다. 클러스터형 볼륨 그룹에서 스냅샷 볼륨을 생성할 수 없습니다.
스냅샷은 스냅샷을 만든 후에 변경된 데이터 영역만 복사하므로 스냅샷 기능에는 최소한의 스토리지가 필요합니다. 예를 들어 거의 업데이트되지 않는 오리진을 사용하면 원본 용량의 3 ~ 3 %가 스냅샷을 유지하기에 충분합니다.
참고
파일 시스템의 스냅샷 복사본은 가상 복사본이며, 파일 시스템의 실제 미디어 백업이 아닙니다. 스냅샷은 백업 프로시저를 대체하는 기능을 제공하지 않습니다.
스냅샷의 크기는 원본 볼륨에 대한 변경 사항을 저장하기 위해 별도로 설정된 공간 크기를 제어합니다. 예를 들어 스냅샷을 만든 후 원본을 완전히 덮어쓰는 경우 스냅샷이 변경 사항을 유지하는 원본 볼륨만큼 커야 합니다. 예상되는 변경 수준에 따라 스냅샷의 차원이 필요합니다. 예를 들어
/usr 과 같은 읽기 볼륨 스냅샷의 수명이 짧은 스냅샷에는 /home 과 같이 더 많은 쓰기 수가 표시되는 볼륨의 긴 스냅샷보다 적은 공간이 필요합니다.
스냅샷이 완전히 실행되면 원본 볼륨에서 변경 사항을 더 이상 추적할 수 없으므로 스냅샷이 유효하지 않습니다. 스냅샷의 크기를 정기적으로 모니터링해야 합니다. 그러나 스냅샷은 완전히 재구성할 수 있으므로 스토리지 용량이 있으면 스냅샷 볼륨의 크기를 늘려 드롭되지 않도록 할 수 있습니다. 반대로 스냅샷 볼륨이 필요한 것보다 크면 볼륨의 크기를 줄여 다른 논리 볼륨에 필요한 공간을 확보할 수 있습니다.
스냅샷 파일 시스템을 생성하면 원본에 대한 전체 읽기 및 쓰기 액세스가 가능합니다. 스냅샷의 청크가 변경되면 해당 청크가 표시되고 원래 볼륨에서 복사되지 않습니다.
스냅샷 기능에는 다음과 같은 몇 가지 용도가 있습니다.
- 일반적으로 데이터를 지속적으로 업데이트하는 라이브 시스템을 중단하지 않고 논리 볼륨에서 백업을 수행해야 하는 경우 스냅샷이 수행됩니다.
- 스냅샷 파일 시스템에서 fsck 명령을 실행하여 파일 시스템의 무결성을 확인하고 원래 파일 시스템에 파일 시스템 복구가 필요한지 여부를 확인할 수 있습니다.
- 스냅샷은 읽기/쓰기이므로 스냅샷을 만들고 스냅샷에 대한 테스트를 실행하여 프로덕션 데이터에 대해 애플리케이션을 테스트하여 실제 데이터를 그대로 둘 수 있습니다.
- Red Hat Virtualization과 함께 사용할 LVM 볼륨을 생성할 수 있습니다. LVM 스냅샷을 사용하여 가상 게스트 이미지의 스냅샷을 생성할 수 있습니다. 이러한 스냅샷을 사용하면 기존 게스트를 쉽게 수정하거나 추가 스토리지를 최소화하여 새 게스트를 만들 수 있습니다. Red Hat Virtualization으로 LVM 기반 스토리지 풀 생성에 대한 자세한 내용은 가상화 관리 가이드 를 참조하십시오.
스냅샷 볼륨 생성에 대한 자세한 내용은 4.4.6절. “스냅샷 볼륨 생성” 을 참조하십시오.
lvconvert 명령의
--merge 옵션을 사용하여 스냅샷을 원본 볼륨에 병합할 수 있습니다. 데이터 또는 파일이 손실되었거나 시스템을 이전 상태로 복원해야 하는 경우 이 기능에 사용하는 기능 중 하나는 시스템 롤백을 수행하는 것입니다. 스냅샷 볼륨을 병합하면 결과 논리 볼륨의 이름, 마이너 번호, UUID가 제거되고 병합된 스냅샷이 제거됩니다. 이 옵션 사용에 대한 자세한 내용은 4.4.9절. “스냅샷 볼륨 병합” 을 참조하십시오.
2.3.6. 씬 프로비저닝된 스냅샷 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux는 씬 프로비저닝된 스냅샷 볼륨을 지원합니다. 씬 스냅샷 볼륨을 사용하면 여러 가상 장치를 동일한 데이터 볼륨에 저장할 수 있습니다. 이를 통해 관리를 단순화하고 스냅샷 볼륨 간에 데이터를 공유할 수 있습니다.
모든 LVM 스냅샷 볼륨 및 모든 씬 볼륨에 대해 씬 스냅샷 볼륨은 클러스터의 노드에서 지원되지 않습니다. 스냅샷 볼륨은 하나의 클러스터 노드에서만 독점적으로 활성화되어야 합니다.
씬 스냅샷 볼륨은 다음과 같은 이점을 제공합니다.
- 씬 스냅샷 볼륨은 동일한 원본 볼륨의 스냅샷이 여러 개인 경우 디스크 사용량을 줄일 수 있습니다.
- 동일한 원본의 스냅샷이 여러 개인 경우 원본에 쓰기를 수행하면 하나의 COW 작업이 데이터를 보존합니다. 원본의 스냅샷 수를 늘리면 큰 속도 저하가 발생하지 않습니다.
- 씬 스냅샷 볼륨은 다른 스냅샷의 논리 볼륨 원본으로 사용할 수 있습니다. 이를 통해 임의 수준의 재귀 스냅샷(스냅샷 스냅샷의 하위 집합)을 사용할 수 있습니다.
- 씬 논리 볼륨의 스냅샷도 씬 논리 볼륨을 생성합니다. 이 경우 COW 작업이 필요하거나 스냅샷 자체를 작성할 때까지 데이터 공간이 사용되지 않습니다.
- 씬 스냅샷 볼륨은 원본으로 활성화할 필요가 없으므로 사용자는 원본의 비활성 스냅샷 볼륨만 있는 동안만 사용할 수 있습니다.
- 씬 프로비저닝된 스냅샷 볼륨의 원본을 삭제하면 해당 원본 볼륨의 각 스냅샷이 씬 프로비저닝된 볼륨이 됩니다. 즉, 원본 볼륨과 스냅샷을 병합하는 대신 원본 볼륨을 삭제한 다음 해당 독립 볼륨을 새 스냅샷의 원본 볼륨으로 사용하여 씬 프로비저닝된 새 스냅샷을 만들 수 있습니다.
씬 스냅샷 볼륨을 사용하는 데는 많은 이점이 있지만 이전 LVM 스냅샷 볼륨 기능이 필요에 따라 더 적합할 수 있는 몇 가지 사용 사례가 있습니다.
- 씬 풀의 청크 크기를 변경할 수 없습니다. 씬 풀에 큰 청크 크기(예: 1MB)가 있고 큰 청크 크기가 효율적이지 않은 청크 크기가 필요한 경우 이전 스냅샷 기능을 사용하도록 선택할 수 있습니다.
- 씬 스냅샷 볼륨의 크기를 제한할 수 없습니다. 스냅샷에서는 필요한 경우 씬 풀의 모든 공간을 사용합니다. 이것은 귀하의 필요에 적합하지 않을 수 있습니다.
일반적으로 사용할 스냅샷 형식을 결정할 때 사이트의 특정 요구 사항을 고려해야 합니다.
참고
씬 프로비저닝을 사용할 때는 스토리지 관리자가 스토리지 풀을 모니터링하고 용량을 늘리기 시작하는 것이 중요합니다. 씬 프로비저닝된 스냅샷 볼륨에 대한 정보를 구성 및 표시하는 방법에 대한 자세한 내용은 4.4.7절. “씬 프로비저닝된 스냅샷 볼륨 생성” 을 참조하십시오.
2.3.7. 캐시 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.1 릴리스에서 LVM은 빠른 블록 장치(예: SSD 드라이브)를 더 큰 느린 블록 장치에 대한 나중 쓰기 또는 쓰기 캐시로 사용할 수 있도록 지원합니다. 사용자는 캐시 논리 볼륨을 생성하여 기존 논리 볼륨의 성능을 개선하거나 크고 느린 장치와 결합된 작고 빠른 장치로 구성된 새 캐시 논리 볼륨을 생성할 수 있습니다.
LVM 캐시 볼륨 생성에 대한 자세한 내용은 4.4.8절. “LVM 캐시 논리 볼륨 생성” 을 참조하십시오.
3장. LVM 관리 개요 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 LVM 논리 볼륨을 구성하는 데 사용하는 관리 절차에 대해 설명합니다. 이 장에서는 관련 단계에 대한 일반적인 이해를 제공하기 위한 것입니다. 일반적인 LVM 구성 절차의 특정 단계별 예는 5장. LVM 설정 예 를 참조하십시오.
LVM 관리를 수행하는 데 사용할 수 있는 CLI 명령에 대한 설명은 4장. CLI 명령을 사용하여 LVM 관리 을 참조하십시오.
3.1. 논리 볼륨 생성 개요 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음은 LVM 논리 볼륨을 만들기 위한 단계를 요약한 것입니다.
- LVM 볼륨에 사용할 파티션을 물리 볼륨으로 초기화합니다.
- 볼륨 그룹을 만듭니다.
- 논리 볼륨을 생성합니다.
논리 볼륨을 만든 후 파일 시스템을 생성하고 마운트할 수 있습니다. 이 문서의 예제에서는 GFS2 파일 시스템을 사용합니다.
- mkfs.gfs2 명령을 사용하여 논리 볼륨에 polkit2 파일 시스템을 생성합니다.
- Cryostat 명령을 사용하여 새 마운트 지점을 만듭니다. 클러스터형 시스템에서 클러스터의 모든 노드에 마운트 지점을 생성합니다.
- 파일 시스템을 마운트합니다. 시스템의 각 노드의
fstab파일에 행을 추가할 수 있습니다.
참고
GFS2 파일 시스템은 독립형 시스템이나 클러스터 구성의 일부로 구현할 수 있지만 Red Hat Enterprise Linux 7 릴리스의 경우 Red Hat은 단일 노드 파일 시스템으로 GFS2 사용을 지원하지 않습니다. Red Hat은 클러스터 파일 시스템의 스냅샷 마운트를 위해 단일 노드 GFS2 파일 시스템을 계속 지원합니다(예: 백업 목적으로).
LVM 설정 정보의 스토리지 영역이 물리 볼륨에 있고 볼륨이 생성된 시스템이 아니기 때문에 LVM 볼륨 생성은 시스템이 독립적입니다. 스토리지를 사용하는 서버에는 로컬 복사본이 있지만 물리 볼륨에 있는 서버에서 다시 생성할 수 있습니다. LVM 버전이 호환되는 경우 물리 볼륨을 다른 서버에 연결할 수 있습니다.
3.2. 논리 볼륨에서 파일 시스템 확장 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨에서 파일 시스템을 확장하려면 다음 단계를 수행합니다.
- 기존 볼륨 그룹에 할당되지 않은 공간이 충분한지 확인하여 논리 볼륨을 확장합니다. 그렇지 않은 경우 다음 절차를 수행합니다.
- pvcreate 명령을 사용하여 새 물리 볼륨을 생성합니다.
- Cryo stat extend 명령을 사용하여 새 물리 볼륨을 포함하도록 확장 중인 파일 시스템으로 논리 볼륨이 포함된 볼륨 그룹을 확장합니다.
- 볼륨 그룹이 큰 파일 시스템을 포함할 수 있을 만큼 커지면 lvresize 명령을 사용하여 논리 볼륨을 확장합니다.
- 논리 볼륨에서 파일 시스템의 크기를 조정합니다.
lvresize 명령의
-r 옵션을 사용하여 논리 볼륨을 확장하고 단일 명령으로 기본 파일 시스템의 크기를 조정할 수 있습니다.
3.3. 논리 볼륨 백업 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvm.conf 파일에서 이 기능을 비활성화하지 않는 한 볼륨 그룹 또는 논리 볼륨에 대한 구성 변경이 있을 때마다 메타데이터 백업 및 아카이브가 자동으로 생성됩니다. 기본적으로 메타데이터 백업은 /etc/lvm/backup 파일에 저장되고 메타데이터 아카이브는 /etc/lvm/archive 파일에 저장됩니다. /etc/lvm/archive 파일에 저장된 메타데이터 아카이브와 유지되는 아카이브 파일 수는 lvm.conf 파일에 설정할 수 있는 매개변수에 따라 결정됩니다. 일일 시스템 백업에는 백업에 /etc/lvm 디렉터리의 내용이 포함되어야 합니다.
메타데이터 백업은 논리 볼륨에 포함된 사용자 및 시스템 데이터를 백업하지 않습니다.
Cryostat cfg backup 명령을 사용하여
/etc/lvm/backup 파일에 메타데이터를 수동으로 백업할 수 있습니다. Cryostat cfgrestore 명령을 사용하여 메타데이터를 복원할 수 있습니다. Cryo statcfgbackup 및 Cryo statcfgrestore 명령은 4.3.13절. “볼륨 그룹 메타데이터 백업” 에 설명되어 있습니다.
3.4. 로깅 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
모든 메시지 출력은 다음과 같이 로깅 수준을 별도로 선택할 수 있는 로깅 모듈을 통해 전달됩니다.
- 표준 출력/오류
- syslog
- 로그 파일
- 외부 로그 기능
로깅 수준은 부록 B. LVM 구성 파일 에 설명된
/etc/lvm/lvm.conf 파일에 설정됩니다.
3.5. 메타데이터 데몬(lvmetad) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM에서는 데몬(lvmetad) 및
udev 규칙을 통해 구현된 중앙 메타데이터 캐시를 선택적으로 사용할 수 있습니다. 메타데이터 데몬은 두 가지 주요 용도가 있습니다. LVM 명령의 성능을 개선하고 udev 가 시스템에서 사용 가능하게 되면 논리 볼륨 또는 전체 볼륨 그룹을 자동으로 활성화할 수 있습니다.
lvm.conf 구성 파일에서 global/use_lvmetad 변수가 1로 설정된 경우 LVM은 데몬을 사용하도록 구성됩니다. 이는 기본값입니다. lvm.conf 구성 파일에 대한 자세한 내용은 부록 B. LVM 구성 파일 을 참조하십시오.
참고
lvmetad 데몬은 현재 클러스터의 노드에서 지원되지 않으며 잠금 유형이 로컬 파일 기반 잠금이어야 합니다. lvmconf --enable-cluster/--disable-cluster 명령을 사용하면
use_lvmetad 설정(lock _type=3의 경우 0이어야 함)을 포함하여 lvm.conf 파일이 적절하게 구성됩니다. 그러나 Pacemaker 클러스터에서 ocf:heartbeat:clvm 리소스 에이전트 자체는 이러한 매개변수를 시작 절차의 일부로 설정합니다.
다음 명령을 사용하여
use_lvmetad 의 값을 1에서 0으로 변경하는 경우 lvmetad 서비스를 수동으로 재부팅하거나 중지해야 합니다.
systemctl stop lvm2-lvmetad.service
# systemctl stop lvm2-lvmetad.service
일반적으로 각 LVM 명령은 디스크 검사를 실행하여 관련 물리 볼륨을 찾아 볼륨 그룹 메타데이터를 읽습니다. 그러나 메타데이터 데몬이 실행 중이고 활성화된 경우 이 비용이 많이 드는 검사를 건너뛸 수 있습니다. 대신 lvmetad 데몬은
udev 규칙을 사용하여 사용 가능하게 되면 각 장치를 한 번만 검사합니다. 이를 통해 상당한 양의 I/O를 절약하고 특히 많은 디스크가 있는 시스템에서 LVM 작업을 완료하는 데 필요한 시간을 줄일 수 있습니다.
런타임 시(예: 핫플러그 또는 iSCSI를 통해) 새 볼륨 그룹을 사용할 수 있게 되면 사용할 수 있도록 논리 볼륨을 활성화해야 합니다. lvmetad 데몬이 활성화되면
lvm.conf 구성 파일의 activation/auto_activation_volume_list 옵션을 사용하여 자동으로 활성화해야 하는 볼륨 그룹 또는 논리 볼륨 목록을 구성할 수 있습니다. lvmetad 데몬이 없으면 수동 활성화가 필요합니다.
참고
lvmetad 데몬이 실행 중인 경우 pvscan --cache device 명령을 실행할 때
/etc/lvm/lvm.conf 파일의 filter = 설정이 적용되지 않습니다. 장치를 필터링하려면 global_filter = 설정을 사용해야 합니다. 글로벌 필터를 장애가 발생한 장치는 LVM에서 열지 않으며 스캔하지 않습니다. 예를 들어 VM에서 LVM 장치를 사용하는 경우 글로벌 필터를 사용해야 할 수 있으며 VM의 장치 내용이 물리적 호스트에서 스캔되지 않도록 해야 합니다.
3.6. lvm 명령을 사용하여 LVM 정보 표시 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvm 명령은 LVM 지원 및 구성에 대한 정보를 표시하는 데 사용할 수 있는 몇 가지 기본 제공 옵션을 제공합니다.
- LVM devtypes알려진 빌드 블록 장치 유형(Red Hat Enterprise Linux 릴리스 6.6 이상)을 표시합니다.
- LVM 형식알려진 메타데이터 형식을 표시합니다.
- LVM 도움말LVM 도움말 텍스트를 표시합니다.
- LVM 분리알려진 논리 볼륨 세그먼트 유형을 표시합니다.
- LVM 태그이 호스트에 정의된 태그를 표시합니다. LVM 개체 태그에 대한 자세한 내용은 부록 D. LVM 오브젝트 태그 을 참조하십시오.
- LVM 버전현재 버전 정보를 표시합니다.
4장. CLI 명령을 사용하여 LVM 관리 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 LVM CLI(명령줄 인터페이스) 명령으로 수행할 수 있는 개별 관리 작업을 요약하여 논리 볼륨을 생성하고 유지 관리합니다.
LVM CLI(명령줄 인터페이스) 외에도 SSM(System Storage Manager)을 사용하여 LVM 논리 볼륨을 구성할 수 있습니다. LVM과 함께 SSM을 사용하는 방법에 대한 자세한 내용은 스토리지 관리 가이드 를 참조하십시오.
4.1. CLI 명령 사용 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
모든 LVM CLI 명령에는 몇 가지 일반적인 기능이 있습니다.
명령줄 인수에 크기가 필요한 경우 항상 단위를 명시적으로 지정할 수 있습니다. 단위를 지정하지 않으면 기본값은 일반적으로 KB 또는 MB입니다. LVM CLI 명령은 분수를 허용하지 않습니다.
명령줄 인수에 단위를 지정하는 경우 LVM은 대소문자를 구분하지 않습니다. M 또는 m은 동일합니다. 예를 들어 2(여러s의 1024)의 전원이 사용됩니다. 그러나 명령에
--units 인수를 지정하면 소문자가 1024인 단위로 장치 수가 1024임을 나타냅니다. 대문자는 단위가 1000개임을 나타냅니다.
명령에서 볼륨 그룹 또는 논리 볼륨 이름을 인수로 사용하는 경우 전체 경로 이름은 선택 사항입니다. Cryostat0이라는 볼륨 그룹에서
lvol0 이라는 논리 볼륨을 Cryostat 0 /lvol0 으로 지정할 수 있습니다. 볼륨 그룹 목록이 필요하지만 비어 있는 경우 모든 볼륨 그룹 목록을 대체합니다. 논리 볼륨 목록이 필요하지만 볼륨 그룹이 제공되는 경우 해당 볼륨 그룹의 모든 논리 볼륨 목록을 대체합니다. 예를 들어 lvdisplay Cryostat0 명령은 볼륨 그룹 Cryostat 0 의 모든 논리 볼륨을 표시합니다.
모든 LVM 명령은
-v 인수를 허용하며, 출력 세부 정보 표시 수준을 높이기 위해 여러 번 입력할 수 있습니다. 예를 들어 다음 예제에서는 lvcreate 명령의 기본 출력을 보여줍니다.
lvcreate -L 50MB new_vg Rounding up size to full physical extent 52.00 MB Logical volume "lvol0" created
# lvcreate -L 50MB new_vg
Rounding up size to full physical extent 52.00 MB
Logical volume "lvol0" created
다음 명령은
-v 인수와 함께 lvcreate 명령의 출력을 보여줍니다.
-vv,-vvv 또는 - vvvv 인수를 사용하여 명령 실행에 대한 자세한 내용을 표시할 수도 있습니다. 현재 -vvv 인수는 최대 정보 양을 제공합니다. 다음 예제에서는 -vvvv 인수가 지정된 lvcreate 명령에 대한 처음 몇 줄의 출력만 보여줍니다.
명령의
--help 인수를 사용하여 LVM CLI 명령에 대한 도움말을 표시할 수 있습니다.
commandname --help
# commandname --help
명령의 도움말 페이지를 표시하려면 man 명령을 실행합니다.
man commandname
# man commandname
man lvm 명령은 LVM에 대한 일반 온라인 정보를 제공합니다.
모든 LVM 오브젝트는 오브젝트를 만들 때 할당된 UUID로 내부적으로 참조됩니다. 이 기능은 볼륨 그룹에 속하는
/dev/sdf 라는 물리 볼륨을 제거하고 다시 연결할 때 /dev/sdk 임을 확인할 수 있습니다. UUID로 물리 볼륨을 식별하고 장치 이름이 아니므로 LVM은 물리 볼륨을 계속 찾습니다. 물리 볼륨을 생성할 때 물리 볼륨의 UUID를 지정하는 방법에 대한 자세한 내용은 6.3절. “물리 볼륨 메타데이터 복구” 을 참조하십시오.
4.2. 물리 볼륨 관리 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 물리 볼륨 관리의 다양한 측면을 수행하는 명령에 대해 설명합니다.
4.2.1. 물리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 하위 섹션에서는 물리 볼륨을 만드는 데 사용되는 명령을 설명합니다.
4.2.1.1. 파티션 유형 설정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨에 전체 디스크 장치를 사용하는 경우 디스크에 파티션 테이블이 없어야 합니다. Cryostat 디스크 파티션의 경우 partition id는 Cryostat 또는 cfdisk 명령 또는 이와 동등한 를 사용하여 0x8e로 설정해야 합니다. 전체 디스크 장치의 경우 파티션 테이블만 지워야 하므로 해당 디스크의 모든 데이터를 효과적으로 삭제합니다. 다음 명령을 사용하여 첫 번째 섹터를 0으로 기존 파티션 테이블을 제거할 수 있습니다.
dd if=/dev/zero of=PhysicalVolume bs=512 count=1
# dd if=/dev/zero of=PhysicalVolume bs=512 count=1
4.2.1.2. 물리 볼륨 초기화 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
pvcreate 명령을 사용하여 물리 볼륨으로 사용할 블록 장치를 초기화합니다. 초기화는 파일 시스템의 포맷과 유사합니다.
다음 명령은 LVM 논리 볼륨의 일부로 나중에 사용할 수 있도록
/dev/sdd,/dev/sde, /dev/sdf 를 LVM 물리 볼륨으로 초기화합니다.
pvcreate /dev/sdd /dev/sde /dev/sdf
# pvcreate /dev/sdd /dev/sde /dev/sdf
전체 디스크가 아닌 파티션을 초기화하려면 파티션에서 pvcreate 명령을 실행합니다. 다음 예제에서는 LVM 논리 볼륨의 일부로 나중에 사용할 수 있도록
/dev/hdb1 파티션을 LVM 물리 볼륨으로 초기화합니다.
pvcreate /dev/hdb1
# pvcreate /dev/hdb1
4.2.1.3. 블록 장치 검색 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 예와 같이 lvmdiskscan 명령을 사용하여 물리 볼륨으로 사용할 수 있는 블록 장치를 스캔할 수 있습니다.
4.2.2. 물리 볼륨 표시 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 물리 볼륨의 속성을 표시하는 데 사용할 수 있는 명령은 pvs,pvdisplay, pvscan 입니다.
pvs 명령은 물리 볼륨 정보를 구성 가능한 형식으로 제공하여 물리 볼륨당 한 행을 표시합니다. pvs 명령은 많은 형식 제어를 제공하며 스크립팅에 유용합니다. pvs 명령을 사용하여 출력을 사용자 지정하는 방법에 대한 자세한 내용은 4.8절. “LVM에 대한 사용자 정의 보고” 을 참조하십시오.
pvdisplay 명령은 각 물리 볼륨에 대한 자세한 다중 줄 출력을 제공합니다. 고정된 형식으로 물리 속성(크기, 확장 영역, 볼륨 그룹 등)을 표시합니다.
다음 예제에서는 단일 물리 볼륨에 대한 pvdisplay 명령의 출력을 보여줍니다.
pvscan 명령은 물리 볼륨에 대해 시스템에서 지원되는 모든 LVM 블록 장치를 검사합니다.
다음 명령은 발견된 모든 물리적 장치를 표시합니다.
이 명령은 특정 물리 볼륨을 스캔하지 않도록
lvm.conf 파일에 필터를 정의할 수 있습니다. 필터를 사용하여 스캔할 장치를 제어하는 방법에 대한 자세한 내용은 4.5절. “필터를 사용하여 LVM 장치 스캔 제어” 을 참조하십시오.
4.2.3. 물리 볼륨의 할당 방지 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
pvchange 명령을 사용하여 하나 이상의 물리 볼륨의 사용 가능한 공간에 물리 확장 영역을 할당하지 못할 수 있습니다. 디스크 오류가 있거나 물리 볼륨을 제거하는 경우 이 작업이 필요할 수 있습니다.
다음 명령은
/dev/sdk1 의 물리 확장 영역 할당을 허용하지 않습니다.
pvchange -x n /dev/sdk1
# pvchange -x n /dev/sdk1
pvchange 명령의
-xy 인수를 사용하여 이전에 허용되지 않은 위치에서 할당을 허용할 수도 있습니다.
4.2.4. 물리 볼륨 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
어떠한 이유로든 기본 블록 장치의 크기를 변경해야 하는 경우 pvresize 명령을 사용하여 LVM을 새 크기로 업데이트합니다. LVM에서 물리 볼륨을 사용하는 동안 이 명령을 실행할 수 있습니다.
4.2.5. 물리 볼륨 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM에서 장치를 더 이상 사용할 필요가 없는 경우 pvremove 명령을 사용하여 LVM 레이블을 제거할 수 있습니다. pvremove 명령을 실행하면 빈 물리 볼륨의 LVM 메타데이터가 제로됩니다.
제거하려는 물리 볼륨이 현재 볼륨 그룹의 일부인 경우 4.3.7절. “볼륨 그룹에서 물리 볼륨 제거” 에 설명된 대로, 볼륨 그룹에서 해당 볼륨 을 제거해야 합니다.
pvremove /dev/ram15 Labels on physical volume "/dev/ram15" successfully wiped
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped
4.3. 볼륨 그룹 관리 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 볼륨 그룹 관리의 다양한 측면을 수행하는 명령에 대해 설명합니다.
4.3.1. 볼륨 그룹 만들기 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 물리 볼륨에서 볼륨 그룹을 만들려면 Cryostat create 명령을 사용합니다. Cryo statcreate 명령은 이름으로 새 볼륨 그룹을 생성하고 하나 이상의 물리 볼륨을 추가합니다.
다음 명령은 물리 볼륨
/dev/sdd 1 및 /dev/sde1 을 포함하는 Cryostat1이라는 볼륨 그룹을 생성합니다.
vgcreate vg1 /dev/sdd1 /dev/sde1
# vgcreate vg1 /dev/sdd1 /dev/sde1
물리 볼륨을 사용하여 볼륨 그룹을 만들 때 디스크 공간은 기본적으로 4MB 확장 영역으로 나뉩니다. 이 범위는 논리 볼륨의 크기를 늘리거나 줄일 수 있는 최소 크기입니다. 많은 수의 Extent는 논리 볼륨의 I/O 성능에 영향을 미치지 않습니다.
기본 범위 크기가 적합하지 않은 경우
-s 옵션으로 범위 크기를 지정할 수 있습니다. Cryostat create 명령의 -p 및 -l 인수를 사용하여 볼륨 그룹이 보유할 수 있는 물리 볼륨 또는 논리 볼륨 수에 제한을 설정할 수 있습니다.
기본적으로 볼륨 그룹은 동일한 물리 볼륨에 병렬 스트라이프를 배치하지 않는 등의 공통 규칙에 따라 물리 확장 영역을 할당합니다. 이는 일반적인 할당 정책입니다. Cryostat create 명령의 --alloc 인수를 사용하여 연속적인,어디에서나 또는 클링의 할당 정책을 지정할 수 있습니다. 일반적으로 일반 이외의 할당 정책은 비정상적 또는 비표준 범위 할당을 지정해야 하는 특수한 경우에만 필요합니다. LVM에서 물리 확장 영역을 할당하는 방법에 대한 자세한 내용은 4.3.2절. “LVM Allocation” 을 참조하십시오.
LVM 볼륨 그룹과 기본 논리 볼륨은 다음 레이아웃을 사용하여
/dev 디렉터리의 장치 특수 파일 디렉터리 트리에 포함됩니다.
/dev/vg/lv/
/dev/vg/lv/
예를 들어
myvg1 및 myvg2 두 개의 볼륨 그룹을 생성하는 경우 각각 lv01,lv02, lv03 이라는 세 개의 논리 볼륨이 있는 경우 6개의 장치 특수 파일이 생성됩니다.
해당 논리 볼륨이 현재 활성화되어 있지 않은 경우 장치 특수 파일이 존재하지 않습니다.
LVM의 최대 장치 크기는 64비트 CPU에서 8 Exabytes입니다.
4.3.2. LVM Allocation 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 작업에서 하나 이상의 논리 볼륨에 물리 확장 영역을 할당해야 하는 경우 할당은 다음과 같이 진행됩니다.
- 볼륨 그룹에서 할당되지 않은 물리 확장 영역의 전체 세트를 고려하여 생성됩니다. 명령줄 끝에 물리 확장 영역 범위를 제공하는 경우 지정된 물리 볼륨에 있는 해당 범위 내에서 할당되지 않은 물리 확장 영역만 고려해야 합니다.
- 각 할당 정책은 가장 엄격한 정책(연동)으로 시작하여
--alloc옵션을 사용하여 지정된 할당 정책으로 끝나거나 특정 논리 볼륨 또는 볼륨 그룹의 기본값으로 설정됩니다.각 정책에 대해 할당 정책에 따라 최대한 많은 공간을 할당해야 하는 빈 논리 볼륨 공간의 가장 낮은 수의 논리 확장에서 작업할 수 있습니다. 더 많은 공간이 필요한 경우 LVM은 다음 정책으로 이동합니다.
할당 정책 제한 사항은 다음과 같습니다.
연속적인할당 정책을 사용하려면 논리 볼륨의 첫 번째 논리 범위가 아닌 논리 확장 영역의 물리적 위치가 바로 앞의 논리 확장 영역의 물리적 위치에 인접해야 합니다.논리 볼륨이 제거되거나 미러링되면연속할당 제한이 공간이 필요한 각 스트라이프 또는 미러 이미지(leg)에 독립적으로 적용됩니다.- 복제의 할당 정책을 사용하려면 논리 볼륨에 사용된 물리 볼륨을 해당 논리 볼륨의 앞부분에서 하나 이상의 논리 범위에서 이미 사용 중인 기존 논리 볼륨에 추가해야 합니다.
구성 매개변수allocation/cling_tag_list가 정의된 경우 나열된 태그 중 하나가 두 물리 볼륨에 있는 경우 두 개의 물리 볼륨이 일치하는 것으로 간주됩니다. 이를 통해 유사한 속성(예: 물리 위치)이 있는 물리 볼륨 그룹에 태그를 지정하고 할당 목적으로 동일하게 처리될 수 있습니다. LVM 태그와 함께 복제 정책을 사용하여 LVM 볼륨을 확장할 때 사용할 추가 물리 볼륨을 지정하는 방법에 대한 자세한 내용은 4.4.19절. “클링 할당 정책을 사용하여 논리 볼륨 확장” 을 참조하십시오.논리 볼륨이 제거되거나 미러링되면 클링 할당제한이공간이 필요한 각 스트라이프 또는 미러 이미지(leg)에 독립적으로 적용됩니다. 일반할당 정책은 병렬 논리 볼륨 내의 동일한 오프셋에서 병렬 논리 볼륨(즉, 다른 스트라이프 또는 미러 이미지/leg)에 이미 할당된 논리 확장 영역과 동일한 물리 볼륨을 공유하는 물리 범위를 선택하지 않습니다.미러 데이터를 유지하기 위해 논리 볼륨과 동시에 미러 로그를 할당할 때normal의 할당 정책은 먼저 로그 및 데이터에 대해 다른 물리 볼륨을 선택하려고 합니다. 이 옵션을 사용할 수 없고allocation/mirror_logs_require_separate_pvs구성 매개 변수가 0으로 설정된 경우 로그에서 데이터의 일부와 물리 볼륨을 공유할 수 있습니다.마찬가지로, 씬 풀 메타데이터를 할당할 때normal의 할당 정책은 할당/thin_pool_metadata_require_separate_pvs 구성 매개변수 값에 따라 미러 로그 할당과 동일한 고려 사항을 따릅니다.- 할당 요청을 충족하기에 사용 가능한 확장 영역이 충분하지만 일반 할당 정책에서 사용하지 않는 경우 동일한 물리 볼륨에 두 개의 스트라이프를 배치하여 성능이 저하되는 경우에도 모든 위치에서 할당 정책을 사용합니다.
할당 정책은 Cryostat change 명령을 사용하여 변경할 수 있습니다.
참고
정의된 할당 정책에 따라 이 섹션에 설명된 레이아웃 이외의 레이아웃 동작에 의존하는 경우 이후 버전의 코드에서 변경될 수 있습니다.If you rely on any layout behavior beyond that documented in this section according to the defined allocation policy, you should note that this might change in future versions of the code. 예를 들어 할당에 사용할 수 있는 사용 가능한 물리 확장 영역 수가 동일한 두 개의 빈 물리 볼륨을 명령줄에 제공하는 경우 LVM은 현재 나열된 순서대로 각 볼륨을 사용하는 것을 고려하며 향후 릴리스에서는 해당 속성을 유지함을 보장하지 않습니다. 특정 논리 볼륨에 대한 특정 레이아웃을 얻는 것이 중요한 경우 일련의 lvcreate 및 lvconvert 단계를 통해 빌드해야 하므로 각 단계에 적용된 할당 정책은 LVM을 레이아웃에 의존하지 않습니다.
할당 프로세스가 특정 사례에서 작동하는 방식을 보려면, 예를 들어 명령에
-vvv 옵션을 추가하여 디버그 로깅 출력을 읽을 수 있습니다.
4.3.3. 클러스터에서 볼륨 그룹 만들기 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
단일 노드에서 생성하는 것처럼 Cryostat create 명령을 사용하여 클러스터 환경에서 CLVM 볼륨 그룹을 생성합니다.
참고
Red Hat Enterprise Linux 7에서 클러스터는 Pacemaker를 통해 관리됩니다. 클러스터형 LVM 논리 볼륨은 Pacemaker 클러스터와 함께만 지원되며 클러스터 리소스로 구성해야 합니다. 클러스터에서 LVM 볼륨 구성에 대한 일반적인 정보는 1.4절. “Red Hat High Availability Cluster의 LVM 논리 볼륨” 에서 참조하십시오.
클러스터의 멤버가 공유하는 볼륨 그룹은 Cryostat create -cy 또는 Cryostat change -cy 명령을 사용하여 클러스터형 특성을 사용하여 생성해야 합니다. CLVMD가 실행 중인 경우 클러스터형 특성이 자동으로 설정됩니다. 이 클러스터형 속성은 이 볼륨 그룹을 CLVMD에서 관리하고 보호해야 함을 나타냅니다. 클러스터에서 공유되지 않고 단일 호스트에만 표시되어야 하는 볼륨 그룹을 생성하는 경우, 이 클러스터형 특성은 -cn 또는 Cryostat change -cn 명령을 사용하여 비활성화해야 합니다.
기본적으로 공유 스토리지의 클러스터형 특성으로 생성된 볼륨 그룹은 공유 스토리지에 액세스할 수 있는 모든 컴퓨터에 표시됩니다. 그러나 local인 볼륨 그룹을 생성할 수 있습니다. 이 볼륨 그룹은 클러스터의 하나의 노드에만 표시되는
볼륨 그룹을 생성할 수 있습니다.
다음 명령은 클러스터 환경에서 실행할 때 명령이 실행된 노드에 로컬인 볼륨 그룹을 생성합니다. 이 명령은 물리 볼륨
/dev/sdd 1 및 /dev/sde1 이 포함된 local volume이라는 로컬 볼륨을 생성합니다.
vgcreate -c n vg1 /dev/sdd1 /dev/sde1
# vgcreate -c n vg1 /dev/sdd1 /dev/sde1
기존 볼륨 그룹이 volumes 명령을 사용하여 클러스터형 볼륨 그룹인지 확인할 수 있습니다. 이 그룹은 볼륨이 클러스터형 경우 c 속성을 표시합니다. 다음 명령은 볼륨 그룹의 특성 usx
00 및 testvg1 을 표시합니다. 이 예에서는 Attr 제목 아래에 c 속성으로 표시된 대로 testvg1 은 클러스터된 반면, testvg1은 클러스터형 상태가 아닙니다.
vgs VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 19.88G 0 testvg1 1 1 0 wz--nc 46.00G 8.00M
# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 19.88G 0
testvg1 1 1 0 wz--nc 46.00G 8.00M
4.3.4. 볼륨 그룹에 물리 볼륨 추가 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
기존 볼륨 그룹에 물리 볼륨을 추가하려면 Cryostatextend 명령을 사용합니다. Cryo stat extend 명령은 하나 이상의 사용 가능한 물리 볼륨을 추가하여 볼륨 그룹의 용량을 늘립니다.
다음 명령은 물리 볼륨
/dev/sdf1 을 볼륨 그룹 Cryostat 1에 추가합니다.
vgextend vg1 /dev/sdf1
# vgextend vg1 /dev/sdf1
4.3.5. 볼륨 그룹 표시 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 볼륨 그룹의 속성을 표시하는 데 사용할 수 있는 명령은 두 가지가 있습니다. protects 및 Cryostat display .
모든 디스크를 볼륨 그룹으로 스캔하고 LVM 캐시 파일을 다시 빌드하는 Cryostatscan 명령도 볼륨 그룹을 표시합니다. Cryostatscan 명령에 대한 자세한 내용은 4.3.6절. “볼륨 그룹용 디스크 스캔에서 캐시 파일 빌드” 을 참조하십시오.
Cryo stats 명령은 볼륨 그룹 정보를 구성 가능한 형식으로 제공하여 볼륨 그룹당 한 행을 표시합니다. Cryostats 명령은 많은 형식 제어를 제공하며 스크립팅에 유용합니다. output을 사용자 지정하는 방법에 대한 자세한 내용은 4.8절. “LVM에 대한 사용자 정의 보고” 을 참조하십시오.
Cryo stat display 명령은 볼륨 그룹 속성(예: 크기, 확장 영역, 물리 볼륨 수 등)을 고정된 형식으로 표시합니다. 다음 예제에서는 볼륨 그룹
new_vg 에 대한 Cryostatdisplay 명령의 출력을 보여줍니다. 볼륨 그룹을 지정하지 않으면 기존 볼륨 그룹이 모두 표시됩니다.
4.3.6. 볼륨 그룹용 디스크 스캔에서 캐시 파일 빌드 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Cryo stats can 명령은 LVM 물리 볼륨 및 볼륨 그룹을 찾는 시스템에서 지원되는 모든 디스크 장치를 검사합니다. 이렇게 하면 현재 LVM 장치 목록을 유지 관리하는
/etc/lvm/cache/.cache 파일에 LVM 캐시 파일이 빌드됩니다.
LVM은 시스템 시작 시 및 LVM 작업 중 LVM 작업 중 또는 LVM이 불일치 를 감지하는 경우와 같이 LVM을 자동으로 실행합니다.
참고
하드웨어 구성을 변경하고 노드에서 장치를 추가하거나 삭제할 때 Cryostatscan 명령을 수동으로 실행하여 시스템 부팅 시 존재하지 않은 시스템에 새 장치를 표시해야 할 수 있습니다. 예를 들어 SAN의 시스템에 새 디스크를 추가하거나 물리 볼륨으로 레이블이 지정된 새 디스크를 핫플러그하는 경우 이 작업이 필요할 수 있습니다.
/etc/lvm/lvm.conf 파일에 필터를 정의하여 특정 장치를 방지하도록 검사를 제한할 수 있습니다. 필터를 사용하여 스캔할 장치를 제어하는 방법에 대한 자세한 내용은 4.5절. “필터를 사용하여 LVM 장치 스캔 제어” 을 참조하십시오.
다음 예제에서는 Cryostatscan 명령 의 출력을 보여줍니다.
vgscan Reading all physical volumes. This may take a while... Found volume group "new_vg" using metadata type lvm2 Found volume group "officevg" using metadata type lvm2
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "new_vg" using metadata type lvm2
Found volume group "officevg" using metadata type lvm2
4.3.7. 볼륨 그룹에서 물리 볼륨 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹에서 사용되지 않는 물리 볼륨을 제거하려면 Cryostatreduce 명령을 사용합니다. Cryo stat reduce 명령은 하나 이상의 빈 물리 볼륨을 제거하여 볼륨 그룹의 용량을 줄입니다. 이렇게 하면 해당 물리 볼륨을 다른 볼륨 그룹에서 사용하거나 시스템에서 제거할 수 있습니다.
볼륨 그룹에서 물리 볼륨을 제거하기 전에 pvdisplay 명령을 사용하여 논리 볼륨에서 물리 볼륨을 사용하지 않도록 할 수 있습니다.
물리 볼륨이 여전히 사용 중인 경우 pvmove 명령을 사용하여 데이터를 다른 물리 볼륨으로 마이그레이션해야 합니다. 그런 다음 Cryo stat reduce 명령을 사용하여 물리 볼륨을 제거합니다.
다음 명령은 볼륨 그룹
my_volume_group 에서 물리 볼륨 /dev/hda1 을 제거합니다.
vgreduce my_volume_group /dev/hda1
# vgreduce my_volume_group /dev/hda1
논리 볼륨에 실패한 물리 볼륨이 포함된 경우 해당 논리 볼륨을 사용할 수 없습니다. 볼륨 그룹에서 누락된 물리 볼륨을 제거하려면 누락된 물리 볼륨에 할당된 논리 볼륨이 없는 경우 volume group에서
--removemissing 매개변수를 사용할 수 있습니다.
실패하는 물리 볼륨에 미러 세그먼트 유형의 논리 볼륨의 미러 이미지가 포함된 경우, Cryostatreduce --removemissing --
mirror sonly --force 명령을 사용하여 미러 에서 해당 이미지를 제거할 수 있습니다. 이렇게 하면 물리 볼륨에서 미러 이미지인 논리 볼륨만 제거됩니다.
LVM 미러 장애 복구에 대한 자세한 내용은 6.2절. “LVM Mirror 실패에서 복구” 을 참조하십시오. 볼륨 그룹에서 손실된 물리 볼륨을 제거하는 방법에 대한 자세한 내용은 참조하십시오. 6.5절. “볼륨 그룹에서 손실된 물리 볼륨 제거”
4.3.8. 볼륨 그룹 활성화 및 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹을 생성하면 기본적으로 활성화됩니다. 즉, 해당 그룹의 논리 볼륨에 액세스할 수 있으며 변경될 수 있습니다.
볼륨 그룹을 비활성 상태로 만들어야 하므로 커널에 알 수 없는 다양한 상황이 있습니다. 볼륨 그룹을 비활성화하거나 활성화하려면 Cryostat change 명령의
-a (--available) 인수 를 사용합니다.
다음 예제에서는
my_volume_group 볼륨 그룹을 비활성화합니다.
vgchange -a n my_volume_group
# vgchange -a n my_volume_group
클러스터형 잠금이 활성화된 경우 한 노드 또는 'l'에서만 볼륨 그룹을 활성화 또는 비활성화하려면 'e'를 추가하여 로컬 노드에서만 볼륨 그룹을 활성화하거나/비활성화합니다. 단일 호스트 스냅샷이 있는 논리 볼륨은 한 노드에서만 사용할 수 있으므로 항상 독점적으로 활성화됩니다.
4.4.11절. “논리 볼륨 그룹의 매개 변수 변경” 에 설명된 대로 lvchange 명령을 사용하여 개별 논리 볼륨을 비활성화할 수 있습니다. 클러스터의 개별 노드에서 논리 볼륨을 활성화하는 방법에 대한 자세한 내용은 4.7절. “클러스터의 개별 노드에서 논리 볼륨 활성화” 을 참조하십시오.
4.3.9. 볼륨 그룹의 매개변수 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Cryo statchange 명령은 4.3.8절. “볼륨 그룹 활성화 및 비활성화” 에 설명된 대로 볼륨 그룹을 비활성화 및 활성화하는 데 사용됩니다. 이 명령을 사용하여 기존 볼륨 그룹의 여러 볼륨 그룹 매개변수를 변경할 수도 있습니다.
다음 명령은 볼륨 그룹의 최대 논리 볼륨 수를
128으로 변경합니다.
vgchange -l 128 /dev/vg00
# vgchange -l 128 /dev/vg00
Cryostatchange 명령을 사용하여 변경할 수 있는 볼륨 그룹 매개변수에 대한 설명은 Cryostat change (8) 도움말 페이지를 참조하십시오.
4.3.10. 볼륨 그룹 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨이 없는 볼륨 그룹을 제거하려면 Cryostat remove 명령을 사용합니다.
vgremove officevg Volume group "officevg" successfully removed
# vgremove officevg
Volume group "officevg" successfully removed
4.3.11. 볼륨 그룹 분할 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹의 물리 볼륨을 분할하고 새 볼륨 그룹을 만들려면 Cryostat split 명령을 사용합니다.
논리 볼륨은 볼륨 그룹 간에 분할할 수 없습니다. 기존의 각 논리 볼륨은 이전 또는 새 볼륨 그룹을 구성하는 물리 볼륨에 전적으로 있어야 합니다. 그러나 필요한 경우 pvmove 명령을 사용하여 강제로 분할할 수 있습니다.
다음 예제에서는 새 볼륨 그룹
smallvg 를 원래 볼륨 그룹 bigvg 에서 분할합니다.
vgsplit bigvg smallvg /dev/ram15 Volume group "smallvg" successfully split from "bigvg"
# vgsplit bigvg smallvg /dev/ram15
Volume group "smallvg" successfully split from "bigvg"
4.3.12. 볼륨 그룹 결합 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
두 개의 볼륨 그룹을 단일 볼륨 그룹으로 결합하려면 Cryostat merge 명령을 사용합니다. 볼륨의 물리 확장 크기가 같고 두 볼륨 그룹의 물리 및 논리 볼륨 요약이 대상 볼륨 그룹 제한에 적합한 경우 비활성 "소스" 볼륨을 활성 또는 "대상" 볼륨과 병합할 수 있습니다.
다음 명령은 비활성 볼륨 그룹
my_vg 를 활성 또는 비활성 볼륨 그룹 데이터베이스에 병합하여 자세한 런타임 정보를 제공합니다.
vgmerge -v databases my_vg
# vgmerge -v databases my_vg
4.3.13. 볼륨 그룹 메타데이터 백업 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvm.conf 파일에서 비활성화하지 않는 한 메타데이터 백업 및 아카이브는 볼륨 그룹 또는 논리 볼륨에 대한 모든 구성 변경 시 자동으로 생성됩니다. 기본적으로 메타데이터 백업은 /etc/lvm/backup 파일에 저장되고 메타데이터 아카이브는 /etc/lvm/archive 파일에 저장됩니다. Cryostat cfg backup 명령을 사용하여 /etc/lvm/backup 파일에 메타데이터를 수동으로 백업할 수 있습니다.
Cryo statcfgrestore 명령은 볼륨 그룹의 메타데이터를 아카이브에서 볼륨 그룹의 모든 물리 볼륨으로 복원합니다.
physical volume metadata를 복구하기 위해
Cryostatcfgrestore 명령을 사용하는 예는 6.3절. “물리 볼륨 메타데이터 복구” 를 참조하십시오.
4.3.14. 볼륨 그룹 이름 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Cryostat rename 명령을 사용하여 기존 볼륨 그룹의 이름을 바꿉니다.
다음 명령 중 하나는 기존 볼륨 그룹의 이름을
my_volume_group으로 변경합니다.
vgrename /dev/vg02 /dev/my_volume_group
# vgrename /dev/vg02 /dev/my_volume_group
vgrename vg02 my_volume_group
# vgrename vg02 my_volume_group
4.3.15. 다른 시스템으로 볼륨 그룹 이동 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
전체 LVM 볼륨 그룹을 다른 시스템으로 이동할 수 있습니다. 이 작업을 수행할 때 Cryostat export 및 Cryo statimport 명령을 사용하는 것이 좋습니다.
참고
Cryostat import 명령의
--force 인수를 사용할 수 있습니다. 이를 통해 누락된 물리 볼륨인 볼륨 그룹을 가져오고 나중에 Cryostatreduce --removemissing 명령을 실행할 수 있습니다.
Cryo statexport 명령을 사용하면 비활성 볼륨 그룹에 시스템에 액세스할 수 없으므로 물리 볼륨을 분리할 수 있습니다. Cryo statimport 명령을 사용하면 Cryostat export 명령으로 비활성화된 후 시스템에서 볼륨 그룹에 액세스할 수 있습니다.
한 시스템에서 다른 시스템으로 볼륨 그룹을 이동하려면 다음 단계를 수행합니다.
- 볼륨 그룹의 활성 볼륨의 파일에 액세스하는 사용자가 없는지 확인한 다음 논리 볼륨을 분리합니다.
- volume group의
-a n인수를 사용하여 볼륨 그룹을 비활성으로 표시하여 볼륨 그룹의 추가 활동을 방지합니다. - volumes export 명령을 사용하여 볼륨 그룹을 내보냅니다. 이렇게 하면 제거할 시스템에서 액세스할 수 없습니다.볼륨 그룹을 내보내면 다음 예와 같이 pvscan 명령을 실행할 때 물리 볼륨이 내보낸 볼륨 그룹에 있는 것으로 표시됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음에 시스템이 종료되면 볼륨 그룹을 구성하는 디스크를 분리하고 새 시스템에 연결할 수 있습니다. - 디스크가 새 시스템에 연결되면 Cryostat import 명령을 사용하여 볼륨 그룹을 가져와 새 시스템에서 액세스할 수 있도록 합니다.
- Cryostat change 명령의
-a y인수를 사용하여 볼륨 그룹을 활성화합니다. - 파일 시스템을 마운트하여 사용할 수 있도록 합니다.
4.3.16. 볼륨 그룹 디렉터리 다시 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹 디렉터리 및 논리 볼륨 특수 파일을 다시 생성하려면 Cryostat mknodes 명령을 사용합니다. 이 명령은 활성 논리 볼륨에 필요한
/dev 디렉토리에서 LVM2 특수 파일을 확인합니다. 누락된 특수 파일을 생성하고 사용되지 않은 파일을 제거합니다.
Cryostat mknodes 명령을 Cryostatscan 명령에 mk nodes 인수를 지정하여 통합할 수 있습니다.
4.4. 논리 볼륨 관리 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 논리 볼륨 관리의 다양한 측면을 수행하는 명령에 대해 설명합니다.
4.4.1. 선형 논리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨을 생성하려면 lvcreate 명령을 사용합니다. 논리 볼륨의 이름을 지정하지 않으면 기본 이름
lvol# 이 사용됩니다. 여기서 # 은 논리 볼륨의 내부 번호입니다.
논리 볼륨을 생성하면 논리 볼륨이 볼륨 그룹을 구성하는 물리 볼륨의 사용 가능한 확장 영역을 사용하여 볼륨 그룹에서 분할됩니다. 일반적으로 논리 볼륨은 기본 물리 볼륨에서 사용 가능한 공간을 차세대 방식으로 사용합니다. 논리 볼륨을 수정하면 물리 볼륨에서 공간을 확보 및 재할당합니다.
다음 명령은 볼륨 그룹 Cryostat
1 에 논리 볼륨 10GB를 생성합니다.
lvcreate -L 10G vg1
# lvcreate -L 10G vg1
논리 볼륨 크기의 기본 단위는 메가바이트입니다. 다음 명령은 볼륨 그룹
testvg 에 testlv 라는 1500 메가바이트 선형 논리 볼륨을 생성하여 블록 장치 /dev/testvg/testlv 를 생성합니다.
lvcreate -L 1500 -n testlv testvg
# lvcreate -L 1500 -n testlv testvg
다음 명령은 볼륨 그룹 Cryostat
0 의 사용 가능한 확장 영역에서 gfslv 라는 50GB 논리 볼륨을 생성합니다.
lvcreate -L 50G -n gfslv vg0
# lvcreate -L 50G -n gfslv vg0
lvcreate 명령의
-l 인수를 사용하여 Extent에서 논리 볼륨의 크기를 지정할 수 있습니다. 이 인수를 사용하여 관련 볼륨 그룹, 논리 볼륨 또는 물리 볼륨 세트의 크기 백분율을 지정할 수도 있습니다. %VG 접미사는 볼륨 그룹의 총 크기, %FREE 접미사인 %FREE는 볼륨 그룹의 나머지 여유 공간을 나타냅니다. %PVS 접미사는 지정된 물리 볼륨의 사용 가능한 공간을 나타냅니다. 스냅샷의 경우 크기는 %ORIGIN 접미사 (100%ORIGIN)를 사용하여 원본 논리 볼륨의 전체 크기의 백분율로 표시할 수 있습니다(0%ORIGIN은 전체 원본의 공간을 제공합니다). 백분율로 표시되는 경우 크기는 새 논리 볼륨의 논리 확장 영역 수에 대한 상한을 정의합니다. 새 LV의 정확한 논리 확장 영역 수는 명령이 완료될 때까지 결정되지 않습니다.
다음 명령은 볼륨 그룹
testvg 의 총 공간의 60 %를 사용하는 mylv 라는 논리 볼륨을 생성합니다.
lvcreate -l 60%VG -n mylv testvg
# lvcreate -l 60%VG -n mylv testvg
다음 명령은 볼륨 그룹
testvg 의 할당되지 않은 공간을 모두 사용하는 lv 라는 논리 볼륨을 생성합니다.
lvcreate -l 100%FREE -n yourlv testvg
# lvcreate -l 100%FREE -n yourlv testvg
lvcreate 명령의
-l 인수를 사용하여 전체 볼륨 그룹을 사용하는 논리 볼륨을 생성할 수 있습니다. 전체 볼륨 그룹을 사용하는 논리 볼륨을 생성하는 또 다른 방법은 "Total PE" 크기를 찾고 해당 결과를 lvcreate 명령에 대한 입력으로 사용하는 것입니다.
다음 명령은
testvg 라는 볼륨 그룹을 채우는 mylv 라는 논리 볼륨을 생성합니다.
vgdisplay testvg | grep "Total PE" Total PE 10230 lvcreate -l 10230 -n mylv testvg
# vgdisplay testvg | grep "Total PE"
Total PE 10230
# lvcreate -l 10230 -n mylv testvg
물리 볼륨을 제거해야 하는 경우 논리 볼륨을 만드는 데 사용되는 기본 물리 볼륨이 중요할 수 있으므로 논리 볼륨을 생성할 때 이러한 가능성을 고려해야 할 수 있습니다. 볼륨 그룹에서 물리 볼륨을 제거하는 방법에 대한 자세한 내용은 4.3.7절. “볼륨 그룹에서 물리 볼륨 제거” 을 참조하십시오.
볼륨 그룹의 특정 물리 볼륨에서 할당할 논리 볼륨을 만들려면 lvcreate 명령줄의 끝에 물리 볼륨 또는 볼륨을 지정합니다. 다음 명령은 물리 볼륨
/dev/sdg1 에서 할당된 testvg 볼륨 그룹에 testlv 라는 논리 볼륨을 생성합니다.
lvcreate -L 1500 -n testlv testvg /dev/sdg1
# lvcreate -L 1500 -n testlv testvg /dev/sdg1
논리 볼륨에 사용할 물리 볼륨의 확장 영역을 지정할 수 있습니다. 다음 예제는 볼륨 그룹
testvg 에서 0~24개의 물리 볼륨 /dev/sda1 의 물리 볼륨 /dev/sdb1의 물리 볼륨 /dev/sdb1 의 확장 영역 0에서 24까지의 선형 논리 볼륨을 생성합니다.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-24 /dev/sdb1:50-124
# lvcreate -l 100 -n testlv testvg /dev/sda1:0-24 /dev/sdb1:50-124
다음 예제에서는 0에서 25개의 물리 볼륨
/dev/sda1 중 25개까지의 선형 논리 볼륨을 생성한 다음 범위 100에서 논리 볼륨을 계속 실행합니다.
lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-
# lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-
논리 볼륨의 확장 영역을 할당하는 방법에 대한 기본 정책은 볼륨 그룹과 동일한 정책을 적용하는 을 상속합니다. 이러한 정책은 lvchange 명령을 사용하여 변경할 수 있습니다. 할당 정책에 대한 자세한 내용은 4.3.1절. “볼륨 그룹 만들기” 을 참조하십시오.
4.4.2. 스트립된 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
순차 읽기 및 쓰기의 경우 줄인 논리 볼륨을 생성하면 데이터 I/O의 효율성을 향상시킬 수 있습니다. 스트라이핑된 볼륨에 대한 일반적인 내용은 2.3.2절. “제거된 논리 볼륨” 을 참조하십시오.
제거된 논리 볼륨을 생성할 때 lvcreate 명령의
-i 인수를 사용하여 스트라이프 수를 지정합니다. 이를 통해 논리 볼륨의 물리 볼륨 수가 결정됩니다. 스트라이프 수는 볼륨 그룹의 물리 볼륨 수보다 클 수 없습니다( --alloc을 임의의 인수가 사용되지 않는 한).
스트라이핑된 논리 볼륨을 구성하는 기본 물리 장치가 크기가 다른 경우 스트립된 볼륨의 최대 크기는 가장 작은 기본 장치에 의해 결정됩니다. 예를 들어 두 개의 분할된 스트라이프에서 최대 크기는 작은 장치의 두 배 크기입니다. 3개의 분할된 스트라이프에서 최대 크기는 가장 작은 장치의 3배 크기입니다.
다음 명령은 2개의 물리 볼륨에 걸쳐 스트라이핑된 논리 볼륨을 64킬로바이트로 만듭니다. 논리 볼륨의 크기는 50GB이며
gfslv 라는 이름이 지정되며 볼륨 그룹 Cryostat 0에서 제거됩니다.
lvcreate -L 50G -i 2 -I 64 -n gfslv vg0
# lvcreate -L 50G -i 2 -I 64 -n gfslv vg0
linear 볼륨과 마찬가지로 스트라이프에 사용하는 물리 볼륨의 확장 영역을 지정할 수 있습니다. 다음 명령은 두 개의 물리 볼륨에서 스트라이핑된 볼륨 100 확장 영역의 크기를
스트라이프 라고 하며 볼륨 그룹 testvg 에 있습니다. 스트라이프는 /dev/sda1 의 섹터 0-49를 사용하고 /dev/sdb1 의 50-99 섹터를 사용합니다.
lvcreate -l 100 -i 2 -n stripelv testvg /dev/sda1:0-49 /dev/sdb1:50-99 Using default stripesize 64.00 KB Logical volume "stripelv" created
# lvcreate -l 100 -i 2 -n stripelv testvg /dev/sda1:0-49 /dev/sdb1:50-99
Using default stripesize 64.00 KB
Logical volume "stripelv" created
4.4.3. RAID 논리 볼륨 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM은 RAID0/1/4/5/6/10을 지원합니다.
참고
RAID 논리 볼륨은 클러스터가 인식되지 않습니다. RAID 논리 볼륨은 한 컴퓨터에서만 생성하고 활성화할 수 있지만 두 개 이상의 컴퓨터에서 동시에 활성화할 수 없습니다. 비독점 미러링 볼륨이 필요한 경우 4.4.4절. “미러링된 볼륨 생성” 에 설명된 대로
미러 세그먼트 유형으로 볼륨을 생성해야 합니다.
RAID 논리 볼륨을 생성하려면 raid 유형을 lvcreate 명령의
--type 인수로 지정합니다. 표 4.1. “RAID segment 유형” 가능한 RAID 세그먼트 유형을 설명합니다.
| 세그먼트 유형 | 설명 | ||
|---|---|---|---|
raid1 | RAID1 미러링. 이는 -m 을 지정할 때 lvcreate 명령의 --type 인수의 기본값이지만 스트라이핑은 지정하지 않습니다. | ||
raid4 | RAID4 전용 패리티 디스크 | ||
raid5 | raid5_ls와 동일합니다. | ||
raid5_la |
| ||
raid5_ra |
| ||
raid5_ls |
| ||
raid5_rs |
| ||
raid6 | raid6_zr와 동일 | ||
raid6_zr |
| ||
raid6_nr |
| ||
raid6_nc |
| ||
raid10 |
| ||
raid0/raid0_meta (Red Hat Enterprise Linux 7.3 이상) | 스트라이핑. RAID0은 스트라이프 크기 단위로 여러 데이터 하위 볼륨에 논리 볼륨 데이터를 분산합니다. 이는 성능을 향상시키는 데 사용됩니다. 데이터 하위 볼륨에 오류가 발생하면 논리 볼륨 데이터가 손실됩니다. RAID0 볼륨 생성에 대한 자세한 내용은 4.4.3.1절. “RAID0 볼륨 생성(Red Hat Enterprise Linux 7.3 및 later)” 을 참조하십시오. |
대부분의 사용자에게 사용 가능한 5가지 기본 유형(
raid1,raid4,raid5,raid6,raid10) 중 하나를 지정하면 됩니다.
RAID 논리 볼륨을 생성할 때 LVM은 배열의 모든 데이터 또는 패리티 하위 볼륨에 대해 하나의 크기인 메타데이터 하위 볼륨을 생성합니다. 예를 들어 2방향 RAID1 배열을 생성하면 두 개의 메타데이터 하위 볼륨(
lv_rmeta_0 및 lv_rmeta_1)과 두 개의 데이터 하위 볼륨(lv_rimage_0 및 lv_rimage_1)이 생성됩니다. 마찬가지로 3방향 스트라이프(1 암시적 패리티 장치 추가) RAID4를 생성하면 4개의 메타데이터 하위 볼륨(lv_rmeta_0,lv_rmeta _2, lv_rmeta_3) 및 4 데이터 하위 볼륨(lv_rimage_0 )이 생성됩니다. lv_rimage_1,lv_rimage_2, lv_rimage_3).
다음 명령은 볼륨 그룹
my_vg 에 1기가바이트인 my_lv 라는 2방향 RAID1 배열을 생성합니다.
lvcreate --type raid1 -m 1 -L 1G -n my_lv my_vg
# lvcreate --type raid1 -m 1 -L 1G -n my_lv my_vg
-m 인수에 대해 지정하는 값에 따라 다른 사본 수를 사용하여 RAID1 배열을 생성할 수 있습니다. 마찬가지로 -i 인수를 사용하여 RAID 4/5/6 논리 볼륨의 스트라이프 수를 지정합니다. -I 인수를 사용하여 스트라이프 크기를 지정할 수도 있습니다.
다음 명령은 볼륨 그룹
my_vg 에서 이름이 my_lv 인 RAID5 배열(+1 암시적 패리티 드라이브)을 1기가바이트 단위로 생성합니다. LVM 스트라이핑 볼륨에 대해 수행하는 것처럼 스트라이프 수를 지정합니다. 올바른 패리티 드라이브 수가 자동으로 추가됩니다.
lvcreate --type raid5 -i 3 -L 1G -n my_lv my_vg
# lvcreate --type raid5 -i 3 -L 1G -n my_lv my_vg
다음 명령은 1 기가바이트 크기의 볼륨 그룹
my_vg 에 my_lv 라는 RAID6 배열 (3 스트라이프 + 2 암시적 패리티 드라이브)을 생성합니다.
lvcreate --type raid6 -i 3 -L 1G -n my_lv my_vg
# lvcreate --type raid6 -i 3 -L 1G -n my_lv my_vg
LVM을 사용하여 RAID 논리 볼륨을 생성한 후 다른 LVM 논리 볼륨과 마찬가지로 볼륨을 활성화, 변경, 제거, 표시 및 사용할 수 있습니다.
RAID10 논리 볼륨을 생성할 때
동기화 작업으로 논리 볼륨을 초기화하는 데 필요한 배경 I/O는 특히 많은 RAID 논리 볼륨을 생성할 때 볼륨 그룹 메타데이터 업데이트와 같은 LVM 장치에 대한 다른 I/O 작업을 충돌할 수 있습니다. 이로 인해 다른 LVM 작업이 느려질 수 있습니다.
복구 제한을 구현하여 RAID 논리 볼륨이 초기화되는 속도를 제어할 수 있습니다. lvcreate 명령의
--minrecoveryrate 및 --maxrecoveryrate 옵션을 사용하여 해당 작업의 최소 및 최대 I/O 속도를 설정하여 동기화 작업이 수행되는 속도를 제어합니다. 이러한 옵션을 다음과 같이 지정합니다.
--maxrecoveryrate 속도[bBsSkKmMgG]RAID 논리 볼륨의 최대 복구 속도를 설정하여 nominal I/O 작업을 대규모로 설정하지 않도록 합니다. Rate 는 배열의 각 장치에 대한 초당 양으로 지정됩니다. 접미사가 제공되지 않으면 kiB/sec/device로 가정합니다. 복구 속도를 0으로 설정하면 바인딩되지 않음을 의미합니다.--minrecoveryrate 속도[bBsSkKmMgG]RAID 논리 볼륨의 최소 복구 속도를 설정하여동기화작업의 I/O가 무분별 I/O가 있는 경우에도 최소 처리량을 확보합니다. Rate 는 배열의 각 장치에 대한 초당 양으로 지정됩니다. 접미사가 제공되지 않으면 kiB/sec/device로 가정합니다.
다음 명령은 최대 128 kiB/sec/device의 최대 복구 속도로 크기가 10GB인 3개의 스트라이프를 사용하여 2방향 RAID10 배열을 생성합니다. 배열의 이름은
my_lv 이며 볼륨 그룹 my_vg 에 있습니다.
lvcreate --type raid10 -i 2 -m 1 -L 10G --maxrecoveryrate 128 -n my_lv my_vg
# lvcreate --type raid10 -i 2 -m 1 -L 10G --maxrecoveryrate 128 -n my_lv my_vg
RAID 스크럽 작업에 대한 최소 및 최대 복구 속도를 지정할 수도 있습니다. RAID 스크럽링에 대한 자세한 내용은 4.4.3.11절. “RAID 논리 볼륨 삭제” 을 참조하십시오.
참고
LVM RAID Calculator 애플리케이션을 사용하여 RAID 스토리지에 논리 볼륨을 생성하는 명령을 생성할 수 있습니다. 이 애플리케이션은 현재 또는 계획된 스토리지에 대해 입력한 정보를 사용하여 이러한 명령을 생성합니다. LVM RAID 계산기 애플리케이션은 https://access.redhat.com/labs/lvmraidcalculator/ 에서 확인할 수 있습니다.
다음 섹션에서는 LVM RAID 장치에서 수행할 수 있는 관리 작업에 대해 설명합니다.
4.4.3.1. RAID0 볼륨 생성(Red Hat Enterprise Linux 7.3 및 later) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
RAID0 볼륨을 생성하는 명령의 형식은 다음과 같습니다.
lvcreate --type raid0[_meta] --stripes Stripes --stripesize StripeSize VolumeGroup [PhysicalVolumePath ...]
lvcreate --type raid0[_meta] --stripes Stripes --stripesize StripeSize VolumeGroup [PhysicalVolumePath ...]
| 매개변수 | 설명 |
|---|---|
--type raid0[_meta] | raid0 을 지정하면 메타데이터 볼륨 없이 RAID0 볼륨이 생성됩니다. raid0_meta 를 지정하면 메타데이터 볼륨이 포함된 RAID0 볼륨이 생성됩니다. RAID0은 비현실적이므로 미러링된 데이터 블록을 RAID1/10으로 저장하거나 패리티 블록을 RAID4/5/6으로 계산 및 저장할 필요가 없습니다. 따라서 미러링된 또는 패리티 블록의 재동기화 진행 상황에 대한 상태를 유지하기 위해 메타데이터 볼륨이 필요하지 않습니다. 그러나 RAID0에서 RAID4/5/6/10으로의 변환에 메타데이터 볼륨이 필요하며, raid0_meta 를 지정하면 각 할당 실패를 방지하기 위해 해당 메타데이터 볼륨을 사전 할당해야 합니다. |
--stripes Stripes | 논리 볼륨을 분산할 장치 수를 지정합니다. |
--stripesize StripeSize | 각 스트라이프의 크기를 킬로바이트로 지정합니다. 이는 다음 장치로 이동하기 전에 하나의 장치에 기록된 데이터 양입니다. |
VolumeGroup | 사용할 볼륨 그룹을 지정합니다. |
PhysicalVolumePath ... | 사용할 장치를 지정합니다. 이 값을 지정하지 않으면 LVM에서 각 스트라이프에 하나씩 Stripes 옵션으로 지정된 장치 수를 선택합니다. |
4.4.3.2. 선형 장치를 RAID 장치로 변환 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvconvert 명령의
--type 인수를 사용하여 기존 선형 논리 볼륨을 RAID 장치로 변환할 수 있습니다.
다음 명령은 볼륨 그룹
my_vg 의 선형 논리 볼륨 my_lv 를 2방향 RAID1 배열로 변환합니다.
lvconvert --type raid1 -m 1 my_vg/my_lv
# lvconvert --type raid1 -m 1 my_vg/my_lv
RAID 논리 볼륨은 메타데이터 및 데이터 하위 볼륨 쌍으로 구성되기 때문에 선형 장치를 RAID1 배열로 변환할 때 새 메타데이터 하위 볼륨이 생성되고 선형 볼륨이 있는 동일한 물리 볼륨에 있는 원본 논리 볼륨과 연결됩니다. 추가 이미지는 metadata/data 하위 볼륨 쌍에 추가됩니다. 예를 들어 원본 장치가 다음과 같은 경우For example, if the original device is as follows:
lvs -a -o name,copy_percent,devices my_vg LV Copy% Devices my_lv /dev/sde1(0)
# lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices
my_lv /dev/sde1(0)
2방향 RAID1 배열로 변환된 후 장치에는 다음 데이터 및 메타데이터 하위 볼륨 쌍이 포함됩니다.
원래 논리 볼륨과 쌍을 동일한 물리 볼륨에 배치할 수 없는 메타데이터 이미지를 동일한 물리 볼륨에 배치할 수 없는 경우 lvconvert 가 실패합니다.
4.4.3.3. LVM RAID1 논리 볼륨을 LVM 선형 논리 볼륨으로 변환 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
-m0 인수를 지정하여 lvconvert 명령을 사용하여 기존 RAID1 LVM 논리 볼륨을 LVM 선형 논리 볼륨으로 변환할 수 있습니다. 이렇게 하면 RAID 데이터 하위 볼륨과 RAID 배열을 구성하는 모든 RAID 메타데이터 하위 볼륨이 제거되고 최상위 RAID1 이미지를 선형 논리 볼륨으로 유지합니다.
다음 예에서는 기존 LVM RAID1 논리 볼륨을 표시합니다.
다음 명령은 LVM RAID1 논리 볼륨
my_vg/my_lv 를 LVM 선형 장치로 변환합니다.
lvconvert -m0 my_vg/my_lv lvs -a -o name,copy_percent,devices my_vg LV Copy% Devices my_lv /dev/sde1(1)
# lvconvert -m0 my_vg/my_lv
# lvs -a -o name,copy_percent,devices my_vg
LV Copy% Devices
my_lv /dev/sde1(1)
LVM RAID1 논리 볼륨을 LVM 선형 볼륨으로 변환할 때 제거할 물리 볼륨을 지정할 수 있습니다. 다음 예제에서는
/dev/sda1 및 /dev/sdb1 의 두 이미지로 구성된 LVM RAID1 논리 볼륨의 레이아웃을 보여줍니다. 이 예에서 lvconvert 명령은 /dev/sda1 을 제거하고 /dev/sdb1 을 선형 장치를 구성하는 물리 볼륨으로 남겨 둡니다.
4.4.3.4. 미러링된 LVM 장치를 RAID1 장치로 변환 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
세그먼트 유형의
미러 를 사용하여 기존 미러링된 LVM 장치를 --type raid1 인수를 지정하여 lvconvert 명령을 사용하여 RAID1 LVM 장치로 변환할 수 있습니다. 미러 하위 볼륨(*_mimage_*)의 이름을 RAID 하위 볼륨(*_rimage_*)으로 변경합니다. 또한 미러 로그가 제거되고 해당 데이터 하위 볼륨과 동일한 물리 볼륨의 데이터 하위 볼륨에 대해 메타데이터 하위 볼륨(*_rmeta_*)이 생성됩니다.
다음 예제에서는 미러링된 논리 볼륨
my_vg/my_lv 의 레이아웃을 보여줍니다.
다음 명령은 미러링된 논리 볼륨
my_vg/my_lv 를 RAID1 논리 볼륨으로 변환합니다.
4.4.3.5. RAID 논리 볼륨 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음과 같은 방법으로 RAID 논리 볼륨의 크기를 조정할 수 있습니다.
- lvresize 또는 lvextend 명령을 사용하여 모든 유형의 RAID 논리 볼륨의 크기를 늘릴 수 있습니다. 이는 RAID 이미지 수를 변경하지 않습니다. 스트라이핑 RAID 논리 볼륨의 경우 스트라이프 RAID 논리 볼륨을 만들 때와 동일한 스트라이프 반올림 제약 조건이 적용됩니다. RAID 볼륨 확장에 대한 자세한 내용은 4.4.18절. “RAID 볼륨 확장” 을 참조하십시오.
- lvresize 또는 lvreduce 명령을 사용하여 모든 유형의 RAID 논리 볼륨의 크기를 줄일 수 있습니다. 이는 RAID 이미지 수를 변경하지 않습니다. lvextend 명령과 마찬가지로 스트라이프 라운드링 제약 조건은 스트라이프 RAID 논리 볼륨을 생성할 때와 동일합니다. 논리 볼륨 크기를 줄이는 명령의 예는 4.4.16절. “논리 볼륨 축소” 를 참조하십시오.
- Red Hat Enterprise Linux 7.4에서는 lvconvert 명령의
--stripes N매개변수를 사용하여 스트라이핑된 RAID 논리 볼륨(raid4/5/6/10)의 스트라이프 수를 변경할 수 있습니다. 이렇게 하면 스트라이프가 추가되거나 제거된 용량으로 RAID 논리 볼륨의 크기가 늘어나거나 줄어듭니다.raid10볼륨은 스트라이프만 추가할 수 있습니다. 이 기능은 RAID 논리 볼륨의 속성을 변경하는 동시에 동일한 RAID 수준을 유지할 수 있는 RAID reshaping 기능의 일부입니다. lvconvert 명령을 사용하여 RAID 논리 볼륨을 재구성하는 RAID 리셰이핑 및 예제에 대한 자세한 내용은 lvmraid(7) 도움말 페이지를 참조하십시오.
4.4.3.6. 기존 RAID1 장치의 이미지 수 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
기존 RAID1 어레이의 이미지 수를 이전의 LVM 미러링 구현의 이미지 수를 변경할 수 있는 것처럼 변경할 수 있습니다. lvconvert 명령을 사용하여 추가 또는 제거할 추가 메타데이터/데이터 하위 볼륨 쌍 수를 지정합니다. 이전 LVM 미러링 구현에서 볼륨 구성을 변경하는 방법에 대한 자세한 내용은 4.4.4.4절. “미러링된 볼륨 구성 변경” 을 참조하십시오.
lvconvert 명령을 사용하여 RAID1 장치에 이미지를 추가하는 경우 결과 장치의 총 이미지 수를 지정하거나 장치에 추가할 이미지 수를 지정할 수 있습니다. 선택적으로 새 메타데이터/데이터 이미지 쌍이 있는 물리 볼륨을 지정할 수도 있습니다.
메타데이터 하위 볼륨(
*_rmeta_*)은 항상 데이터 하위 볼륨 *_rimage_*과 동일한 물리적 장치에 존재합니다. metadata/data 하위 볼륨 쌍은 RAID 배열의 다른 metadata/data 하위 볼륨 쌍과 동일한 물리 볼륨에 생성되지 않습니다(여기서 --alloc을 지정하지 않는 경우).
RAID1 볼륨에 이미지를 추가하는 명령의 형식은 다음과 같습니다.
lvconvert -m new_absolute_count vg/lv [removable_PVs] lvconvert -m +num_additional_images vg/lv [removable_PVs]
lvconvert -m new_absolute_count vg/lv [removable_PVs]
lvconvert -m +num_additional_images vg/lv [removable_PVs]
예를 들어 다음 명령은 2방향 RAID1 배열인
my_vg/my_lv 장치를 표시합니다.
다음 명령은 2방향 RAID1 장치
my_vg/my_lv 를 3방향 RAID1 장치로 변환합니다.
RAID1 배열에 이미지를 추가할 때 이미지에 사용할 물리 볼륨을 지정할 수 있습니다. 다음 명령은 2방향 RAID1 장치
my_vg/my_lv 를 3방향 RAID1 장치로 변환하여 배열에 물리 볼륨 /dev/sdd1 을 사용하도록 지정합니다.
RAID1 배열에서 이미지를 제거하려면 다음 명령을 사용합니다. lvconvert 명령을 사용하여 RAID1 장치에서 이미지를 제거하는 경우 결과 장치의 총 이미지 수를 지정하거나 장치에서 제거할 이미지 수를 지정할 수 있습니다. 선택적으로 장치를 제거할 물리 볼륨을 지정할 수도 있습니다.
lvconvert -m new_absolute_count vg/lv [removable_PVs] lvconvert -m -num_fewer_images vg/lv [removable_PVs]
lvconvert -m new_absolute_count vg/lv [removable_PVs]
lvconvert -m -num_fewer_images vg/lv [removable_PVs]
또한 이미지 및 관련 metadata 하위 볼륨이 제거되면 번호가 높은 이미지가 슬롯을 채우기 위해 축소됩니다.
lv_rimage_1 , lv_rimage_1 및 lv_rimage_ 2 로 구성된 3-way RAID1 배열에서 lv_rimage_1을 제거하면 lv_rimage_0 및 lv_rimage_1 로 구성된 RAID1 배열이 생성됩니다. 하위 볼륨 lv_rimage_2 는 이름이 변경되고 빈 슬롯을 대체하여 lv_rimage_1 이 됩니다.
다음 예제에서는 3-way RAID1 논리 볼륨
my_vg/my_lv 의 레이아웃을 보여줍니다.
다음 명령은 3-way RAID1 논리 볼륨을 2way RAID1 논리 볼륨으로 변환합니다.
다음 명령은 3방향 RAID1 논리 볼륨을 2방향 RAID1 논리 볼륨으로 변환하여
/dev/sde1 로 제거할 이미지가 포함된 물리 볼륨을 지정합니다.
4.4.3.7. RAID 이미지로부터 논리 볼륨 분리 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
RAID 논리 볼륨의 이미지를 분리하여 새 논리 볼륨을 형성할 수 있습니다. RAID 이미지를 분할하는 절차는 4.4.4.2절. “파티셔닝 Off aRedundant Image of a Mirrored Logical Volume” 에 설명된 대로 미러링된 논리 볼륨의 중복 이미지를 분할하는 절차와 동일합니다.
RAID 이미지를 분할하는 명령 형식은 다음과 같습니다.
lvconvert --splitmirrors count -n splitname vg/lv [removable_PVs]
lvconvert --splitmirrors count -n splitname vg/lv [removable_PVs]
기존 RAID1 논리 볼륨( 4.4.3.6절. “기존 RAID1 장치의 이미지 수 변경”에 설명된 대로)에서 RAID 이미지를 제거하는 경우와 마찬가지로 장치 중간에서 RAID 데이터 하위 볼륨(및 관련 metadata 하위 볼륨)을 제거하면 슬롯을 채우기 위해 더 높은 번호가 지정된 이미지가 축소됩니다. 따라서 RAID 배열을 구성하는 논리 볼륨의 인덱스 번호는 잘못된 정수 시퀀스입니다.
참고
RAID1 배열이 아직 동기화되지 않은 경우 RAID 이미지를 분할할 수 없습니다.
다음 예제에서는 2방향 RAID1 논리 볼륨인
my_lv 를 두 개의 선형 논리 볼륨인 my_lv 및 new 로 나눕니다.
다음 예제에서는 3방향 RAID1 논리 볼륨인
my_lv 를 2방향 RAID1 논리 볼륨, my_lv 및 선형 논리 볼륨, new로 분할합니다.
4.4.3.8. RAID 이미지 분할 및 병합 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvconvert 명령의
--splitmirrors 인수와 함께 --trackchanges 인수를 사용하여 변경 사항을 추적하는 동안 읽기 전용 사용을 위해 RAID1 배열의 이미지를 일시적으로 분할할 수 있습니다. 이렇게 하면 이미지를 나중에 배열에 다시 병합하고 이미지가 분할된 이후 변경된 배열의 부분만 다시 동기화할 수 있습니다.
RAID 이미지를 분할하는 lvconvert 명령의 형식은 다음과 같습니다.
lvconvert --splitmirrors count --trackchanges vg/lv [removable_PVs]
lvconvert --splitmirrors count --trackchanges vg/lv [removable_PVs]
--trackchanges 인수를 사용하여 RAID 이미지를 분할하면 분할할 이미지를 지정할 수 있지만 분할할 볼륨 이름은 변경할 수 없습니다. 또한 결과 볼륨에는 다음과 같은 제약 조건이 있습니다.
- 만든 새 볼륨은 읽기 전용입니다.
- 새 볼륨의 크기를 조정할 수 없습니다.
- 나머지 배열의 이름을 변경할 수 없습니다.
- 나머지 배열은 조정할 수 없습니다.
- 새 볼륨과 나머지 배열을 독립적으로 활성화할 수 있습니다.
--merge 인수와 함께 후속 lvconvert 명령을 실행하여 지정된
--trackchanges 인수와 함께 분할된 이미지를 병합할 수 있습니다. 이미지를 병합할 때 이미지가 분할된 이후 변경된 배열의 부분만 다시 동기화됩니다.
RAID 이미지를 병합하는 lvconvert 명령의 형식은 다음과 같습니다.
lvconvert --merge raid_image
lvconvert --merge raid_image
다음 예제에서는 RAID1 논리 볼륨을 생성한 다음 나머지 배열로 변경 사항을 추적하면서 해당 볼륨에서 이미지를 분할합니다.
다음 예제에서는 RAID1 볼륨에서 이미지를 분할하고 나머지 배열에 변경 사항을 추적한 다음 볼륨을 다시 배열에 병합합니다.
RAID1 볼륨에서 이미지를 분할한 후에는 두 번째 lvconvert --splitmirrors 명령을 실행하여
--trackchanges 인수를 지정하지 않고 이미지를 분할하는 초기 lvconvert 명령을 반복하여 분할을 영구적으로 만들 수 있습니다. 이렇게 하면 --trackchanges 인수가 생성된 링크가 중단됩니다.
--trackchanges 인수로 이미지를 분할한 후에는 추적 중인 이미지를 영구적으로 분할하지 않으려면 해당 배열에서 후속 lvconvert --splitmirrors 명령을 실행할 수 없습니다.
다음 명령 시퀀스는 이미지를 분할하고 이미지를 추적한 다음 추적 중인 이미지를 영구적으로 분할합니다.
그러나 다음 명령 시퀀스는 실패합니다.
마찬가지로 분할 이미지가 추적 중인 이미지가 아니므로 다음 명령 순서도 실패합니다.
4.4.3.9. RAID 오류 정책 설정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM RAID는
lvm.conf 파일의 raid_fault_policy 필드에 정의된 기본 설정에 따라 장치 오류를 자동으로 처리합니다.
raid_fault_policy필드가allocate로 설정된 경우 시스템은 볼륨 그룹의 예비 장치로 실패한 장치를 대체하려고 합니다. 사용 가능한 예비 장치가 없으면 시스템 로그에 보고됩니다.raid_fault_policy필드가warn로 설정된 경우 시스템은 경고를 생성하고 로그는 장치가 실패했음을 나타냅니다. 이를 통해 사용자는 수행할 작업 과정을 결정할 수 있습니다.
사용성을 지원하기에 충분한 장치가 남아 있는 경우 RAID 논리 볼륨이 계속 작동합니다.
4.4.3.9.1. RAID Fault 정책 할당 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서
raid_fault_policy 필드가 lvm.conf 파일에 할당 하도록 설정되어 있습니다. RAID 논리 볼륨은 다음과 같이 표시됩니다.
/dev/sde 장치가 실패하면 시스템 로그에 오류 메시지가 표시됩니다.
raid_fault_policy 필드가 allocate 로 설정되었으므로 실패한 장치가 볼륨 그룹의 새 장치로 교체됩니다.
실패한 장치를 교체했지만 디스플레이는 LVM에서 실패한 장치를 찾을 수 없음을 나타냅니다. 이는 실패한 장치가 RAID 논리 볼륨에서 제거되었지만 아직 실패한 장치가 볼륨 그룹에서 제거되지 않았기 때문입니다. 볼륨 그룹에서 실패한 장치를 제거하려면 Cryostatreduce --removemissing VG를 실행할 수 있습니다.
raid_fault_policy 를 allocate 로 설정했지만 예비 장치가 없는 경우 할당이 실패하고 논리 볼륨을 그대로 둡니다. 할당이 실패하면 드라이브를 수정한 다음 논리 볼륨을 비활성화 및 활성화하는 옵션이 있습니다. 이는 4.4.3.9.2절. “warn RAID Fault Policy” 에 설명되어 있습니다. 또는 4.4.3.10절. “RAID 장치 교체” 에 설명된 대로 실패한 장치를 교체할 수 있습니다.
4.4.3.9.2. warn RAID Fault Policy 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서
raid_fault_policy 필드가 lvm.conf 파일에서 warn 로 설정되어 있습니다. RAID 논리 볼륨은 다음과 같이 표시됩니다.
/dev/sdh 장치가 실패하면 시스템 로그에 오류 메시지가 표시됩니다. 그러나 이 경우 LVM에서 이미지 중 하나를 교체하여 RAID 장치를 자동으로 복구하지 않습니다. 대신 장치가 실패한 경우 다음과 같이 장치를 lvconvert 명령의 --repair 인수로 교체할 수 있습니다.
실패한 장치를 교체했지만 디스플레이는 LVM에서 실패한 장치를 찾을 수 없음을 나타냅니다. 이는 실패한 장치가 RAID 논리 볼륨에서 제거되었지만 아직 실패한 장치가 볼륨 그룹에서 제거되지 않았기 때문입니다. 볼륨 그룹에서 실패한 장치를 제거하려면 Cryostatreduce --removemissing VG를 실행할 수 있습니다.
장치 오류가 일시적인 오류이거나 실패한 장치를 복구할 수 있는 경우 lvchange 명령의
--refresh 옵션을 사용하여 실패한 장치의 복구를 시작할 수 있습니다. 이전에는 논리 볼륨을 비활성화한 다음 활성화해야 했습니다.
다음 명령은 논리 볼륨을 새로 고칩니다.
lvchange --refresh my_vg/my_lv
# lvchange --refresh my_vg/my_lv
4.4.3.10. RAID 장치 교체 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
RAID는 기존 LVM 미러링과 같지 않습니다. LVM 미러링을 제거하려면 실패한 장치를 제거하거나 미러링된 논리 볼륨이 중단되었습니다. RAID 배열은 실패한 장치로 계속 실행될 수 있습니다. 실제로 RAID1 이외의 RAID 유형의 경우 장치를 제거하는 것은 더 낮은 수준의 RAID(예: RAID6에서 RAID5로 또는 RAID4 또는 RAID5에서 RAID0)로 변환하는 것을 의미합니다. 따라서 실패한 장치를 무조건 제거하고 대체를 잠재적으로 할당하는 대신 LVM을 사용하면 lvconvert 명령의
--replace 인수를 사용하여 1단계 솔루션의 RAID 볼륨의 장치를 교체할 수 있습니다.
lvconvert --replace 의 형식은 다음과 같습니다.
lvconvert --replace dev_to_remove vg/lv [possible_replacements]
lvconvert --replace dev_to_remove vg/lv [possible_replacements]
다음 예제에서는 RAID1 논리 볼륨을 생성한 다음 해당 볼륨에서 장치를 교체합니다.
다음 예제에서는 RAID1 논리 볼륨을 생성한 다음 해당 볼륨에서 장치를 교체하는데 사용할 물리 볼륨을 지정합니다.
다음 예와 같이 여러 대체 인수를 지정하여 한 번에 두 개 이상의 RAID 장치를
교체할 수 있습니다.
참고
lvconvert --replace 명령을 사용하여 교체 드라이브를 지정하면 배열에 이미 사용된 드라이브의 추가 공간에서 교체 드라이브를 할당해서는 안 됩니다. 예를 들어
lv_rimage_0 및 lv_rimage_1 은 동일한 물리 볼륨에 있으면 안 됩니다.
4.4.3.11. RAID 논리 볼륨 삭제 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM은 RAID 논리 볼륨에 대한 스크럽 지원을 제공합니다. RAID 스크럽은 배열에서 모든 데이터 및 패리티 블록을 읽고 해당 블록이 일관된지 여부를 확인하는 프로세스입니다.
lvchange 명령의
--syncaction 옵션을 사용하여 RAID 스크럽 작업을 시작합니다. 검사 또는 복구 작업을 지정합니다. 검사 작업은 배열을 통과하여 배열의 불일치 수를 기록하지만 복구하지는 않습니다. 복구 작업은 찾기에 따라 불일치를 수정합니다.
RAID 논리 볼륨을 스크럽하는 명령 형식은 다음과 같습니다.
lvchange --syncaction {check|repair} vg/raid_lv
lvchange --syncaction {check|repair} vg/raid_lv
참고
lvchange --syncaction repair Cryostat /raid_lv 작업은 lv convert --repair Cryostat /raid_lv 작업과 동일한 기능을 수행하지 않습니다. lvchange --syncaction 복구 작업은 배열에서 백그라운드 동기화 작업을 시작합니다. lvconvert --repair 작업은 미러 또는 RAID 논리 볼륨에서 실패한 장치를 복구/수정하도록 설계되었습니다.
새로운 RAID scrubbing 작업을 지원하기 위해 lvs 명령은 이제
raid_sync_action 및 raid_mismatch_count 라는 두 개의 새 출력 가능한 필드를 지원합니다. 이러한 필드는 기본적으로 인쇄되지 않습니다. 이러한 필드를 표시하려면 다음과 같이 lv의 -o 매개변수를 사용하여 지정합니다.
lvs -o +raid_sync_action,raid_mismatch_count vg/lv
lvs -o +raid_sync_action,raid_mismatch_count vg/lv
raid_sync_action 필드에는 raid 볼륨이 수행 중인 현재 동기화 작업이 표시됩니다. 다음 값 중 하나일 수 있습니다.
idle: 모든 동기화 작업이 완료 (없음)Resync: 배열 초기화 또는 시스템 오류 후 복구- Replacing a device in the array
check: array inconsistencies 검색복구: 불일치를 찾고 복구
raid_mismatch_count 필드에는 검사 작업 중 발견된 불일치 수가 표시됩니다.
이제 lvs 명령의
Cpy%Sync 필드가 검사 및 복구를 포함하여 raid_sync_action 작업 진행 상황을 출력합니다.
lvs 명령 출력의
lv_attr 필드에는 RAID 스크러빙 작업을 지원하기 위한 추가 표시기가 제공됩니다. 이 필드의 비트 9는 논리 볼륨의 상태를 표시하며 이제 다음 지표를 지원합니다.
- (m)ismatches는 RAID 논리 볼륨에 불일치가 있음을 나타냅니다. 이 문자는 스크럽 작업이 RAID의 일부가 일관되지 않은 부분을 감지한 후에 표시됩니다.
- (R)efresh는 RAID 배열의 장치가 오류가 발생했음을 나타내며, 커널은 LVM이 장치 레이블을 읽고 장치를 작동할 것으로 간주하더라도 실패한 것으로 간주합니다. 논리 볼륨은 장치를 현재 사용할 수 있음을 알리는 (r)efreshed이거나 실패한 것으로 의심되는 경우 장치를 (r) 배치해야 합니다.
lvs 명령에 대한 자세한 내용은 4.8.2절. “오브젝트 표시 필드” 을 참조하십시오.
RAID 스크러블링 작업을 수행할 때
동기화 작업에 필요한 백그라운드 I/O는 볼륨 그룹 메타데이터 업데이트 등 LVM 장치에 대한 다른 I/O 작업을 크라우드할 수 있습니다. 이로 인해 다른 LVM 작업이 느려질 수 있습니다. 복구 제한 사항을 구현하여 RAID 논리 볼륨이 스크럽되는 속도를 제어할 수 있습니다.
lvchange 명령의
--minrecoveryrate 및 --maxrecoveryrate 옵션을 사용하여 해당 작업의 최소 및 최대 I/O 속도를 설정하여 동기화 작업이 수행되는 속도를 제어합니다. 이러한 옵션을 다음과 같이 지정합니다.
--maxrecoveryrate 속도[bBsSkKmMgG]RAID 논리 볼륨의 최대 복구 속도를 설정하여 nominal I/O 작업을 대규모로 설정하지 않도록 합니다. Rate 는 배열의 각 장치에 대한 초당 양으로 지정됩니다. 접미사가 제공되지 않으면 kiB/sec/device로 가정합니다. 복구 속도를 0으로 설정하면 바인딩되지 않음을 의미합니다.--minrecoveryrate 속도[bBsSkKmMgG]RAID 논리 볼륨의 최소 복구 속도를 설정하여동기화작업의 I/O가 무분별 I/O가 있는 경우에도 최소 처리량을 확보합니다. Rate 는 배열의 각 장치에 대한 초당 양으로 지정됩니다. 접미사가 제공되지 않으면 kiB/sec/device로 가정합니다.
4.4.3.12. RAID takeover(Red Hat Enterprise Linux 7.4 및 later) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM은 Raid takeover 를 지원하므로 RAID 논리 볼륨을 한 RAID 수준에서 다른 단계로 변환합니다(예: RAID 5에서 RAID 6으로). RAID 수준 변경은 일반적으로 장치 오류 또는 나머지 논리 볼륨에 대한 복원성을 늘리거나 줄이기 위해 수행됩니다. RAID takeover에 lvconvert 를 사용합니다. RAID에 대한 정보와 lvconvert 를 사용하여 RAID 논리 볼륨을 변환하는 예제는 lvmraid(7) 매뉴얼 페이지를 참조하십시오.
4.4.3.13. RAID 논리 볼륨 조정(Red Hat Enterprise Linux 7.4 및 later) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
RAID reshaping 은 동일한 RAID 수준을 유지하면서 RAID 논리 볼륨의 속성을 변경한다는 것을 의미합니다. 변경할 수 있는 일부 속성에는 RAID 레이아웃, 스트라이프 크기 및 스트라이프 수가 포함됩니다. lvconvert 명령을 사용하여 RAID 논리 볼륨을 재구성하는 RAID 리셰이핑 및 예제에 대한 자세한 내용은 lvmraid(7) 도움말 페이지를 참조하십시오.
4.4.3.14. RAID1 논리 볼륨에서 I/O 작업 제어 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvchange 명령의 --writemost 및
--write behind 매개변수를 사용하여 RAID1 논리 볼륨에서 장치의 I/O 작업을 제어할 수 있습니다. 이러한 매개 변수를 사용하는 형식은 다음과 같습니다.
--[raid]writemostly PhysicalVolume[:{t|y|n}]RAID1 논리 볼륨의 장치를대부분 쓰기로표시합니다. 이러한 드라이브에 대한 모든 읽기는 필요하지 않은 한 피할 수 있습니다. 이 매개 변수를 설정하면 I/O 작업 수를 드라이브에 최소로 유지합니다. 기본적으로write-mostly속성은 논리 볼륨에서 지정된 물리 볼륨에 대해 yes로 설정됩니다. 물리 볼륨에:n을 추가하거나:t를 지정하여 값을 전환하여write-mostly플래그를 제거할 수 있습니다.--writemostly인수는 단일 명령에서 두 번 이상 지정할 수 있으므로 논리 볼륨의 모든 물리 볼륨에 대해 가장 쓰기 특성을 한 번에 전환할 수 있습니다.--[RAID]writebehind IOCount가장 많이 쓰기로 표시된 RAID1 논리 볼륨의 장치에 허용되는 미해결쓰기의 최대 수를 지정합니다. 이 값을 초과하면 쓰기가 동기가 되어 배열이 쓰기가 완료되기 전에 구성 장치에 대한 모든 쓰기가 완료됩니다. 값을 0으로 설정하면 기본 설정이 지워지고 시스템에서 임의로 값을 선택할 수 있습니다.
4.4.3.15. RAID 논리 볼륨(Red Hat Enterprise Linux 7.4 이상)에서 지역 크기 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
RAID 논리 볼륨을 생성할 때 논리 볼륨의 영역 크기는
/etc/lvm/lvm.conf 파일의 raid_region_size 매개변수 값이 됩니다. 이 기본값을 lvcreate 명령의 -R 옵션으로 덮어쓸 수 있습니다.
RAID 논리 볼륨을 생성한 후에는 lvconvert 명령의
-R 옵션을 사용하여 볼륨의 영역 크기를 변경할 수 있습니다. 다음 예제에서는 논리 볼륨 Cryostat /raidlv 의 지역 크기를 4096K로 변경합니다. 영역 크기를 변경하려면 RAID 볼륨을 동기화해야 합니다.
lvconvert -R 4096K vg/raid1 Do you really want to change the region_size 512.00 KiB of LV vg/raid1 to 4.00 MiB? [y/n]: y Changed region size on RAID LV vg/raid1 to 4.00 MiB.
# lvconvert -R 4096K vg/raid1
Do you really want to change the region_size 512.00 KiB of LV vg/raid1 to 4.00 MiB? [y/n]: y
Changed region size on RAID LV vg/raid1 to 4.00 MiB.
4.4.4. 미러링된 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.0 릴리스의 경우 LVM은 4.4.3절. “RAID 논리 볼륨” 에 설명된 대로 RAID 1/4/5/6/10을 지원합니다. RAID 논리 볼륨은 클러스터가 인식되지 않습니다. RAID 논리 볼륨은 한 컴퓨터에서만 생성하고 활성화할 수 있지만 두 개 이상의 컴퓨터에서 동시에 활성화할 수 없습니다. 비독점 미러링 볼륨이 필요한 경우 이 섹션에 설명된 대로
미러 세그먼트 유형으로 볼륨을 생성해야 합니다.
참고
미러 의 세그먼트 유형으로 기존 LVM 장치를 RAID1 LVM 장치로 변환하는 방법에 대한 자세한 내용은 4.4.3.4절. “미러링된 LVM 장치를 RAID1 장치로 변환” 을 참조하십시오.
참고
클러스터에 미러링된 LVM 논리 볼륨을 생성하려면 단일 노드에서
미러 세그먼트 유형으로 미러링된 LVM 논리 볼륨을 생성하는 것과 동일한 명령 및 절차가 필요합니다. 그러나 클러스터에 미러링된 LVM 볼륨을 생성하려면 클러스터 및 클러스터 미러 인프라를 실행해야 하며 클러스터가 정족수화되어야 하며 lvm.conf 파일의 잠금 유형을 클러스터 잠금을 활성화하려면 올바르게 설정해야 합니다. 클러스터에 미러링된 볼륨을 생성하는 예는 5.5절. “클러스터에서 미러링된 LVM 논리 볼륨 생성” 를 참조하십시오.
클러스터의 여러 노드에서 빠르게 연속으로 여러 LVM 미러 생성 및 변환 명령을 실행하려고 하면 이러한 명령이 백포트될 수 있습니다. 이로 인해 요청된 일부 작업이 시간 초과되고 이후에 실패할 수 있습니다. 이 문제를 방지하려면 클러스터의 한 노드에서 클러스터 미러 생성 명령을 실행하는 것이 좋습니다.
미러링된 볼륨을 생성할 때 lvcreate 명령의
-m 인수를 사용하여 만들 데이터의 사본 수를 지정합니다. m1 을 지정하면 하나의 미러가 생성되며 파일 시스템의 두 복사본(lineline 논리 볼륨과 하나의 복사)을 생성합니다. 마찬가지로 -m2 를 지정하면 미러 두 개가 생성되어 파일 시스템의 복사본 3개가 생성됩니다.
다음 명령은 단일 미러를 사용하여 미러링된 논리 볼륨을 생성합니다. 볼륨은 크기가 50 기가바이트이며
mirrorlv 이며 볼륨 그룹>.< 0:에서 제거됩니다.
lvcreate --type mirror -L 50G -m 1 -n mirrorlv vg0
# lvcreate --type mirror -L 50G -m 1 -n mirrorlv vg0
LVM 미러는 복사 중인 장치를 기본적으로 512KB의 크기로 나눕니다. lvcreate 명령의
-R 인수를 사용하여 지역 크기를 메가바이트로 지정할 수 있습니다. lvm.conf 파일에서 mirror_region_size 설정을 편집하여 기본 영역 크기를 변경할 수도 있습니다.
참고
클러스터 인프라의 제한으로 인해 1.5TB보다 큰 클러스터 미러를 512KB의 기본 리전 크기로 생성할 수 없습니다. 더 큰 미러가 필요한 사용자는 지역 크기를 기본에서 더 큰 값으로 늘려야 합니다. 영역 크기를 늘리지 않으면 LVM 생성이 중단되고 다른 LVM 명령도 중단될 수 있습니다.
1.5TB보다 큰 미러의 영역 크기를 지정하기 위한 일반적인 지침으로 테라바이트에서 미러 크기를 가져와서 lvcreate 명령에
-R 인수로 사용하여 해당 수를 다음 2의 값으로 반올림할 수 있습니다. 예를 들어 미러 크기가 1.5TB인 경우 -R 2 를 지정할 수 있습니다. 미러 크기가 3TB인 경우 -R 4 를 지정할 수 있습니다. 미러 크기가 5TB인 경우 -R 8 을 지정할 수 있습니다.
다음 명령은 영역 크기가 2MB인 미러링된 논리 볼륨을 생성합니다.
lvcreate --type mirror -m 1 -L 2T -R 2 -n mirror vol_group
# lvcreate --type mirror -m 1 -L 2T -R 2 -n mirror vol_group
미러가 생성되면 미러 지역이 동기화됩니다. 대규모 미러 구성 요소의 경우 동기화 프로세스에 시간이 오래 걸릴 수 있습니다. 다시 시작할 필요가 없는 새 미러를 만드는 경우
--nosync 인수를 지정하여 첫 번째 장치의 초기 동기화가 필요하지 않음을 나타낼 수 있습니다.
LVM은 미러 또는 미러와 동기화되는 영역을 추적하는 데 사용하는 작은 로그를 유지 관리합니다. 기본적으로 이 로그는 디스크에 유지되므로 재부팅 후에도 영구적으로 유지되며 시스템이 재부팅되거나 충돌할 때마다 미러를 다시 동기화할 필요가 없습니다. 대신 이 로그가
--mirrorlog core 인수를 사용하여 메모리에 보관하도록 지정할 수 있습니다. 따라서 추가 로그 장치에 대한 필요성을 제거하지만 전체 미러를 재부팅할 때마다 다시 동기화해야 합니다.
다음 명령은 볼륨 그룹
bigvg 에서 미러링된 논리 볼륨을 생성합니다. 논리 볼륨의 이름은 ondiskmirvol 이며 단일 미러가 있습니다. 볼륨은 크기가 12MB이며 미러 로그를 메모리에 유지합니다.
lvcreate --type mirror -L 12MB -m 1 --mirrorlog core -n ondiskmirvol bigvg Logical volume "ondiskmirvol" created
# lvcreate --type mirror -L 12MB -m 1 --mirrorlog core -n ondiskmirvol bigvg
Logical volume "ondiskmirvol" created
미러 로그는 미러 복사본이 생성되는 장치와 별도의 장치에 생성됩니다. 그러나
--alloc을 사용하여 mirror leg 중 하나와 동일한 장치에 미러 로그를 생성할 수 있습니다. 이로 인해 성능이 저하될 수 있지만 두 개의 기본 장치만 있어도 미러를 만들 수 있습니다.
다음 명령은 미러 로그가 미러 로그 중 하나와 동일한 장치에 미러 로그가 단일 미러인 미러링된 논리 볼륨을 생성합니다. 이 예에서 볼륨 그룹은
두 개의 장치로만 구성됩니다. 이 명령은 Cryostat 0 볼륨 그룹에 mirrorlv 라는 500MB 볼륨을 생성합니다.
lvcreate --type mirror -L 500M -m 1 -n mirrorlv -alloc anywhere vg0
# lvcreate --type mirror -L 500M -m 1 -n mirrorlv -alloc anywhere vg0
참고
클러스터형 미러를 사용하는 경우 미러 로그 관리는 현재 클러스터 ID가 가장 낮은 클러스터 노드를 전적으로 담당합니다. 따라서 클러스터 미러 로그를 보유한 장치를 클러스터의 하위 집합에서 사용할 수 없게 되면 ID가 가장 낮은 클러스터 노드가 미러 로그에 액세스할 수 있는 경우 클러스터형 미러가 아무런 영향 없이 계속 작동할 수 있습니다. 미러는disturbed이므로 자동 수정 작업(repair)도 발행되지 않습니다. lowest-ID 클러스터 노드가 미러 로그에 대한 액세스 권한을 잃으면 자동 작업이 시작됩니다(다른 노드에서 로그에 대한 액세스 가능성은 아님).
미러링된 미러 로그를 생성하려면
--mirrorlog 미러링 된 인수를 지정할 수 있습니다. 다음 명령은 볼륨 그룹 bigvg 에서 미러링된 논리 볼륨을 생성합니다. 논리 볼륨의 이름은 twologvol 이며 단일 미러가 있습니다. 볼륨은 크기가 12MB이고 미러 로그는 각 로그가 별도의 장치에 보관되어 있습니다.
lvcreate --type mirror -L 12MB -m 1 --mirrorlog mirrored -n twologvol bigvg Logical volume "twologvol" created
# lvcreate --type mirror -L 12MB -m 1 --mirrorlog mirrored -n twologvol bigvg
Logical volume "twologvol" created
표준 미러 로그와 마찬가지로 Cryostatcreate 명령의
임의의 인수를 사용하여 --alloc 을 사용하여 미러 브릿지와 동일한 장치에서 중복 미러 로그를 생성할 수 있습니다. 이로 인해 성능이 저하될 수 있지만 각 로그가 미러 다리보다 별도의 장치에 보관될 수 있는 충분한 기본 장치가 없는 경우에도 중복 미러 로그를 만들 수 있습니다.
미러가 생성되면 미러 지역이 동기화됩니다. 대규모 미러 구성 요소의 경우 동기화 프로세스에 시간이 오래 걸릴 수 있습니다. 다시 시작할 필요가 없는 새 미러를 만드는 경우
--nosync 인수를 지정하여 첫 번째 장치의 초기 동기화가 필요하지 않음을 나타낼 수 있습니다.
미러 다리 및 로그에 사용할 장치와 사용할 장치 확장 영역을 지정할 수 있습니다. 로그를 특정 디스크에 강제 적용하려면 해당 디스크를 배치할 디스크에 정확히 하나의 범위를 지정합니다. LVM은 명령줄에 장치가 나열된 순서를 따를 필요가 없습니다. 할당이 적용되는 유일한 공간인 물리 볼륨이 나열된 경우. 이미 할당된 목록에 포함된 물리 확장 프로그램은 무시됩니다.
다음 명령은 미러링되지 않은 단일 로그와 단일 미러를 사용하여 미러링된 논리 볼륨을 생성합니다. 볼륨은 크기가 500MB이고 mirrorlv라는 이름은
mirrorlv 이며 볼륨 그룹 Cryostat 0에서 제거됩니다. 미러의 첫 번째 길이는 장치 /dev/sda1 이고, 미러의 두 번째는 /dev/sdb1 장치에 있으며 미러 로그는 /dev/sdc1 에 있습니다.
lvcreate --type mirror -L 500M -m 1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
# lvcreate --type mirror -L 500M -m 1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
다음 명령은 단일 미러를 사용하여 미러링된 논리 볼륨을 생성합니다. 볼륨은 크기가 500MB이고 mirrorlv라는 이름은
mirrorlv 이며 볼륨 그룹 Cryostat 0에서 제거됩니다. 미러의 첫 번째 길이는 장치 /dev/sda1 장치의 0에서 499까지 확장 영역 0부터 499까지입니다. 미러 로그는 장치 /dev/sdb1 의 범위 0에서 시작하여 미러 로그는 장치 /dev/sdc1 의 범위 0에서 시작됩니다. 이는 1MB Extent입니다. 지정된 확장 영역이 이미 할당된 경우 무시됩니다.
lvcreate --type mirror -L 500M -m 1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0
# lvcreate --type mirror -L 500M -m 1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0
참고
제거 및 미러링을 단일 논리 볼륨으로 결합할 수 있습니다. 미러 수(
--mirrors X)와 스트라이프 수(-stripes Y)를 동시에 지정하면 구성 장치가 제거된 미러 장치가 생성됩니다.
4.4.4.1. 미러링된 논리 볼륨 실패 정책 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvm.conf 파일의 activation 섹션에 mirror_image_fault_policy 및 mirror_log_fault_policy 매개변수를 사용하여 장치 오류 발생 시 미러링된 논리 볼륨이 작동하는 방식을 정의할 수 있습니다. 이러한 매개 변수 를 제거 하도록 설정하면 시스템에서 결함이 있는 장치를 제거하고 없이 실행하려고 합니다. 이러한 매개 변수가 할당 되도록 설정되면 시스템은 결함이 있는 장치를 제거하고 새 장치에 공간을 할당하여 실패한 장치를 대체하려고 합니다. 이 정책은 교체를 위해 적절한 장치와 공간을 할당할 수 없는 경우 제거 정책처럼 작동합니다.
기본적으로
mirror_log_fault_policy 매개변수는 allocate 로 설정됩니다. 로그에 이 정책을 사용하면 속도가 빠르며 충돌 및 재부팅을 통해 동기화 상태를 기억할 수 있습니다. 제거 하도록 이 정책을 설정하면 로그 장치가 메모리 내 로그를 사용하여 미러가 변환됩니다. 이 경우 미러는 충돌 간 동기화 상태를 기억하고 재부팅하지 않으며 전체 미러가 다시 동기화됩니다.
기본적으로
mirror_image_fault_policy 매개변수는 를 제거 하도록 설정됩니다. 이 정책을 사용하면 미러 이미지가 실패한 경우 나머지 복사본이 하나만 있으면 미러가 미러되지 않은 장치로 변환됩니다. 미러 장치에 할당 하도록 이 정책을 설정하려면 미러가 장치를 다시 동기화해야 합니다. 이는 느린 프로세스이지만 장치의 미러 특성을 유지합니다.
참고
LVM 미러에 장치 오류가 발생하면 2단계 복구가 수행됩니다. 첫 번째 단계는 실패한 장치를 제거하는 것입니다. 이로 인해 미러가 선형 장치로 줄어들 수 있습니다. 두 번째 단계는
mirror_log_fault_policy 매개변수가 allocate 로 설정된 경우 실패한 장치를 교체하는 것입니다. 그러나 다른 단계를 사용할 수 있는 경우 실패의 일부가 아닌 미러에서 두 번째 단계가 이전에 사용 중 사용 중인 장치를 선택한다는 보장은 없습니다.
LVM 미러 오류에서 수동으로 복구하는 방법에 대한 자세한 내용은 6.2절. “LVM Mirror 실패에서 복구” 을 참조하십시오.
4.4.4.2. 파티셔닝 Off aRedundant Image of a Mirrored Logical Volume 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
미러링된 논리 볼륨의 중복 이미지를 분리하여 새 논리 볼륨을 구성할 수 있습니다. 이미지를 분할하려면 lvconvert 명령의
--splitmirrors 인수를 사용하여 분할할 중복 이미지 수를 지정합니다. 명령의 --name 인수를 사용하여 newly-split-off 논리 볼륨의 이름을 지정해야 합니다.
다음 명령은 미러링된 논리 볼륨 Cryostat
/lv에서 copy 라는 새 논리 볼륨 을 분할합니다. 새 논리 볼륨에는 두 개의 미러 다리가 있습니다. 이 예에서 LVM은 분할할 장치를 선택합니다.
lvconvert --splitmirrors 2 --name copy vg/lv
# lvconvert --splitmirrors 2 --name copy vg/lv
분할할 장치를 지정할 수 있습니다. 다음 명령은 미러링된 논리 볼륨 Cryostat
/lv에서 copy 라는 새 논리 볼륨 을 분할합니다. 새 논리 볼륨에는 /dev/sdc1 및 /dev/sde1 장치로 구성된 두 개의 미러 브릿지가 포함되어 있습니다.
lvconvert --splitmirrors 2 --name copy vg/lv /dev/sd[ce]1
# lvconvert --splitmirrors 2 --name copy vg/lv /dev/sd[ce]1
4.4.4.3. 미러링된 논리 장치 복구 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvconvert --repair 명령을 사용하여 디스크 오류 후 미러를 복구할 수 있습니다. 그러면 미러가 일관된 상태로 되돌아갑니다. lvconvert --repair 명령은 시스템에서 실패한 장치를 교체할지 여부를 나타내는 대화형 명령입니다.
- 프롬프트를 건너뛰고 실패한 장치를 모두 교체하려면 명령줄에서
-y옵션을 지정합니다. - 프롬프트를 건너뛰고 실패한 장치를 교체하려면 명령줄에서
-f옵션을 지정합니다. - 프롬프트를 건너뛰고 미러 이미지와 미러 로그에 대한 다른 대체 정책을 표시하려면
--use-policies인수를 지정하여lvm.conf파일의mirror_log_fault사용할 수 있습니다._policy매개변수로 지정된 장치 교체 정책을
4.4.4.4. 미러링된 볼륨 구성 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvconvert 명령을 사용하여 논리 볼륨에 포함된 미러 수를 늘리거나 줄일 수 있습니다. 이를 통해 미러링된 볼륨에서 선형 볼륨 또는 선형 볼륨에서 미러링된 볼륨으로 논리 볼륨을 변환할 수 있습니다. 이 명령을 사용하여
corelog 와 같은 기존 논리 볼륨의 다른 미러 매개변수를 재구성할 수도 있습니다.
선형 볼륨을 미러링된 볼륨으로 변환할 때 기존 볼륨의 미러 저장소를 만듭니다. 즉, 볼륨 그룹에 미러 다리와 미러 로그의 장치 및 공간이 포함되어야 합니다.
미러 레코드가 손실된 경우 LVM은 볼륨을 선형 볼륨으로 변환하여 미러 중복 없이 볼륨에 계속 액세스할 수 있도록 합니다. leg를 교체한 후 lvconvert 명령을 사용하여 미러를 복원합니다. 이 절차는 6.2절. “LVM Mirror 실패에서 복구” 에서 제공됩니다.
다음 명령은 선형 논리 볼륨 Cryostat
00/lvol1 을 미러링된 논리 볼륨으로 변환합니다.
lvconvert -m1 vg00/lvol1
# lvconvert -m1 vg00/lvol1
다음 명령은 미러링된 논리 볼륨 Cryostat
00/lvol1 을 선형 논리 볼륨으로 변환하여 미러 브릿지를 제거합니다.
lvconvert -m0 vg00/lvol1
# lvconvert -m0 vg00/lvol1
다음 예제에서는 기존 논리 볼륨 Cryostat
00/lvol1 에 추가 미러 버전을 추가합니다. 이 예에서는 lvconvert 명령이 볼륨을 두 개의 미러 브릿지가 있는 볼륨으로 변경한 후 볼륨의 구성을 보여줍니다.
4.4.5. 씬 프로비저닝된 논리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨은 씬 프로비저닝할 수 있습니다. 이를 통해 사용 가능한 확장 영역보다 큰 논리 볼륨을 만들 수 있습니다. 씬 프로비저닝을 사용하면 씬 풀이라는 여유 공간 스토리지 풀을 관리할 수 있으며, 애플리케이션에 필요할 때 임의의 수의 장치에 할당할 수 있습니다. 그런 다음 애플리케이션이 논리 볼륨에 실제로 쓸 때 나중에 할당하기 위해 씬 풀에 바인딩될 수 있는 장치를 생성할 수 있습니다. 스토리지 공간을 비용 효율적으로 할당하는 데 필요할 때 씬 풀을 동적으로 확장할 수 있습니다.
참고
이 섹션에서는 씬 프로비저닝된 논리 볼륨을 생성하고 확장하는 데 사용하는 기본 명령에 대해 설명합니다. LVM 씬 프로비저닝 및 씬 프로비저닝된 논리 볼륨이 있는 LVM 명령 및 유틸리티 사용에 대한 자세한 내용은 lvmthin(7) 도움말 페이지를 참조하십시오.
참고
클러스터의 노드에서는 씬 볼륨이 지원되지 않습니다. thin 풀과 모든 씬 볼륨은 하나의 클러스터 노드에서만 독점적으로 활성화되어야 합니다.
씬 볼륨을 생성하려면 다음 작업을 수행합니다.
- Cryostat create 명령을 사용하여 볼륨 그룹을 생성합니다.
- lvcreate 명령을 사용하여 thin 풀을 생성합니다.
- lvcreate 명령을 사용하여 thin 풀에 thin 볼륨을 생성합니다.
lvcreate 명령의
-T (또는 --thin) 옵션을 사용하여 씬 풀 또는 씬 볼륨을 생성할 수 있습니다. 단일 명령을 사용하여 lvcreate 명령의 -T 옵션을 사용하여 해당 풀에 thin 풀과 thin 볼륨을 동시에 생성할 수도 있습니다.
다음 명령은 lvcreate 명령의
-T 옵션을 사용하여 볼륨 그룹 Cryostat 001 에 mythinpool 이라는 씬 풀을 생성합니다. 이는 크기가 100M입니다. 물리 공간 풀을 생성하므로 풀 크기를 지정해야 합니다. lvcreate 명령의 -T 옵션은 인수를 사용하지 않습니다. 명령이 지정하는 다른 옵션에서 생성할 장치 유형을 유추합니다.
다음 명령은 lvcreate 명령의
-T 옵션을 사용하여 씬 풀 Cryostat 001/mythinpool에 thinvolume 이라는 씬 볼륨을 생성합니다. 이 경우 가상 크기를 지정하고 이를 포함하는 풀보다 큰 볼륨의 가상 크기를 지정합니다.
다음 명령은 lvcreate 명령의
-T 옵션을 사용하여 lvcreate 명령에 크기와 가상 크기 인수를 모두 지정하여 해당 풀에 thin 풀과 thin 볼륨을 생성합니다. 이 명령은 볼륨 그룹에 mythinpool 이라는 씬 풀을 생성하고 해당 풀에 thinvolume이라는 씬 볼륨 도 생성합니다.
lvcreate 명령의
--thinpool 매개변수를 지정하여 thin 풀을 생성할 수도 있습니다. T 옵션과 달리 --thinpool 매개변수에는 생성 중인 thin pool 논리 볼륨의 이름인 인수가 필요합니다. 다음 예제에서는 lvcreate 명령의 --thinpool 매개변수를 지정하여 볼륨 그룹 mythinpool에 mythinpool 이라는 thin 풀을 생성합니다. 이는 크기가 100M입니다.
청크 크기를 사용하려면 다음 기준을 사용합니다.
- 청크 크기가 작은 경우 더 많은 메타데이터가 필요하며 성능이 저하되지만 스냅샷에 더 나은 공간 사용률을 제공합니다.
- 대규모 청크 크기는 메타데이터 조작이 덜 필요하지만 스냅샷을 덜 효율적으로 만듭니다.
LVM2는 청크 크기를 다음과 같은 방식으로 계산합니다.
기본적으로 LVM은 64KiB 청크 크기로 시작하고 씬 풀 메타데이터 장치의 결과 크기가 128MiB를 초과하면 값을 늘어남에 따라 메타데이터 크기가 압축됩니다. 이로 인해 일부 큰 청크 크기 값이 생성되어 스냅샷 사용에 효율성이 떨어질 수 있습니다. 이 경우 청크 크기 및 더 큰 메타데이터 크기가 더 나은 옵션입니다.
볼륨 데이터 크기가 TiB 범위인 경우 최대 지원되는 최대 크기인 ~15.8GiB 메타데이터 크기를 사용하고 요구 사항에 따라 청크 크기를 사용합니다. 그러나 이 볼륨 데이터 크기를 확장해야 하고 청크 크기가 작은 경우 메타데이터 크기를 늘릴 수 없습니다.
주의
Red Hat은 기본 청크 크기를 사용하는 것이 좋습니다. 청크 크기가 너무 작고 메타데이터에 필요한 공간이 부족하면 볼륨에서 데이터를 만들 수 없습니다. 논리 볼륨을 모니터링하여 메타데이터 볼륨이 완전히 가득 차기 전에 생성되거나 생성된 스토리지가 확장되었는지 확인합니다. 씬 풀을 충분히 큰 청크 크기로 설정하여 메타데이터 공간이 부족하지 않도록 해야 합니다.
풀 생성에는 스트라이핑이 지원됩니다. 다음 명령은 두 개의 64 kB 스트라이프와 256 kB 크기의 청크 크기를 사용하여 볼륨 그룹 Cryostat
001 에 풀 이라는 100M 씬 풀을 생성합니다. 또한 1T thin volume, Cryostat 00/thin_lv 를 생성합니다.
lvcreate -i 2 -I 64 -c 256 -L 100M -T vg00/pool -V 1T --name thin_lv
# lvcreate -i 2 -I 64 -c 256 -L 100M -T vg00/pool -V 1T --name thin_lv
lvextend 명령을 사용하여 thin 볼륨의 크기를 확장할 수 있습니다. 그러나 씬 풀의 크기를 줄일 수는 없습니다.
다음 명령은 다른 100M을 확장하여 크기가 100M인 기존 씬 풀의 크기를 조정합니다.
다른 유형의 논리 볼륨과 마찬가지로 볼륨의 이름을 lvrename 으로 변경하고, lvremove 로 볼륨을 제거할 수 있으며, 볼륨에 대한 정보를 lvs 및 lvdisplay 명령으로 표시할 수 있습니다.
기본적으로 lvcreate 명령은 공식(Pool_LV_size / Pool_LV_chunk_size * 64)에 따라 thin pool의 메타데이터 논리 볼륨의 크기를 설정합니다. 스냅샷 수가 많거나 씬 풀에 대한 청크 크기가 작으므로 나중에 씬 풀의 크기가 크게 증가할 것으로 예상되는 경우 lvcreate 명령의
--poolmetadatasize 매개변수를 사용하여 씬 풀의 기본값을 늘려야 할 수 있습니다. 씬 풀의 metadata 논리 볼륨에 지원되는 값은 2MiB에서 16GiB 사이의 범위에 있습니다.
lvconvert 명령의
--thinpool 매개변수를 사용하여 기존 논리 볼륨을 씬 풀 볼륨으로 변환할 수 있습니다. 기존 논리 볼륨을 씬 풀 볼륨으로 변환하는 경우 lvconvert 의 --thinpool 매개변수와 함께 --poolmetadata 매개변수를 사용하여 기존 논리 볼륨을 씬 풀 볼륨의 메타데이터 볼륨으로 변환해야 합니다.
참고
논리 볼륨을 씬 풀 볼륨 또는 씬 풀 메타데이터 볼륨으로 변환하면 논리 볼륨의 콘텐츠가 제거됩니다. 이 경우 lvconvert 는 장치의 콘텐츠를 보존하지 않고 대신 콘텐츠를 덮어 쓰기 때문입니다.
다음 예제에서는 볼륨 그룹
lv1 의 기존 논리 볼륨 lv1을 thin 풀 볼륨으로 변환하고 볼륨 그룹 Cryostat 001 의 기존 논리 볼륨 lv2 를 해당 씬 풀 볼륨의 metadata 볼륨으로 변환합니다.
lvconvert --thinpool vg001/lv1 --poolmetadata vg001/lv2 Converted vg001/lv1 to thin pool.
# lvconvert --thinpool vg001/lv1 --poolmetadata vg001/lv2
Converted vg001/lv1 to thin pool.
4.4.6. 스냅샷 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
참고
LVM은 씬 프로비저닝된 스냅샷을 지원합니다. 씬 프로비저닝된 스냅샷 볼륨 생성에 대한 자세한 내용은 4.4.7절. “씬 프로비저닝된 스냅샷 볼륨 생성” 을 참조하십시오.
lvcreate 명령의
-s 인수를 사용하여 스냅샷 볼륨을 생성합니다. 스냅샷 볼륨은 쓸 수 있습니다.
참고
LVM 스냅샷은 클러스터의 노드 전반에서 지원되지 않습니다. 클러스터형 볼륨 그룹에서 스냅샷 볼륨을 생성할 수 없습니다. 그러나 클러스터형 논리 볼륨에서 일관된 데이터 백업을 생성해야 하는 경우 볼륨을 독점적으로 활성화한 다음 스냅샷을 만들 수 있습니다. 하나의 노드에서만 논리 볼륨을 활성화하는 방법에 대한 자세한 내용은 4.7절. “클러스터의 개별 노드에서 논리 볼륨 활성화” 을 참조하십시오.
참고
미러링된 논리 볼륨에서 LVM 스냅샷이 지원됩니다.
스냅샷은 RAID 논리 볼륨에 대해 지원됩니다. RAID 논리 볼륨 생성에 대한 자세한 내용은 4.4.3절. “RAID 논리 볼륨” 을 참조하십시오.
LVM에서는 원본 볼륨의 크기와 볼륨에 필요한 메타데이터보다 큰 스냅샷 볼륨을 만들 수 없습니다. 이 것보다 큰 스냅샷 볼륨을 지정하면 원본 크기에 필요한 만큼만 큰 스냅샷 볼륨을 생성합니다.
기본적으로 스냅샷 볼륨은 정상적인 활성화 명령 중에 건너뜁니다. 스냅샷 볼륨 활성화 제어에 대한 자세한 내용은 4.4.20절. “논리 볼륨 활성화 제어” 을 참조하십시오.
다음 명령은
/dev/vg00/snap 이라는 크기가 100MB인 스냅샷 논리 볼륨을 생성합니다. 그러면 /dev/vg00/lvol1 이라는 원본 논리 볼륨의 스냅샷이 생성됩니다. 원래 논리 볼륨에 파일 시스템이 포함된 경우 원래 파일 시스템이 계속 업데이트되는 동안 파일 시스템의 콘텐츠에 액세스하여 백업을 실행하기 위해 임의의 디렉터리에 snapshot 논리 볼륨을 마운트할 수 있습니다.
lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
# lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
스냅샷 논리 볼륨을 생성한 후 lvdisplay 명령에서 origin 볼륨을 지정하면 모든 스냅샷 논리 볼륨 목록과 해당 상태(활성 또는 비활성)가 포함된 출력이 출력됩니다.
다음 예제에서는
/dev/new_vg/lvol0 논리 볼륨 /dev/new_vg/newvgsnap 이 생성된 논리 볼륨 /dev/new_vg/lvol0의 상태를 보여줍니다.
기본적으로 lvs 명령은 원본 볼륨과 사용 중인 스냅샷 볼륨의 현재 백분율을 표시합니다. 다음 예제에서는 스냅샷 볼륨
/dev/new_vg/newvgsnap 이 생성된 논리 볼륨 /dev/new_vg/lvol0 을 포함하는 시스템의 lvs 명령에 대한 기본 출력을 보여줍니다.
lvs LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 new_vg owi-a- 52.00M newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
주의
스냅샷은 원본 볼륨이 변경됨에 따라 크기가 증가하므로 lvs 명령을 사용하여 스냅샷 볼륨의 백분율을 정기적으로 모니터링하여 채워지지 않도록 하는 것이 중요합니다. 원본의 변경되지 않은 부분에 대한 쓰기 작업은 스냅샷을 손상시키지 않고 성공하지 못하므로 100% 가득 차 있는 스냅샷이 완전히 손실됩니다.
스냅샷은 가득 차 있을 때 무효화됩니다. 스냅샷 장치의 마운트된 파일 시스템은 강제로 마운트 해제되어 있어 마운트 지점에 액세스할 때 불필요한 파일 시스템 오류를 방지할 수 있습니다. 또한
lvm.conf 파일에 snapshot_autoextend_threshold 옵션을 지정할 수 있습니다. 이 옵션을 사용하면 나머지 스냅샷 공간이 설정한 임계값 미만으로 줄어들 때마다 스냅샷을 자동으로 확장할 수 있습니다. 이 기능을 사용하려면 볼륨 그룹에 할당되지 않은 공간이 있어야 합니다.
LVM에서는 원본 볼륨의 크기와 볼륨에 필요한 메타데이터보다 큰 스냅샷 볼륨을 만들 수 없습니다. 마찬가지로 스냅샷 자동 확장은 스냅샷에 필요한 최대 계산된 크기 이상으로 스냅샷 볼륨의 크기를 늘리지 않습니다. 스냅샷이 원본을 덮을 정도로 충분히 크게 증가하면 자동 확장을 위해 더 이상 모니터링되지 않습니다.
snapshot_autoextend_threshold 및 snapshot_autoextend_percent 설정에 대한 정보는 lvm.conf 파일 자체에 제공됩니다. lvm.conf 파일에 대한 자세한 내용은 부록 B. LVM 구성 파일 을 참조하십시오.
4.4.7. 씬 프로비저닝된 스냅샷 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux는 씬 프로비저닝된 스냅샷 볼륨을 지원합니다. 씬 스냅샷 볼륨의 이점 및 제한 사항에 대한 자세한 내용은 2.3.6절. “씬 프로비저닝된 스냅샷 볼륨” 을 참조하십시오.
참고
이 섹션에서는 씬 프로비저닝된 스냅샷 볼륨을 생성하고 확장하는 데 사용하는 기본 명령에 대해 설명합니다. LVM 씬 프로비저닝 및 씬 프로비저닝된 논리 볼륨이 있는 LVM 명령 및 유틸리티 사용에 대한 자세한 내용은 lvmthin(7) 도움말 페이지를 참조하십시오.
중요
thin 스냅샷 볼륨을 생성할 때 볼륨 크기를 지정하지 않습니다. size 매개변수를 지정하면 생성되는 스냅샷은 씬 스냅샷 볼륨이 아니며 데이터를 저장하는 데 씬 풀을 사용하지 않습니다. 예를 들어
lvcreate -s Cryostat/thinvolume -L10M 명령은 원본 볼륨이 thin 볼륨인 경우에도 씬 스냅샷을 생성하지 않습니다.
씬 스냅샷은 씬 프로비저닝된 원본 볼륨 또는 씬 프로비저닝되지 않은 원본 볼륨에 대해 생성할 수 있습니다.
lvcreate 명령의
--name 옵션을 사용하여 스냅샷 볼륨의 이름을 지정할 수 있습니다. 다음 명령은 mysnapshot1 이라는 씬 프로비저닝된 논리 볼륨 Cryostat 001/thinvolume 의 씬 프로비저닝된 스냅샷 볼륨을 생성합니다.
참고
씬 프로비저닝을 사용할 때는 스토리지 관리자가 스토리지 풀을 모니터링하고 용량을 늘리기 시작하는 것이 중요합니다. thin 볼륨의 크기 확장에 대한 자세한 내용은 다음을 참조하십시오. 4.4.5절. “씬 프로비저닝된 논리 볼륨 생성”
씬 스냅샷 볼륨은 다른 씬 볼륨과 동일한 특성을 갖습니다. 볼륨을 독립적으로 활성화하고, 볼륨 확장, 볼륨 이름 변경, 볼륨 제거, 볼륨 스냅샷도 수행할 수 있습니다.
기본적으로 스냅샷 볼륨은 정상적인 활성화 명령 중에 건너뜁니다. 스냅샷 볼륨 활성화 제어에 대한 자세한 내용은 4.4.20절. “논리 볼륨 활성화 제어” 을 참조하십시오.
프로비저닝되지 않은 논리 볼륨의 씬 프로비저닝된 스냅샷을 생성할 수도 있습니다. 프로비저닝되지 않은 논리 볼륨은 씬 풀 내에 포함되어 있지 않으므로 외부 원본 이라고 합니다. 외부 원본 볼륨은 다른 씬 풀에서도 씬 프로비저닝된 여러 스냅샷 볼륨에서 사용하고 공유할 수 있습니다. 씬 프로비저닝된 스냅샷이 생성될 때 외부 원본은 비활성이고 읽기 전용이어야 합니다.
외부 원본의 씬 프로비저닝된 스냅샷을 생성하려면
--thinpool 옵션을 지정해야 합니다. 다음 명령은 읽기 전용 비활성 볼륨 origin_volume 의 씬 스냅샷 볼륨을 생성합니다. thin snapshot 볼륨의 이름은 mythinsnap 입니다. 그런 다음 논리 볼륨 origin_volume 은 기존 thin pool Cryostat 001 /pool 을 사용할 볼륨 그룹 mythinsnap 에서 thin snapshot 볼륨 mythinsnap의 씬 외부 원본이 됩니다. 원본 볼륨이 스냅샷 볼륨과 동일한 볼륨 그룹에 있어야 하므로 원본 논리 볼륨을 지정할 때 볼륨 그룹을 지정할 필요가 없습니다.
lvcreate -s --thinpool vg001/pool origin_volume --name mythinsnap
# lvcreate -s --thinpool vg001/pool origin_volume --name mythinsnap
다음 명령과 같이 첫 번째 스냅샷 볼륨의 두 번째 씬 프로비저닝 스냅샷 볼륨을 생성할 수 있습니다.
lvcreate -s vg001/mythinsnap --name my2ndthinsnap
# lvcreate -s vg001/mythinsnap --name my2ndthinsnap
Red Hat Enterprise Linux 7.2에서는 lvs 명령의
lv_ancestors 및 lv_descendants 보고 필드를 지정하여 씬 스냅샷 논리 볼륨의 모든 상위 항목 및 하위 항목 목록을 표시할 수 있습니다.
다음 예제에서:
stack1은 볼륨 그룹 Cryostat001의 원본 볼륨입니다.stack2는stack1의 스냅샷입니다.stack3은stack2의 스냅샷입니다.stack4는stack3의 스냅샷입니다.
기타:
stack5는stack2의 스냅샷이기도 합니다.stack6은stack5의 스냅샷입니다.
참고
lv_ancestors 및 lv_descendants 필드에는 기존 종속성이 표시되지만 체인 중간에 항목이 제거된 경우 제거된 항목이 추적되지 않습니다. 예를 들어 이 샘플 구성에서 논리 볼륨 stack3 을 제거하면 다음과 같습니다.
그러나 Red Hat Enterprise Linux 7.3에서는 제거된 논리 볼륨을 추적하고 표시하도록 시스템을 구성할 수 있으며
lv_ancestors_full 및 lv_descendants_full 필드를 지정하여 해당 볼륨을 포함하는 전체 종속성 체인을 표시할 수 있습니다. 기록 논리 볼륨 추적, 표시 및 제거에 대한 자세한 내용은 4.4.21절. “추적 및 표시 논리 볼륨 (Red Hat Enterprise Linux 7.3 및 later)” 을 참조하십시오.
4.4.8. LVM 캐시 논리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.1 릴리스에서 LVM은 LVM 캐시 논리 볼륨을 완전 지원합니다. 캐시 논리 볼륨은 빠른 블록 장치(예: SSD 드라이브)로 구성된 작은 논리 볼륨을 사용하여 자주 사용되는 논리 볼륨에 자주 사용되는 블록을 저장하여 더 크고 느린 논리 볼륨의 성능을 향상시킵니다.
LVM 캐싱은 다음 LVM 논리 볼륨 유형을 사용합니다. 이러한 모든 관련 논리 볼륨은 동일한 볼륨 그룹에 있어야 합니다.
- origin 논리 볼륨 - 크고 느린 논리 볼륨
- 캐시 풀 논리 볼륨 - 캐시 데이터 논리 볼륨과 캐시 메타데이터 논리 볼륨이라는 두 개의 장치로 구성된 작고 빠른 논리 볼륨
- 캐시 데이터 논리 볼륨 - 캐시 풀 논리 볼륨의 데이터 블록을 포함하는 논리 볼륨
- 캐시 메타데이터 논리 볼륨 - 캐시 풀 논리 볼륨의 메타데이터가 포함된 논리 볼륨(예: 원본 논리 볼륨 또는 캐시 데이터 논리 볼륨)에 데이터 블록이 저장된 위치를 지정하는 계정 정보가 있습니다.
- cache 논리 볼륨 - origin 논리 볼륨과 캐시 풀 논리 볼륨이 포함된 논리 볼륨입니다. 이는 다양한 캐시 볼륨 구성 요소를 캡슐화하는 결과 사용 가능한 장치입니다.
다음 절차에서는 LVM 캐시 논리 볼륨을 생성합니다.
- 느린 물리 볼륨과 빠른 물리 볼륨이 포함된 볼륨 그룹을 만듭니다. 이 예제에서.
/dev/sde1은 느린 장치이며/dev/sdf1은 빠른 장치이며 두 장치 모두 볼륨 그룹VG에 포함됩니다.pvcreate /dev/sde1 pvcreate /dev/sdf1 vgcreate VG /dev/sde1 /dev/sdf1
# pvcreate /dev/sde1 # pvcreate /dev/sdf1 # vgcreate VG /dev/sde1 /dev/sdf1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - origin 볼륨을 생성합니다. 이 예에서는 크기가 10GB이고 느린 물리 볼륨인
/dev/sde1로 구성된lv라는 원본 볼륨을 생성합니다.lvcreate -L 10G -n lv VG /dev/sde1
# lvcreate -L 10G -n lv VG /dev/sde1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 캐시 풀 논리 볼륨을 생성합니다. 이 예제에서는 볼륨 그룹
VG의 일부인 빠른 장치/dev/sdf1에cpool이라는 캐시 풀 논리 볼륨을 생성합니다. 이 명령이 생성하는 캐시 풀 논리 볼륨은 숨겨진 캐시 데이터cpool_cdata및 숨겨진 캐시 메타데이터cpool_cmeta로 구성됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 복잡한 구성의 경우 캐시 데이터와 캐시 메타데이터 논리 볼륨을 개별적으로 생성한 다음 볼륨을 캐시 풀 논리 볼륨으로 통합해야 할 수 있습니다. 이 절차에 대한 자세한 내용은 lvmcache(7) 도움말 페이지를 참조하십시오. - 캐시 풀 논리 볼륨을 원본 논리 볼륨에 연결하여 캐시 논리 볼륨을 만듭니다. 생성된 사용자 액세스 캐시 논리 볼륨은 원본 논리 볼륨의 이름을 사용합니다. origin 논리 볼륨은 원래 이름에
_corig가 추가된 숨겨진 논리 볼륨이 됩니다. 이 변환은 라이브로 수행할 수 있지만 먼저 백업을 수행했는지 확인해야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택적으로 Red Hat Enterprise Linux 릴리스 7.2부터 캐시된 논리 볼륨을 씬 풀 논리 볼륨으로 변환할 수 있습니다. 풀에서 생성된 씬 논리 볼륨이 캐시를 공유합니다.다음 명령은 씬 풀 메타데이터(
lv_tmeta)를 할당하기 위해 빠른 장치/dev/sdf1을 사용합니다. 이는 캐시 풀 볼륨에서 사용하는 장치와 같습니다. 즉, thin 풀 메타데이터 볼륨은 캐시 데이터 논리 볼륨cpool_cdata및 캐시 메타데이터 논리 볼륨cpool_cmeta와 둘 다 해당 장치를 공유합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 관리 예제를 포함한 LVM 캐시 볼륨에 대한 자세한 내용은 lvmcache(7) 매뉴얼 페이지를 참조하십시오.
씬 프로비저닝된 논리 볼륨을 생성하는 방법에 대한 자세한 내용은 4.4.5절. “씬 프로비저닝된 논리 볼륨 생성” 을 참조하십시오.
4.4.9. 스냅샷 볼륨 병합 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvconvert 명령의
--merge 옵션을 사용하여 스냅샷을 원본 볼륨에 병합할 수 있습니다. 원본 볼륨과 스냅샷 볼륨이 모두 열려 있지 않으면 병합이 즉시 시작됩니다. 그렇지 않으면 병합은 origin 또는 snapshot이 처음 활성화되어 있고 둘 다 닫을 때 시작됩니다. 스냅샷을 닫을 수 없는 원본(예: 루트 파일 시스템)에 병합하면 다음에 원본 볼륨이 활성화될 때까지 지연됩니다. 병합이 시작되면 결과 논리 볼륨의 이름, 마이너 번호 및 UUID가 표시됩니다. 병합이 진행 중인 동안 원본에 대한 읽기 또는 쓰기는 병합되는 스냅샷으로 지시된 대로 나타납니다. 병합이 완료되면 병합된 스냅샷이 제거됩니다.
다음 명령은 스냅샷 볼륨 192.0.2.
00/lvol1_snap 을 원본과 병합합니다.
lvconvert --merge vg00/lvol1_snap
# lvconvert --merge vg00/lvol1_snap
명령줄에서 스냅샷을 여러 개 지정하거나 LVM 오브젝트 태그를 사용하여 각 원본에 여러 스냅샷을 병합하도록 지정할 수 있습니다. 다음 예에서 논리 volumes
00/lvol1, Cryostat00/lvol2, Cryostat 00/lvol3 은 모두 @some_tag 태그가 지정됩니다. 다음 명령은 세 개의 모든 볼륨에 대해 직렬로 스냅샷 논리 볼륨을 병합합니다. Cryostat 00/lvol1, then Cryostat 00/lvol2, then Cryostat 00/lvol3. --background 옵션을 사용하면 모든 스냅샷 논리 볼륨 병합이 병렬로 시작됩니다.
lvconvert --merge @some_tag
# lvconvert --merge @some_tag
LVM 오브젝트 태그 지정에 대한 자세한 내용은 부록 D. LVM 오브젝트 태그 을 참조하십시오. lvconvert --merge 명령에 대한 자세한 내용은 lvconvert(8) 도움말 페이지를 참조하십시오.
4.4.10. 영구 장치 번호 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
메이저 및 마이너 장치 번호는 모듈 로드 시 동적으로 할당됩니다. 일부 애플리케이션은 블록 장치가 항상 동일한 장치 (major 및 minor) 번호로 활성화되는 경우 가장 잘 작동합니다. 다음 인수를 사용하여 lvcreate 및 lvchange 명령을 사용하여 이를 지정할 수 있습니다.
--persistent y --major major --minor minor
--persistent y --major major --minor minor
큰 마이너 번호를 사용하여 다른 장치에 동적으로 할당되지 않았는지 확인하십시오.
NFS를 사용하여 파일 시스템을 내보내는 경우 export 파일에서
fsid 매개변수를 지정하면 LVM 내에서 영구 장치 번호를 설정하지 않아도 됩니다.
4.4.11. 논리 볼륨 그룹의 매개 변수 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨의 매개 변수를 변경하려면 lvchange 명령을 사용합니다. 변경할 수 있는 매개변수 목록은 lvchange(8) 도움말 페이지를 참조하십시오.
lvchange 명령을 사용하여 논리 볼륨을 활성화하고 비활성화할 수 있습니다. 볼륨 그룹의 모든 논리 볼륨을 동시에 활성화하고 비활성화하려면 4.3.9절. “볼륨 그룹의 매개변수 변경” 에 설명된 대로 Cryostatchange 명령을 사용합니다.
다음 명령은 볼륨 그룹 Cryostat
00 의 볼륨 lvol1 에 대한 권한을 읽기 전용으로 변경합니다.
lvchange -pr vg00/lvol1
# lvchange -pr vg00/lvol1
4.4.12. 논리 볼륨 이름 변경 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
기존 논리 볼륨의 이름을 변경하려면 lvrename 명령을 사용합니다.
다음 명령 중 하나는 볼륨 그룹 lvold의 논리 볼륨
lvold 의 이름을 lv new 로 바꿉니다.
lvrename /dev/vg02/lvold /dev/vg02/lvnew
# lvrename /dev/vg02/lvold /dev/vg02/lvnew
lvrename vg02 lvold lvnew
# lvrename vg02 lvold lvnew
루트 논리 볼륨 이름을 변경하려면 추가 구성이 필요합니다. 루트 볼륨 이름 변경에 대한 자세한 내용은 Red Hat Enterprise Linux에서 루트 볼륨 그룹 또는 논리 볼륨 이름을 변경하는 방법을 참조하십시오.
클러스터의 개별 노드에서 논리 볼륨 활성화에 대한 자세한 내용은 4.7절. “클러스터의 개별 노드에서 논리 볼륨 활성화” 을 참조하십시오.
4.4.13. 논리 볼륨 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
비활성 논리 볼륨을 제거하려면 lvremove 명령을 사용합니다. 논리 볼륨이 현재 마운트되어 있으면 제거하기 전에 볼륨을 마운트 해제합니다. 또한 클러스터형 환경에서는 논리 볼륨을 제거하기 전에 비활성화해야 합니다.
다음 명령은 볼륨 그룹
testvg 에서 논리 볼륨 /dev/testvg/testlv 를 제거합니다. 이 경우 논리 볼륨이 비활성화되지 않았습니다.
lvremove /dev/testvg/testlv Do you really want to remove active logical volume "testlv"? [y/n]: y Logical volume "testlv" successfully removed
# lvremove /dev/testvg/testlv
Do you really want to remove active logical volume "testlv"? [y/n]: y
Logical volume "testlv" successfully removed
lvchange -an 명령으로 제거하기 전에 논리 볼륨을 명시적으로 비활성화할 수 있습니다. 이 경우 활성 논리 볼륨을 제거할지 여부를 확인하는 프롬프트가 표시되지 않습니다.
4.4.14. 논리 볼륨 표시 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 논리 볼륨의 속성을 표시하는 데 사용할 수 있는 명령은 lvs,lvdisplay, lvscan 입니다.
lvs 명령은 논리 볼륨 정보를 구성 가능한 형식으로 제공하여 논리 볼륨당 한 행을 표시합니다. lvs 명령은 많은 형식 제어를 제공하며 스크립팅에 유용합니다. lvs 명령을 사용하여 출력을 사용자 지정하는 방법에 대한 자세한 내용은 4.8절. “LVM에 대한 사용자 정의 보고” 을 참조하십시오.
lvdisplay 명령은 고정된 형식으로 논리 볼륨 속성(예: 크기, 레이아웃, 매핑)을 표시합니다.
다음 명령은 Cryostat
00 의 lvol2 속성을 보여줍니다. 이 원래 논리 볼륨에 대한 스냅샷 논리 볼륨이 생성된 경우 이 명령은 모든 스냅샷 논리 볼륨 목록과 해당 상태(활성 또는 비활성)도 표시합니다.
lvdisplay -v /dev/vg00/lvol2
# lvdisplay -v /dev/vg00/lvol2
lvscan 명령은 시스템의 모든 논리 볼륨을 스캔하여 다음 예와 같이 나열합니다.
lvscan ACTIVE '/dev/vg0/gfslv' [1.46 GB] inherit
# lvscan
ACTIVE '/dev/vg0/gfslv' [1.46 GB] inherit
4.4.15. 논리 볼륨 증가 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
논리 볼륨의 크기를 늘리려면 lvextend 명령을 사용합니다.
논리 볼륨을 확장할 때 볼륨을 확장할 양 또는 확장 후 원하는 크기를 표시할 수 있습니다.
다음 명령은 논리 볼륨
/dev/myvg/homevol 을 12GB로 확장합니다.
lvextend -L12G /dev/myvg/homevol lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB lvextend -- doing automatic backup of volume group "myvg" lvextend -- logical volume "/dev/myvg/homevol" successfully extended
# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
다음 명령은 다른 기가바이트를 논리 볼륨
/dev/myvg/homevol 에 추가합니다.
lvextend -L+1G /dev/myvg/homevol lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB lvextend -- doing automatic backup of volume group "myvg" lvextend -- logical volume "/dev/myvg/homevol" successfully extended
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
lvcreate 명령과 마찬가지로 lvextend 명령의
-l 인수를 사용하여 논리 볼륨의 크기를 늘릴 확장 영역 수를 지정할 수 있습니다. 이 인수를 사용하여 볼륨 그룹의 백분율 또는 볼륨 그룹에서 남은 사용 가능한 공간의 백분율을 지정할 수도 있습니다. 다음 명령은 testlv 라는 논리 볼륨을 확장하여 볼륨 그룹 myvg 의 할당되지 않은 공간을 모두 채웁니다.
lvextend -l +100%FREE /dev/myvg/testlv Extending logical volume testlv to 68.59 GB Logical volume testlv successfully resized
# lvextend -l +100%FREE /dev/myvg/testlv
Extending logical volume testlv to 68.59 GB
Logical volume testlv successfully resized
논리 볼륨을 확장한 후 파일 시스템 크기를 높여야 합니다.
기본적으로 대부분의 파일 시스템 크기 조정 도구는 파일 시스템의 크기가 기본 논리 볼륨의 크기로 증가하므로 두 명령 각각에 대해 동일한 크기를 지정할 필요가 없습니다.
4.4.16. 논리 볼륨 축소 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvreduce 명령을 사용하여 논리 볼륨의 크기를 줄일 수 있습니다.
참고
GFS2 또는 XFS 파일 시스템에서 축소는 지원되지 않으므로 GFS2 또는 XFS 파일 시스템이 포함된 논리 볼륨의 크기를 줄일 수 없습니다.
감소 중인 논리 볼륨에 파일 시스템이 포함되어 있는 경우 데이터 손실을 방지하기 위해 파일 시스템이 축소되는 논리 볼륨의 공간을 사용하지 않도록 해야 합니다. 따라서 논리 볼륨에 파일 시스템이 포함된 경우 lvreduce 명령의
--resizefs 옵션을 사용하는 것이 좋습니다. 이 옵션을 사용하면 lvreduce 명령은 논리 볼륨을 축소하기 전에 파일 시스템을 줄입니다. 파일 시스템이 가득 차거나 파일 시스템이 축소를 지원하지 않는 경우와 같이 파일 시스템을 축소하는 데 실패하는 경우 lvreduce 명령이 실패하고 논리 볼륨을 축소하지 않습니다.
주의
대부분의 경우 lvreduce 명령은 가능한 데이터 손실에 대해 경고하고 확인을 요청합니다. 그러나 경우에 따라 논리 볼륨이 비활성 상태이거나
--resizefs 옵션을 사용하지 않는 경우와 같이 이러한 프롬프트가 표시되지 않는 경우 데이터 손실을 방지하기 위해 이러한 확인 프롬프트를 사용하지 않아야 합니다.
lvreduce 명령의
--test 옵션을 사용하면 작업이 안전한 위치를 표시하지 않습니다. 이 옵션은 파일 시스템을 확인하거나 파일 시스템 크기 조정을 테스트하지 않습니다.
다음 명령은 볼륨 그룹
lvol1 의 논리 볼륨 lvol 1을 64MB로 줄입니다. 이 예에서 lvol1 에는 논리 볼륨과 함께 크기를 조정하는 파일 시스템이 포함되어 있습니다. 이 예에서는 명령에 대한 출력을 보여줍니다.
크기 조정 값 앞에 - 기호를 지정하면 논리 볼륨의 실제 크기에서 값이 뺀 것을 나타냅니다. 다음 예제에서는 64 메가바이트의 절대 크기로 논리 볼륨을 축소하는 대신 값 64 메가바이트로 볼륨을 축소하려는 경우 사용하는 명령을 보여줍니다.
lvreduce --resizefs -L -64M vg00/lvol1
# lvreduce --resizefs -L -64M vg00/lvol1
4.4.17. 스트립 볼륨 확장 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
스트라이핑된 논리 볼륨의 크기를 늘리려면 기본 물리 볼륨에 스트라이프를 지원하기 위해 볼륨 그룹을 구성하는 충분한 여유 공간이 있어야 합니다. 예를 들어 전체 볼륨 그룹을 사용하는 양방향 스트라이프가 있는 경우 볼륨 그룹에 단일 물리 볼륨을 추가하면 스트라이프를 확장할 수 없습니다. 대신 볼륨 그룹에 두 개 이상의 물리 볼륨을 추가해야 합니다.
예를 들어 다음 Cryostats 명령으로 표시된 대로 두 개의 기본 물리 볼륨으로 구성된 볼륨 그룹 Cryostat를 고려해 보십시오.
vgs VG #PV #LV #SN Attr VSize VFree vg 2 0 0 wz--n- 271.31G 271.31G
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz--n- 271.31G 271.31G
볼륨 그룹의 전체 공간을 사용하여 스트라이프를 만들 수 있습니다.
이제 볼륨 그룹에 사용 가능한 공간이 없습니다.
vgs VG #PV #LV #SN Attr VSize VFree vg 2 1 0 wz--n- 271.31G 0
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
다음 명령은 볼륨 그룹에 또 다른 물리 볼륨을 추가합니다. 그러면 135GB의 추가 공간이 있습니다.
이 시점에서 데이터를 스트라이프하기 위해 두 개의 기본 장치가 필요하므로 스트립 논리 볼륨을 볼륨 그룹의 전체 크기로 확장할 수 없습니다.
스트라이핑된 논리 볼륨을 확장하려면 다른 물리 볼륨을 추가한 다음 논리 볼륨을 확장합니다. 이 예에서는 볼륨 그룹에 두 개의 물리 볼륨을 추가하여 논리 볼륨을 볼륨 그룹의 전체 크기로 확장할 수 있습니다.
스트라이핑된 논리 볼륨을 확장하는 데 기본 물리 장치가 충분하지 않은 경우 확장 기능을 사용하지 않는 경우 볼륨을 확장할 수 있습니다. 이로 인해 성능이 저하되지 않을 수 있습니다. 논리 볼륨에 공간을 추가할 때 기본 작업은 기존 논리 볼륨의 마지막 세그먼트와 동일한 스트립 매개 변수를 사용하지만 이러한 매개 변수를 재정의할 수 있습니다. 다음 예제에서는 lvextend 초기 명령이 실패한 후 남은 여유 공간을 사용하도록 기존의 스트라이핑 논리 볼륨을 확장합니다.
4.4.18. RAID 볼륨 확장 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
새 RAID 영역의 동기화를 수행하지 않고 lvextend 명령을 사용하여 RAID 논리 볼륨을 확장할 수 있습니다.
lvcreate 명령을 사용하여 RAID 논리 볼륨을 생성할 때
--nosync 옵션을 지정하면 논리 볼륨이 생성될 때 RAID 영역이 동기화되지 않습니다. 나중에 --nosync 옵션을 사용하여 생성한 RAID 논리 볼륨을 확장하면 RAID 확장이 해당 시점에 동기화되지 않습니다.
lvs 명령을 사용하여 볼륨 속성을 표시하여 기존 논리 볼륨이
--nosync 옵션으로 생성되었는지 여부를 확인할 수 있습니다. 논리 볼륨은 초기 동기화없이 생성된 RAID 볼륨인 경우 특성 필드의 첫 번째 문자로 "R"을 표시하고 초기 동기화로 생성된 경우 "r"이 표시됩니다.
다음 명령은 초기 동기화 없이 생성된
lv 라는 RAID 논리 볼륨의 속성을 표시하여 "R"을 특성 필드에서 첫 번째 문자로 표시합니다. 특성 필드의 일곱 번째 문자는 대상 RAID 유형을 나타내는 "r"입니다. attribute 필드의 의미에 대한 자세한 내용은 표 4.5. “LVs 표시 필드” 을 참조하십시오.
lvs vg LV VG Attr LSize Pool Origin Snap% Move Log Cpy%Sync Convert lv vg Rwi-a-r- 5.00g 100.00
# lvs vg
LV VG Attr LSize Pool Origin Snap% Move Log Cpy%Sync Convert
lv vg Rwi-a-r- 5.00g 100.00
lvextend 명령으로 이 논리 볼륨을 늘리면 RAID 확장이 다시 동기화되지 않습니다.
lvcreate 명령의
--nosync 옵션을 지정하지 않고 RAID 논리 볼륨을 생성한 경우 lvextend 명령의 --nosync 옵션을 지정하여 미러를 다시 동기화하지 않고 논리 볼륨을 확장할 수 있습니다.
다음 예제에서는
--nosync 옵션 없이 생성된 RAID 논리 볼륨을 확장하여 RAID 볼륨이 생성될 때 동기화되었음을 나타냅니다. 그러나 이 예에서는 볼륨이 확장될 때 볼륨이 동기화되지 않도록 지정합니다. 볼륨에는 "r" 속성이 있지만 --nosync 옵션을 사용하여 lvextend 명령을 실행한 후 볼륨에는 "R" 속성이 있습니다.
RAID 볼륨이 비활성화된 경우
--nosync 옵션을 사용하여 볼륨을 생성하는 경우에도 볼륨을 확장할 때 동기화를 자동으로 생략하지 않습니다. 대신 논리 볼륨의 확장된 부분을 완전히 다시 동기화할지 여부를 묻는 메시지가 표시됩니다.
참고
RAID 볼륨에서 복구 작업을 수행하는 경우
--nosync 옵션을 사용하여 볼륨을 생성하거나 확장하면 논리 볼륨을 확장할 수 없습니다. 그러나 --nosync 옵션을 지정하지 않은 경우 복구 중 RAID 볼륨을 확장할 수 있습니다.
4.4.19. 클링 할당 정책을 사용하여 논리 볼륨 확장 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 볼륨을 확장할 때 lvextend 명령의
--alloc cling 옵션을 사용하여 클링 할당 정책을 지정할 수 있습니다. 이 정책은 기존 논리 볼륨의 마지막 부분과 동일한 물리 볼륨에서 공간을 선택합니다. 물리 볼륨에 공간이 충분하지 않고 lvm.conf 파일에 태그 목록이 정의되어 있는 경우 LVM은 물리적 볼륨에 태그가 연결되어 있는지 여부를 확인하고 기존 Extent와 새 Extent 간의 물리 볼륨 태그와 일치시킵니다.
예를 들어 단일 볼륨 그룹 내의 두 사이트 간에 미러링된 논리 볼륨이 있는 경우
@site1 및 @site2 태그로 물리 볼륨을 태그하여 배치되는 위치에 따라 물리 볼륨을 태그할 수 있습니다. 그런 다음 lvm.conf 파일에 다음 행을 지정할 수 있습니다.
cling_tag_list = [ "@site1", "@site2" ]
cling_tag_list = [ "@site1", "@site2" ]
물리 볼륨 태그에 대한 자세한 내용은 부록 D. LVM 오브젝트 태그 을 참조하십시오.
다음 예제에서는 다음 행을 포함하도록
lvm.conf 파일이 수정되었습니다.
cling_tag_list = [ "@A", "@B" ]
cling_tag_list = [ "@A", "@B" ]
또한 이 예에서 물리 볼륨
/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1, /dev/sdf1 ,/dev /sdg1 로 구성된 볼륨 그룹 taft 가 생성되었습니다. 이러한 물리 볼륨에는 A,B 및 C 태그가 지정되었습니다. 이 예제에서는 C 태그를 사용하지 않지만 LVM에서 태그를 사용하여 미러 브릿지에 사용할 물리 볼륨을 선택함을 보여줍니다.
다음 명령은 볼륨 그룹
taft 에서 10GB 미러링된 볼륨을 생성합니다.
lvcreate --type raid1 -m 1 -n mirror --nosync -L 10G taft WARNING: New raid1 won't be synchronised. Don't read what you didn't write! Logical volume "mirror" created
# lvcreate --type raid1 -m 1 -n mirror --nosync -L 10G taft
WARNING: New raid1 won't be synchronised. Don't read what you didn't write!
Logical volume "mirror" created
다음 명령은 미러 다리 및 RAID 메타데이터 하위 볼륨에 사용되는 장치를 보여줍니다.
다음 명령은 클링 할당 정책을 사용하여 동일한 태그가 있는 물리 볼륨을 사용하여 미러 브리지를 확장해야 함을 나타내는 미러링된 볼륨의 크기를 확장합니다.
lvextend --alloc cling -L +10G taft/mirror Extending 2 mirror images. Extending logical volume mirror to 20.00 GiB Logical volume mirror successfully resized
# lvextend --alloc cling -L +10G taft/mirror
Extending 2 mirror images.
Extending logical volume mirror to 20.00 GiB
Logical volume mirror successfully resized
다음 display 명령은 다리와 동일한 태그가 있는 물리 볼륨을 사용하여 미러가 확장되었음을 보여줍니다.
C 태그가 있는 물리 볼륨은 무시되었습니다.
4.4.20. 논리 볼륨 활성화 제어 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
lvcreate 또는 lvchange 명령의
-k 또는 --setactivationskip {y|n} 옵션을 사용하여 논리 볼륨을 건너뛰도록 지정할 수 있습니다. 이 플래그는 비활성화 중에 적용되지 않습니다.
다음 예제와 같이
k 속성을 표시하는 lvs 명령을 사용하여 이 플래그가 논리 볼륨에 설정되어 있는지 여부를 확인할 수 있습니다.
lvs vg/thin1s1 LV VG Attr LSize Pool Origin thin1s1 vg Vwi---tz-k 1.00t pool0 thin1
# lvs vg/thin1s1
LV VG Attr LSize Pool Origin
thin1s1 vg Vwi---tz-k 1.00t pool0 thin1
기본적으로 씬 스냅샷 볼륨은 활성화 건너뛰기 위해 플래그가 지정됩니다. standard
-ay 또는 --activate y 옵션 외에도 -K 또는 --ignoreactivationskip 옵션을 사용하여 k 속성이 설정된 논리 볼륨을 활성화할 수 있습니다.
다음 명령은 thin snapshot 논리 볼륨을 활성화합니다.
lvchange -ay -K VG/SnapLV
# lvchange -ay -K VG/SnapLV
lvcreate 명령의
-kn 또는 --setactivationskip n 옵션을 지정하여 논리 볼륨을 생성할 때 영구 "활성화 건너뛰기" 플래그를 해제할 수 있습니다. lvchange 명령의 -kn 또는 --setactivationskip n 옵션을 지정하여 기존 논리 볼륨에 대한 플래그를 해제할 수 있습니다. -ky 또는 --setactivationskip y 옵션을 사용하여 플래그를 다시 설정할 수 있습니다.
다음 명령은 활성화 건너뛰기 플래그 없이 스냅샷 논리 볼륨을 생성합니다.
lvcreate --type thin -n SnapLV -kn -s ThinLV --thinpool VG/ThinPoolLV
# lvcreate --type thin -n SnapLV -kn -s ThinLV --thinpool VG/ThinPoolLV
다음 명령은 스냅샷 논리 볼륨에서 활성화 건너뛰기 플래그를 제거합니다.
lvchange -kn VG/SnapLV
# lvchange -kn VG/SnapLV
/etc/lvm/lvm.conf 파일의 auto_set_activation_skip 설정을 사용하여 기본 활성화 건너뛰기 설정을 제어할 수 있습니다.
4.4.21. 추적 및 표시 논리 볼륨 (Red Hat Enterprise Linux 7.3 및 later) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.3부터
lvm.conf 구성 파일에서 record_lvs_history 메타데이터 옵션을 활성화하여 제거된 thin snapshot 및 thin 논리 볼륨을 추적하도록 시스템을 구성할 수 있습니다. 이를 통해 원래 종속성 체인에서 제거되어 과거 논리 볼륨이 된 논리 볼륨이 포함된 전체 씬 스냅샷 종속성 체인을 표시할 수 있습니다.
lvm.conf 구성 파일의 lvs_history_retention_time 메타데이터 옵션을 사용하여 보존 시간(초)을 지정하여 정의된 기간 동안 기록 볼륨을 유지하도록 시스템을 구성할 수 있습니다.
이전 논리 볼륨은 볼륨의 다음 보고 필드를 포함하여 제거된 논리 볼륨을 간략하게 표시합니다.
lv_time_removed: 논리 볼륨의 제거 시간lv_time: 논리 볼륨의 생성 시간lv_name: 논리 볼륨의 이름lv_uuid: 논리 볼륨의 UUIDVG_NAME: 논리 볼륨이 포함된 볼륨 그룹입니다.
볼륨이 제거되면 기록 논리 볼륨 이름이 접두사로 hypen을 가져옵니다. 예를 들어 논리 볼륨
lvol1 을 제거하면 기록 볼륨의 이름은 -lvol1 입니다. 기록 논리 볼륨을 다시 활성화할 수 없습니다.
record_lvs_history 메타데이터 옵션을 활성화하면 lvremove 명령의 --nohistory 옵션을 지정하여 논리 볼륨을 제거할 때 개별적으로 기록 논리 볼륨을 보존할 수 있습니다.
기록 논리 볼륨을 볼륨 디스플레이에 포함하려면 LVM display 명령의
-H|-history 옵션을 지정합니다. -H 옵션과 함께 lv_full_ancestors 및 lv_full_descendants 보고 필드를 지정하여 기록 볼륨을 포함하는 전체 씬 스냅샷 종속성 체인을 표시할 수 있습니다.
다음 일련의 명령은 기록 논리 볼륨을 표시하고 관리하는 방법에 대한 예를 제공합니다.
lvm.conf파일에서record_lvs_history=1을 설정하여 기록 논리 볼륨이 유지되는지 확인합니다. 이 메타데이터 옵션은 기본적으로 활성화되어 있지 않습니다.- 다음 명령을 입력하여 씬 프로비저닝된 스냅샷 체인을 표시합니다.이 예제에서는 다음을 수행합니다.
lvol1은 체인의 첫 번째 볼륨인 원본 볼륨입니다.lvol2는lvol1의 스냅샷입니다.lvol3은lvol2의 스냅샷입니다.lvol4는lvol3의 스냅샷입니다.lvol5는lvol3의 스냅샷이기도 합니다.
lvs display 명령에-H옵션이 포함되어 있지만 씬 스냅샷 볼륨이 아직 제거되지 않았으며 표시할 기록 논리 볼륨이 없습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 스냅샷 체인에서 논리 볼륨
lvol3을 제거한 다음 다음 lvs 명령을 다시 실행하여 ancestors 및 하위 항목과 함께 기록 논리 볼륨이 표시되는 방법을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow lv_time_removedreporting 필드를 사용하여 기록 볼륨이 제거된 시간을 표시할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 다음 예와 같이 vgname/lvname 형식을 지정하여 display 명령으로 기록 논리 볼륨을 개별적으로 참조할 수 있습니다.
lv_attr필드의 5번째 비트는h로 설정되어 볼륨이 기록 볼륨임을 나타냅니다.lvs -H vg/-lvol3 LV VG Attr LSize -lvol3 vg ----h----- 0
# lvs -H vg/-lvol3 LV VG Attr LSize -lvol3 vg ----h----- 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 볼륨에 라이브 하위 항목이 없는 경우 LVM에서 이전 논리 볼륨을 유지하지 않습니다. 즉, 스냅샷 체인 끝에 논리 볼륨을 제거하면 논리 볼륨이 기록 논리 볼륨으로 유지되지 않습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 다음 명령을 실행하여
lvol1및lvol2볼륨을 제거하고 lvs 명령이 제거되면 볼륨을 표시하는 방법을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 기록 논리 볼륨을 완전히 제거하려면 다음 예제와 같이 현재 하이픈을 포함하는 기록 볼륨의 이름을 지정하여 lvremove 명령을 다시 실행할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 하위 항목에 라이브 볼륨을 포함하는 체인이 있는 한 이전 논리 볼륨이 유지됩니다. 즉, 이전 논리 볼륨을 제거하면 다음 예제와 같이 체인의 기존 하위 항목이 연결되지 않은 경우 체인의 모든 논리 볼륨도 제거됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5. 필터를 사용하여 LVM 장치 스캔 제어 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
시작 시 192.0.2. scan 명령을 실행하여 LVM 레이블을 찾고, 해당 중 어느 것이 물리 볼륨인지 확인하고 메타데이터를 읽고 볼륨 그룹 목록을 구축하기 위해 시스템의 블록 장치를 스캔합니다. 물리 볼륨의 이름은 시스템에 있는 각 노드의 LVM 캐시 파일
/etc/lvm/cache/.cache 에 저장됩니다. 후속 명령은 다시 스캔을 피하기 위해 해당 파일을 읽을 수 있습니다.
lvm.conf 구성 파일에서 필터를 설정하여 LVM 스캔 장치를 제어할 수 있습니다. lvm.conf 파일의 필터는 /dev 디렉토리의 장치 이름에 적용되는 일련의 간단한 정규식으로 구성되어 있으며, 각 블록 장치를 수락하거나 거부할지 여부를 결정합니다.
다음 예제에서는 필터를 사용하여 LVM 스캔 장치를 제어하는 방법을 보여줍니다. 정규 표현식이 전체 경로 이름에 대해 자유롭게 일치하므로 이러한 예 중 일부는 권장되는 관행을 나타내는 것은 아닙니다. 예를 들어
a/loop/ 는 a/.*loop.*/ 와 동일하며 /dev/solooperation/lvol1 과 일치합니다.
다음 필터는 검색된 모든 장치를 추가합니다. 이는 구성 파일에 필터가 구성되어 있지 않기 때문에 기본 동작입니다.
filter = [ "a/.*/" ]
filter = [ "a/.*/" ]
다음 필터는 드라이브에 미디어가 없는 경우 지연을 방지하기 위해 cdrom 장치를 제거합니다.
filter = [ "r|/dev/cdrom|" ]
filter = [ "r|/dev/cdrom|" ]
다음 필터는 모든 루프를 추가하고 다른 모든 블록 장치를 제거합니다.
filter = [ "a/loop.*/", "r/.*/" ]
filter = [ "a/loop.*/", "r/.*/" ]
다음 필터는 모든 루프 및 IDE를 추가하고 다른 모든 블록 장치를 제거합니다.
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
다음 필터는 첫 번째 IDE 드라이브에 파티션 8만 추가하고 다른 모든 블록 장치를 제거합니다.
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
참고
lvmetad 데몬이 실행 중인 경우 pvscan --cache device 명령을 실행할 때
/etc/lvm/lvm.conf 파일의 filter = 설정이 적용되지 않습니다. 장치를 필터링하려면 global_filter = 설정을 사용해야 합니다. 글로벌 필터를 장애가 발생한 장치는 LVM에서 열지 않으며 스캔하지 않습니다. 예를 들어 VM에서 LVM 장치를 사용하는 경우 글로벌 필터를 사용해야 할 수 있으며 VM의 장치 내용이 물리적 호스트에서 스캔되지 않도록 해야 합니다.
4.6. 온라인 데이터 재할당 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
pvmove 명령과 함께 시스템을 사용하는 동안 데이터를 이동할 수 있습니다.
pvmove 명령은 섹션으로 이동할 데이터를 분할하고 각 섹션을 이동하는 임시 미러를 생성합니다. pvmove 명령 작업에 대한 자세한 내용은 pvmove(8) 도움말 페이지를 참조하십시오.
참고
클러스터에서 pvmove 작업을 수행하려면
cmirror 패키지가 설치되고 cmirrord 서비스가 실행 중인지 확인해야 합니다.
다음 명령은 할당된 모든 공간을 물리 볼륨
/dev/sdc1 에서 볼륨 그룹의 기타 사용 가능한 물리 볼륨으로 이동합니다.
pvmove /dev/sdc1
# pvmove /dev/sdc1
다음 명령은 논리 볼륨
MyLV 의 확장 영역만 이동합니다.
pvmove -n MyLV /dev/sdc1
# pvmove -n MyLV /dev/sdc1
pvmove 명령을 실행하는 데 시간이 오래 걸릴 수 있으므로 백그라운드에서 명령을 실행하여 진행 상황 업데이트를 표시하지 않도록 할 수 있습니다. 다음 명령은 할당된 모든 Extent를 물리 볼륨
/dev/sdc1 로 이동하여 백그라운드에서 /dev/sdf1 로 이동합니다.
pvmove -b /dev/sdc1 /dev/sdf1
# pvmove -b /dev/sdc1 /dev/sdf1
다음 명령은 pvmove 명령의 진행 상황을 5초 간격으로 백분율로 보고합니다.
pvmove -i5 /dev/sdd1
# pvmove -i5 /dev/sdd1
4.7. 클러스터의 개별 노드에서 논리 볼륨 활성화 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
클러스터 환경에 LVM을 설치한 경우 한 노드에서 독점적으로 논리 볼륨을 활성화해야 할 수 있습니다.
하나의 노드에서만 논리 볼륨을 활성화하려면 lvchange -aey 명령을 사용합니다. 또는 lvchange -aly 명령을 사용하여 로컬 노드에서만 논리 볼륨을 활성화할 수 있지만 독점적으로는 활성화할 수 없습니다. 나중에 추가 노드에서 동시에 활성화할 수 있습니다.
부록 D. LVM 오브젝트 태그 에 설명된 LVM 태그를 사용하여 개별 노드에서 논리 볼륨을 활성화할 수도 있습니다. 부록 B. LVM 구성 파일 에 설명된 구성 파일에서 노드 활성화를 지정할 수도 있습니다.
4.8. LVM에 대한 사용자 정의 보고 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM은 사용자 지정 보고서를 생성하고 보고서의 출력을 필터링하는 다양한 구성 및 명령줄 옵션을 제공합니다. LVM 보고 기능 및 기능에 대한 자세한 내용은 lvmreport(7) 매뉴얼 페이지를 참조하십시오.
pvs,lvs 및 Cryostats 명령을 사용하여 LVM 오브젝트에 대한 간결하고 사용자 지정 가능한 보고서를 생성할 수 있습니다. 이러한 명령이 생성되는 보고서에는 각 오브젝트에 대한 출력 한 줄이 포함됩니다. 각 줄에는 오브젝트와 관련된 속성의 정렬된 필드 목록이 포함되어 있습니다. 보고할 오브젝트를 선택하는 방법은 물리 볼륨, 볼륨 그룹, 논리 볼륨, 물리 볼륨 세그먼트 및 논리 볼륨 세그먼트에서 선택할 수 있습니다.
Red Hat Enterprise Linux 7.3 릴리스에서는 lvm fullreport 명령을 사용하여 물리 볼륨, 볼륨 그룹, 논리 볼륨 세그먼트, 물리 볼륨 세그먼트 및 논리 볼륨 세그먼트에 대한 정보를 한 번에 보고할 수 있습니다. 이 명령 및 해당 기능에 대한 자세한 내용은 lvm-fullreport(8) 도움말 페이지를 참조하십시오.
Red Hat Enterprise Linux 7.3 릴리스부터 LVM에서는 작업, 메시지, 개체별 상태 로그와 LVM 명령 실행 중에 수집된 전체 오브젝트 식별이 포함된 로그 보고서를 지원합니다. LVM 로그 보고서의 예는 4.8.6절. “명령 로그 보고(Red Hat Enterprise Linux 7.3 이상)” 를 참조하십시오. LVM 로그 보고서에 대한 자세한 내용은 lvmreport(7) 도움말 페이지를 참조하십시오.
다음 섹션에서는 pvs,lvs 및 Cryostats 명령을 사용하여 보고서를 사용자 지정하는 방법에 대한 요약 정보를 제공합니다.
- 4.8.1절. “형식 제어”..., 보고서의 형식을 제어하는 데 사용할 수 있는 명령 인수의 요약을 제공합니다.
- 4.8.2절. “오브젝트 표시 필드”.. - 각 LVM 오브젝트에 대해 표시할 수 있는 필드 목록을 제공합니다.
- 4.8.3절. “LVM 보고서 정렬”생성된 보고서를 정렬하는 데 사용할 수 있는 명령 인수의 요약을 제공합니다.Provides a summary of command arguments you can use to sort the generated report.
- 4.8.4절. “단위 지정”보고서 출력 단위를 지정하기 위한 지침을 제공하는 .
- 4.8.5절. “JSON 형식 출력(Red Hat Enterprise Linux 7.3 이상)”.. JSON 형식 출력(Red Hat Enterprise Linux 7.3 이상)을 지정하는 예제를 제공합니다.
- 4.8.6절. “명령 로그 보고(Red Hat Enterprise Linux 7.3 이상)”명령 로그의 예를 제공합니다.
4.8.1. 형식 제어 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
pvs,lvs 또는 Cryostats 명령을 사용할지 여부에 따라 표시된 기본 필드 세트와 정렬 순서가 결정됩니다. 다음 인수를 사용하여 이러한 명령의 출력을 제어할 수 있습니다.
-o인수를 사용하여 기본값 이외의 필드에 표시되는 필드를 변경할 수 있습니다. 예를 들어 다음 출력은 pvs 명령의 기본 표시입니다(물리 볼륨에 대한 정보를 표시함).Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령은 물리 볼륨 이름과 크기만 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - -o 인수와 함께 사용되는 더하기 기호(+)를 사용하여 출력에 필드를 추가할 수 있습니다.다음 예제는 기본 필드 외에 물리 볼륨의 UUID를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 명령에
-v인수를 추가하면 몇 가지 추가 필드가 포함됩니다. 예를 들어 pvs -v 명령은 기본 필드 외에도DevSize및PV UUID필드를 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow --noheadings인수는 제목 행을 표시하지 않습니다. 이 명령은 스크립트를 작성하는 데 유용할 수 있습니다.다음 예제에서는 모든 물리 볼륨 목록을 생성하는pv_name인수와 함께--noheadings인수를 사용합니다.pvs --noheadings -o pv_name /dev/sdb1 /dev/sdc1 /dev/sdd1
# pvs --noheadings -o pv_name /dev/sdb1 /dev/sdc1 /dev/sdd1Copy to Clipboard Copied! Toggle word wrap Toggle overflow --separator separator인수는 구분 자를 사용하여 각 필드를 구분합니다.다음 예제에서는 equals 기호(=)를 사용하여 pvs 명령의 기본 출력 필드를 구분합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구분 기호 인수를 사용할 때 필드를 정렬하려면--aligned인수와 함께인수를 사용합니다.separatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
표시 인수의 전체 목록은 pvs(8), Cryostats(8) 및 lvs(8) 도움말 페이지를 참조하십시오.
볼륨 그룹 필드는 물리 볼륨(및 물리 볼륨 세그먼트) 필드 또는 논리 볼륨(및 논리 볼륨 세그먼트) 필드와 혼합할 수 있지만 물리 볼륨 및 논리 볼륨 필드는 혼합할 수 없습니다. 예를 들어 다음 명령은 각 물리 볼륨에 대해 하나의 출력 행을 표시합니다.
4.8.2. 오브젝트 표시 필드 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 pvs, Cryostats 및 lvs 명령을 사용하여 LVM 오브젝트에 대해 표시할 수 있는 정보를 나열하는 일련의 테이블을 제공합니다.
편의를 위해 명령에 대한 기본값과 일치하는 경우 필드 이름 접두사를 삭제할 수 있습니다. 예를 들어 pvs 명령을 사용하면 name은
pv_ name 을 의미하지만, Cryostats 명령을 사용하면 name 이 Cryostat _name으로 해석됩니다.
다음 명령을 실행하는 것은 pvs -o pv_free 를 실행하는 것과 동일합니다.
참고
pvs, Cryostats , lvs 출력의 특성 필드에 있는 문자 수가 이후 릴리스에서 증가할 수 있습니다. 기존 문자 필드는 위치가 변경되지 않지만 새 필드가 끝에 추가될 수 있습니다. 이를 위해서는 특정 특성 문자를 검색하는 스크립트를 작성할 때 필드 시작 부분에 대한 상대적 위치에 따라 문자를 검색하지만 필드의 끝 부분에 대한 상대적 위치는 고려하지 않아야 합니다. 예를 들어
lv_attr 필드의 ninth 비트에서 문자 p 를 검색하려면 문자열 "^/......p/"을 검색할 수 있지만 문자열 "/*p$/"를 검색해서는 안 됩니다.
4.8.2.1. pvs 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
표 4.3. “pvs 명령 표시 필드” pvs 명령의 표시 인수와 함께 헤더 표시 및 필드에 표시된 대로 필드 이름을 나열합니다.
| 인수 | header | 설명 |
|---|---|---|
dev_size | DevSize | 물리 볼륨이 생성된 기본 장치의 크기 |
pe_start | 첫 번째 PE | 기본 장치에서 첫 번째 물리 확장 영역의 시작 부분까지 오프셋 |
pv_attr | attr | 물리 볼륨의 상태: (a)llocatable 또는 e(x)ported. |
pv_fmt | FMT | 물리 볼륨의 메타데이터 형식(lvm2 또는 lvm1) |
pv_free | PFree | 물리 볼륨에 남은 여유 공간 |
pv_name | PV | 물리 볼륨 이름 |
pv_pe_alloc_count | alloc | 사용된 물리 확장 영역 수 |
pv_pe_count | PE | 물리 확장 영역 수 |
pvseg_size | SSize | 물리 볼륨의 세그먼트 크기입니다. |
pvseg_start | 시작 | 물리 볼륨 세그먼트의 시작 물리 확장 |
pv_size | PSize | 물리 볼륨의 크기 |
pv_tags | PV 태그 | 물리 볼륨에 연결된 LVM 태그 |
pv_used | 사용됨 | 물리 볼륨에서 현재 사용된 공간의 크기 |
pv_uuid | PV UUID | 물리 볼륨의 UUID |
pvs 명령은 기본적으로 pv_name ,
pv_name,pv_fmt,pv_attr,pv_size,pv_free 라는 필드를 표시합니다. 디스플레이는 pv_name 에 따라 정렬됩니다.
pvs 명령과 함께
-v 인수를 사용하면 기본 디스플레이인 dev_size,pv_uuid 에 다음 필드가 추가됩니다.
pvs 명령의
--segments 인수를 사용하여 각 물리 볼륨 세그먼트에 대한 정보를 표시할 수 있습니다. 세그먼트는 확장 영역 그룹입니다. 세그먼트 보기는 논리 볼륨이 조각화되는지 여부를 확인하려는 경우 유용할 수 있습니다.
pvs --segments 명령은 기본적으로
pv_name, Cryostat_name ,pv_ fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size. 디스플레이는 물리 볼륨 내에서 pv_name 및 pvseg_size 에 따라 정렬됩니다.
pvs -a 명령을 사용하여 LVM 물리 볼륨으로 초기화되지 않은 LVM에서 감지한 장치를 확인할 수 있습니다.
4.8.2.2. vgs 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
표 4.4. “VGs 필드 표시” 헤더 표시에 표시되는 필드 이름 및 필드에 대한 설명과 함께 field name의 표시 인수를 나열합니다.
| 인수 | header | 설명 |
|---|---|---|
lv_count | #LV | 볼륨 그룹에 포함된 논리 볼륨 수 |
max_lv | MaxLV | 볼륨 그룹에 허용되는 최대 논리 볼륨 수(0 무제한) |
max_pv | MaxPV | 볼륨 그룹에 허용되는 최대 물리 볼륨 수(0 무제한) |
pv_count | #PV | 볼륨 그룹을 정의하는 물리 볼륨 수 |
snap_count | #SN | 볼륨 그룹에 포함된 스냅샷 수 |
vg_attr | attr | 볼륨 그룹의 상태: (w)r(r)eadonly, resi(z)eported, (p)artial 및 (c)lustered. |
vg_extent_count | #ext | 볼륨 그룹의 물리 확장 영역 수 |
vg_extent_size | ext | 볼륨 그룹의 물리 확장 영역의 크기 |
vg_fmt | FMT | 볼륨 그룹의 메타데이터 형식(lvm2 또는 lvm1) |
vg_free | VFree | 볼륨 그룹에 남아 있는 여유 공간의 크기 |
vg_free_count | 무료 | 볼륨 그룹에서 사용 가능한 물리 확장 영역 수 |
vg_name | VG | 볼륨 그룹 이름 |
vg_seqno | seq | 볼륨 그룹의 리버전을 나타내는 숫자 |
vg_size | VSize | 볼륨 그룹의 크기 |
vg_sysid | SYS ID | LVM1 시스템 ID |
vg_tags | VG 태그 | 볼륨 그룹에 연결된 LVM 태그 |
vg_uuid | VG UUID | 볼륨 그룹의 UUID |
Cryostats 명령은 기본적으로 다음 필드를 표시합니다. Cryostat
_name,pv_count,lv_count,snap_count, Cryostat_attr, Cryostat_ size. 디스플레이는 vg_name 에 따라 정렬됩니다.
vgs VG #PV #LV #SN Attr VSize VFree new_vg 3 1 1 wz--n- 51.42G 51.36G
# vgs
VG #PV #LV #SN Attr VSize VFree
new_vg 3 1 1 wz--n- 51.42G 51.36G
Cryostats 명령과 함께
-v 인수를 사용하면 기본 디스플레이에 다음 필드가 추가됩니다. Cryostat _extent_size, Cryostat_uuid.
4.8.2.3. lvs 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
표 4.5. “LVs 표시 필드” lvs 명령의 표시 인수와 함께 헤더 표시에 표시되는 필드 이름 및 필드에 대한 설명을 나열합니다.
참고
Red Hat Enterprise Linux의 최신 릴리스에서는 출력에 추가 필드가 추가되면서 lvs 명령의 출력이 다를 수 있습니다. 그러나 필드의 순서는 동일하게 유지되며 추가 필드는 디스플레이 끝에 표시됩니다.
| 인수 | header | 설명 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| chunk | 스냅샷 볼륨의 단위 크기 | ||||||||||
copy_percent | Copy% | pv_move 명령을 사용하여 물리 확장 영역을 이동할 때에도 미러링된 논리 볼륨의 동기화 백분율 | ||||||||||
장치 | 장치 | 논리 볼륨을 구성하는 기본 장치: 물리 볼륨, 논리 볼륨, 물리 확장 영역 및 논리 확장 영역을 시작합니다. | ||||||||||
lv_ancestors | 상위 | (Red Hat Enterprise Linux 7.2 이상) 씬 풀 스냅샷의 경우 논리 볼륨의 상위 | ||||||||||
lv_descendants | 하위 항목 | (Red Hat Enterprise Linux 7.2 이상) 씬 풀 스냅샷의 경우 논리 볼륨의 하위 항목입니다. | ||||||||||
lv_attr | attr | 논리 볼륨의 상태. 논리 볼륨 특성 비트는 다음과 같습니다.
| ||||||||||
lv_kernel_major | KMaj | 논리 볼륨의 실제 주요 장치 번호( 비활성인 경우-1) | ||||||||||
lv_kernel_minor | KMIN | 논리 볼륨의 실제 마이너 장치 번호( 비활성인 경우-1) | ||||||||||
lv_major | Maj | 논리 볼륨의 영구 주요 장치 번호(수정되지 않은 경우-1) | ||||||||||
lv_minor | 분 | 논리 볼륨의 영구 마이너 장치 번호(수정되지 않은 경우-1) | ||||||||||
lv_name | LV | 논리 볼륨의 이름 | ||||||||||
lv_size | LSize | 논리 볼륨의 크기 | ||||||||||
lv_tags | 포르 태그 | 논리 볼륨에 연결된 LVM 태그 | ||||||||||
lv_uuid | LV UUID | 논리 볼륨의 UUID입니다. | ||||||||||
mirror_log | log | 미러 로그가 있는 장치 | ||||||||||
modules | 모듈 | 이 논리 볼륨을 사용하는 데 필요한 커널 장치 매퍼 대상 | ||||||||||
move_pv | 이동 | pvmove 명령을 사용하여 생성된 임시 논리 볼륨의 소스 물리 볼륨 | ||||||||||
origin | 출처 | 스냅샷 볼륨의 원본 장치 | ||||||||||
| 리전 | 미러링된 논리 볼륨의 단위 크기 | ||||||||||
seg_count | #Seg | 논리 볼륨의 세그먼트 수 | ||||||||||
seg_size | SSize | 논리 볼륨의 세그먼트 크기입니다. | ||||||||||
seg_start | 시작 | 논리 볼륨의 세그먼트 오프셋 | ||||||||||
seg_tags | Seg 태그 | 논리 볼륨의 세그먼트에 연결된 LVM 태그 | ||||||||||
segtype | 유형 | 논리 볼륨의 세그먼트 유형(예: mirror, striped, linear) | ||||||||||
snap_percent | snap% | 사용 중인 스냅샷 볼륨의 현재 백분율 | ||||||||||
스트라이프 | #Str | 논리 볼륨의 스트라이프 수 또는 미러 수 | ||||||||||
| 스트라이프 | 스트라이핑된 논리 볼륨의 단위 크기 |
lvs 명령은 기본적으로
lv_name, Cryostat_name ,lv_ attr,lv_size,origin,snap_percent,move_pv,mirror_log,copy_percent,convert_lv. 기본 디스플레이는 볼륨 그룹 내의 vg_name 및 lv_name 에 따라 정렬됩니다.
lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lvol0 new_vg owi-a- 52.00M newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20
lvs 명령과 함께
-v 인수를 사용하면 기본 디스플레이에 다음 필드가 추가됩니다. seg_count,lv_major,lv_ kernel_major,lv_kernel_minor,lv_uuid.
lvs 명령의
--segments 인수를 사용하여 세그먼트 정보를 강조하는 기본 열이 있는 정보를 표시할 수 있습니다. segments 인수를 사용하면 seg 접두사가 선택 사항입니다. lvs --segments 명령은 기본적으로 lv_name, Cryostat_name ,lv_ at trs ,스트라이프 유형 ,segtype,seg_size 필드를 표시합니다. 기본 디스플레이는 vg_name, 볼륨 그룹 내의lv_name, 논리 볼륨 내에서 seg_start 에 따라 정렬됩니다. 논리 볼륨이 조각화된 경우 이 명령의 출력에 다음이 표시됩니다.
lvs --segments 명령과 함께
-v 인수를 사용하면 기본 디스플레이( seg_start,stripesize,chunksize )에 다음 필드가 추가됩니다.
다음 예제에서는 하나의 논리 볼륨이 구성된 시스템의 lvs 명령의 기본 출력 다음에 지정된
세그먼트 인수와 함께 lvs 명령의 기본 출력을 보여줍니다.
4.8.3. LVM 보고서 정렬 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
일반적으로 lvs, Cryostats 또는 pvs 명령의 전체 출력은 올바르게 정렬되고 정렬되기 전에 내부적으로 생성되어 저장해야 합니다.
--unbuffered 인수를 지정하여 불필요한 출력을 생성하는 즉시 표시할 수 있습니다.
정렬할 열 대체 정렬된 목록을 지정하려면 보고 명령의
-O 인수를 사용합니다. 이러한 필드를 출력 자체에 포함할 필요는 없습니다.
다음 예제에서는 물리 볼륨 이름, 크기, 사용 가능한 공간을 표시하는 pvs 명령의 출력을 보여줍니다.
다음 예제에서는 사용 가능한 공간 필드를 기준으로 정렬한 동일한 출력을 보여줍니다.
다음 예제에서는 정렬할 필드를 표시할 필요가 없음을 보여줍니다.
역방향 정렬을 표시하려면
- 문자를 사용하여 -O 인수 뒤에 지정하는 필드 앞에 표시됩니다.
4.8.4. 단위 지정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 보고서 디스플레이의 장치를 지정하려면 report 명령의
--units 인수를 사용합니다. (b) ilottes, (k)egabytes, (g)igabytes, (t)erabytes, (e)xabytes, (p)etabytes, (h)uman-readable-readable-readable-readable를 지정할 수 있습니다. 기본 디스플레이는 사람이 읽을 수 있습니다. lvm.conf 파일의 global 섹션에서 units 매개변수를 설정하여 기본값을 덮어쓸 수 있습니다.
다음 예제에서는 기본 기가바이트 대신 pvs 명령의 출력을 메가바이트로 지정합니다.
기본적으로 단위는 2의 거듭제곱(24개)으로 표시됩니다. 단위 사양 (B, K, M, G, T, H)을 활용하여 1000의 여러 단위에 장치를 표시하도록 지정할 수 있습니다.
다음 명령은 기본 동작인 1024의 수로 출력을 표시합니다.
다음 명령은 1000개의 다중으로 출력을 표시합니다.
또한 (s)ectors(512바이트로 정의됨) 또는 사용자 지정 단위를 지정할 수도 있습니다.
다음 예제에서는 pvs 명령의 출력을 여러 섹터로 표시합니다.
다음 예제는 PVC 명령 의 출력을 4MB 단위로 표시합니다.
4.8.5. JSON 형식 출력(Red Hat Enterprise Linux 7.3 이상) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.3부터 LVM 디스플레이 명령의
--reportformat 옵션을 사용하여 출력을 JSON 형식으로 표시할 수 있습니다.
다음 예제에서는 lv의 출력을 표준 기본 형식으로 보여줍니다.
다음 명령은 JSON 형식을 지정할 때 동일한 LVM 구성의 출력을 보여줍니다.
output_format 설정을 사용하여 /etc/lvm/lvm.conf 파일에서 보고서 형식을 구성 옵션으로 설정할 수도 있습니다. 그러나 명령줄의 --reportformat 설정은 이 설정보다 우선합니다.
4.8.6. 명령 로그 보고(Red Hat Enterprise Linux 7.3 이상) 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 7.3부터 보고서 중심 및 처리 지향 LVM 명령 모두
log/report_command_log 구성 설정으로 활성화된 경우 명령 로그를 보고할 수 있습니다. 표시할 필드 집합을 확인하고 이 보고서에 따라 정렬할 수 있습니다.You can determine the set of fields to display and to sort by for this report.
다음 예제에서는 LVM 명령에 대한 전체 로그 보고서를 생성하도록 LVM을 구성합니다. 이 예에서는 볼륨이 포함된 볼륨 그룹
VG 와 마찬가지로 lvol0 및 lvol1 모두 성공적으로 처리되었음을 확인할 수 있습니다.
LVM 보고서 및 명령 로그를 구성하는 방법에 대한 자세한 내용은 lvmreport 도움말 페이지를 참조하십시오.
5장. LVM 설정 예 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 몇 가지 기본 LVM 구성 예제를 설명합니다.
5.1. 3개의 디스크에서 LVM 논리 볼륨 만들기 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 예제 절차에서는
/dev/sda1,/dev/sdb1, /dev/sdc1 의 디스크로 구성된 new_logic_volume이라는 LVM 논리 볼륨을 생성합니다.
- 볼륨 그룹의 디스크를 사용하려면 pvcreate 명령을 사용하여 LVM 물리 볼륨으로 레이블을 지정합니다.주의이 명령은
/dev/sda1,/dev/sdb1,/dev/sdc1의 모든 데이터를 제거합니다.pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 Physical volume "/dev/sda1" successfully created Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully created
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 Physical volume "/dev/sda1" successfully created Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성한 LVM 물리 볼륨으로 구성된 볼륨 그룹을 만듭니다. 다음 명령은
new_vol_group볼륨 그룹을 생성합니다.vgcreate new_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1 Volume group "new_vol_group" successfully created
# vgcreate new_vol_group /dev/sda1 /dev/sdb1 /dev/sdc1 Volume group "new_vol_group" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cryostats 명령을 사용하여 새 볼륨 그룹의 속성을 표시할 수 있습니다.vgs VG #PV #LV #SN Attr VSize VFree new_vol_group 3 0 0 wz--n- 51.45G 51.45G
# vgs VG #PV #LV #SN Attr VSize VFree new_vol_group 3 0 0 wz--n- 51.45G 51.45GCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성한 볼륨 그룹에서 논리 볼륨을 만듭니다. 다음 명령은 볼륨 그룹
new_vol볼륨을 생성합니다. 이 예에서는 볼륨 그룹의 2GB를 사용하는 논리 볼륨을 생성합니다._group에서 new_logic_volume 논리lvcreate -L 2G -n new_logical_volume new_vol_group Logical volume "new_logical_volume" created
# lvcreate -L 2G -n new_logical_volume new_vol_group Logical volume "new_logical_volume" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 논리 볼륨에 파일 시스템을 생성합니다. 다음 명령은 논리 볼륨에 GFS2 파일 시스템을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령은 논리 볼륨을 마운트하고 파일 시스템 디스크 공간 사용을 보고합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. 스트립 논리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 예제 절차에서는
/dev/sda1,/dev/sdb1, /dev/sdc1 의 디스크에서 데이터를 스트라이핑하는 LVM 스트라이핑된 논리 볼륨 을 생성합니다.
- 볼륨 그룹에서 사용할 디스크에는 pvcreate 명령을 사용하여 LVM 물리 볼륨으로 레이블을 지정합니다.주의이 명령은
/dev/sda1,/dev/sdb1,/dev/sdc1의 모든 데이터를 제거합니다.pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 Physical volume "/dev/sda1" successfully created Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully created
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 Physical volume "/dev/sda1" successfully created Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 볼륨 그룹
volgroup01을 만듭니다. 다음 명령은 볼륨 그룹volgroup01을 생성합니다.vgcreate volgroup01 /dev/sda1 /dev/sdb1 /dev/sdc1 Volume group "volgroup01" successfully created
# vgcreate volgroup01 /dev/sda1 /dev/sdb1 /dev/sdc1 Volume group "volgroup01" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cryostats 명령을 사용하여 새 볼륨 그룹의 속성을 표시할 수 있습니다.vgs VG #PV #LV #SN Attr VSize VFree volgroup01 3 0 0 wz--n- 51.45G 51.45G
# vgs VG #PV #LV #SN Attr VSize VFree volgroup01 3 0 0 wz--n- 51.45G 51.45GCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성한 볼륨 그룹에서 스트라이핑된 논리 볼륨을 만듭니다. 다음 명령은 볼륨 그룹
volgroup01에서제거된 논리 볼륨 스트라이핑_logic_volume을 생성합니다. 이 예에서는 크기가 2GB인 논리 볼륨을 생성합니다. 3개의 스트라이프와 스트라이프 크기가 4킬로바이트입니다.lvcreate -i 3 -I 4 -L 2G -n striped_logical_volume volgroup01 Rounding size (512 extents) up to stripe boundary size (513 extents) Logical volume "striped_logical_volume" created
# lvcreate -i 3 -I 4 -L 2G -n striped_logical_volume volgroup01 Rounding size (512 extents) up to stripe boundary size (513 extents) Logical volume "striped_logical_volume" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 스트라이핑된 논리 볼륨에 파일 시스템을 만듭니다. 다음 명령은 논리 볼륨에 GFS2 파일 시스템을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령은 논리 볼륨을 마운트하고 파일 시스템 디스크 공간 사용을 보고합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. 볼륨 그룹 분할 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 예제 절차에서는 기존 볼륨 그룹이 세 개의 물리 볼륨으로 구성됩니다. 물리 볼륨에 사용되지 않은 공간이 충분한 경우 새 디스크를 추가하지 않고 새 볼륨 그룹을 만들 수 있습니다.
초기 설정에서는 논리 볼륨
mylv 가 볼륨 그룹 myvol에서 수정되며, 볼륨 그룹 myvol 은 세 개의 물리 볼륨, /dev/sda1,/dev/sdb1, /dev/sdc1 로 구성됩니다.
이 절차를 완료하면
myvg 볼륨 그룹이 /dev/sda1 및 /dev/sdb1 로 구성됩니다. 두 번째 볼륨 그룹 yourvg 는 /dev/sdc1 로 구성됩니다.
- pvscan 명령을 사용하여 볼륨 그룹에서 현재 사용 가능한 공간 크기를 결정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - pvmove 명령을 사용하여
/dev/sdc1에서 사용된 모든 물리 확장 영역을/dev/sdb1로 이동합니다. pvmove 명령을 실행하는 데 시간이 오래 걸릴 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터를 이동한 후/dev/sdc1의 모든 공간이 사용 가능한 것을 확인할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 새 볼륨 그룹
yourvg를 생성하려면 Cryostat split 명령을 사용하여 볼륨 그룹myvg를 분할합니다.볼륨 그룹을 분할하려면 논리 볼륨이 비활성 상태여야 합니다. 파일 시스템이 마운트된 경우 논리 볼륨을 비활성화하기 전에 파일 시스템을 마운트 해제해야 합니다.lvchange 명령 또는 Cryostatchange 명령을 사용하여 논리 볼륨을 비활성화합니다. 다음 명령은 논리 볼륨mylv를 비활성화한 다음 myvg 볼륨 그룹 myvg에서 볼륨 그룹myvg를 분할하여 물리 볼륨/dev/sdc1을 새 볼륨 그룹인로 이동합니다.yourvglvchange -a n /dev/myvg/mylv vgsplit myvg yourvg /dev/sdc1 Volume group "yourvg" successfully split from "myvg"
# lvchange -a n /dev/myvg/mylv # vgsplit myvg yourvg /dev/sdc1 Volume group "yourvg" successfully split from "myvg"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cryostats 명령을 사용하여 두 볼륨 그룹의 속성을 확인할 수 있습니다.vgs VG #PV #LV #SN Attr VSize VFree myvg 2 1 0 wz--n- 34.30G 10.80G yourvg 1 0 0 wz--n- 17.15G 17.15G
# vgs VG #PV #LV #SN Attr VSize VFree myvg 2 1 0 wz--n- 34.30G 10.80G yourvg 1 0 0 wz--n- 17.15G 17.15GCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 새 볼륨 그룹을 만든 후 새 논리 볼륨
yourlv를 만듭니다.lvcreate -L 5G -n yourlv yourvg Logical volume "yourlv" created
# lvcreate -L 5G -n yourlv yourvg Logical volume "yourlv" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 새 논리 볼륨에 파일 시스템을 생성하고 마운트합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 논리 볼륨
mylv를 비활성화해야 하므로 마운트하기 전에 다시 활성화해야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. 논리 볼륨에서 디스크 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 절차에서는 기존 논리 볼륨에서 디스크를 제거하거나 디스크를 다른 볼륨의 일부로 사용하는 방법을 보여줍니다. 디스크를 제거하려면 먼저 LVM 물리 볼륨의 확장 영역을 다른 디스크 또는 디스크 세트로 이동해야 합니다.
5.4.1. 기존 물리 볼륨으로 이동 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 예에서 논리 볼륨은 볼륨 그룹
myvg 의 4 개의 물리 볼륨에 배포됩니다.
이 예에서는 볼륨 그룹에서 제거할 수 있도록 확장 영역을
/dev/sdb1 에서 이동합니다.
- 볼륨 그룹의 다른 물리 볼륨에 사용 가능한 확장 영역이 충분한 경우 다른 옵션 없이 제거하려는 장치에서 pvmove 명령을 실행할 수 있으며 Extent는 다른 장치에 배포됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvmove 명령 실행이 완료되면 Extent 배포는 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Cryostat reduce 명령을 사용하여 볼륨 그룹에서 물리 볼륨
/dev/sdb1을 제거합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 디스크를 물리적으로 제거하거나 다른 사용자에게 할당할 수 있습니다.
5.4.2. 확장 영역을 새 디스크로 이동 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 예에서 논리 볼륨은 볼륨 그룹
myvg 의 세 개의 물리 볼륨에 다음과 같이 배포됩니다.
이 예제 절차에서는
/dev/sdb1 의 Extent를 새 장치인 /dev/sdd1 로 이동합니다.
/dev/sdd1에서 새 물리 볼륨을 만듭니다.pvcreate /dev/sdd1 Physical volume "/dev/sdd1" successfully created
# pvcreate /dev/sdd1 Physical volume "/dev/sdd1" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 새 물리 볼륨
/dev/sdd1을 기존 볼륨 그룹myvg에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - pvmove 명령을 사용하여 데이터를
/dev/sdb1에서/dev/sdd1로 이동합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 데이터를
/dev/sdb1에서 이동한 후 볼륨 그룹에서 제거할 수 있습니다.vgreduce myvg /dev/sdb1 Removed "/dev/sdb1" from volume group "myvg"
# vgreduce myvg /dev/sdb1 Removed "/dev/sdb1" from volume group "myvg"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 디스크를 다른 볼륨 그룹에 재배치하거나 시스템에서 디스크를 제거할 수 있습니다.
5.5. 클러스터에서 미러링된 LVM 논리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
클러스터에 미러링된 LVM 논리 볼륨을 생성하려면 세그먼트 유형의
미러 가 있는 단일 노드에 미러링된 LVM 논리 볼륨을 생성하는 것과 동일한 명령 및 절차가 필요합니다. 그러나 클러스터에 미러링된 LVM 볼륨을 생성하려면 다음을 수행합니다.
- 클러스터 및 클러스터 미러 인프라가 실행 중이어야 합니다.
- 클러스터가 정족수여야 합니다.
- 클러스터 잠금을 활성화하려면
lvm.conf파일의 잠금 유형을 올바르게 설정해야 하며use_lvmetad설정은 0이어야 합니다. 그러나 Red Hat Enterprise Linux 7에서는 시작 절차의 일부로ocf:heartbeat:clvmPacemaker 리소스 에이전트 자체에서 이러한 작업을 수행합니다.
Red Hat Enterprise Linux 7에서 클러스터는 Pacemaker를 통해 관리됩니다. 클러스터형 LVM 논리 볼륨은 Pacemaker 클러스터와 함께만 지원되며 클러스터 리소스로 구성해야 합니다.
다음 절차에서는 클러스터에 미러링된 LVM 볼륨을 생성합니다.
- 클러스터 소프트웨어 및 LVM 패키지를 설치하고 클러스터 소프트웨어를 시작하고 클러스터를 생성합니다. 클러스터의 펜싱을 구성해야 합니다. 문서 고가용성 애드온 관리 에서는 클러스터를 생성하고 클러스터의 노드의 펜싱을 구성하는 샘플 프로세스를 제공합니다. 문서 고가용성 애드온 참조 는 클러스터 구성의 구성 요소에 대한 자세한 정보를 제공합니다.
- 클러스터의 모든 노드에서 공유하는 미러링된 논리 볼륨을 생성하려면 클러스터의 모든 노드의
lvm.conf파일에서 잠금 유형을 올바르게 설정해야 합니다. 기본적으로 잠금 유형은 local로 설정됩니다. 이를 변경하려면 클러스터의 각 노드에서 다음 명령을 실행하여 클러스터형 잠금을 활성화합니다./sbin/lvmconf --enable-cluster
# /sbin/lvmconf --enable-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 클러스터의
dlm리소스를 설정합니다. 클러스터의 모든 노드에서 리소스를 실행하도록 복제된 리소스로 리소스를 생성합니다.pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
# pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow clvmd를 클러스터 리소스로 구성합니다.dlm리소스와 마찬가지로, 클러스터의 모든 노드에서 실행되도록 복제된 리소스로 리소스를 생성합니다.clvmd가 실행되는 모든 노드에서 cmirrord 데몬을 활성화하려면with_cmirrord=true매개변수를 설정해야 합니다.pcs resource create clvmd ocf:heartbeat:clvm with_cmirrord=true op monitor interval=30s on-fail=fence clone interleave=true ordered=true
# pcs resource create clvmd ocf:heartbeat:clvm with_cmirrord=true op monitor interval=30s on-fail=fence clone interleave=true ordered=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow clvmd리소스를 이미 구성했지만with_cmirrord=true매개변수를 지정하지 않은 경우 다음 명령을 사용하여 매개 변수를 포함하도록 리소스를 업데이트할 수 있습니다.pcs resource update clvmd with_cmirrord=true
# pcs resource update clvmd with_cmirrord=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow clvmd및dlm종속성을 설정하고 순서를 시작합니다.clvmd는dlm후에 시작해야 하며dlm과 동일한 노드에서 실행해야 합니다.pcs constraint order start dlm-clone then clvmd-clone pcs constraint colocation add clvmd-clone with dlm-clone
# pcs constraint order start dlm-clone then clvmd-clone # pcs constraint colocation add clvmd-clone with dlm-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 미러를 생성합니다. 첫 번째 단계는 물리 볼륨을 만드는 것입니다. 다음 명령은 세 개의 물리 볼륨을 생성합니다. 미러 레코드에는 두 개의 물리 볼륨이 사용되며 세 번째 물리 볼륨에는 미러 로그가 포함됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 볼륨 그룹을 만듭니다. 이 예제에서는 이전 단계에서 만든 세 개의 물리 볼륨으로 구성된 볼륨 그룹 Cryostat
001을 생성합니다.vgcreate vg001 /dev/sdb1 /dev/sdc1 /dev/sdd1 Clustered volume group "vg001" successfully created
# vgcreate vg001 /dev/sdb1 /dev/sdc1 /dev/sdd1 Clustered volume group "vg001" successfully createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cryostatcreate 명령의출력은 볼륨 그룹이 클러스터됨을 나타냅니다. 볼륨 그룹의 속성을 표시하는 Cryostat 명령을 사용하여 볼륨 그룹이 클러스터링되었는지 확인할 수 있습니다. 볼륨 그룹이 클러스터형 경우 c 속성이 표시됩니다.vgs vg001 VG #PV #LV #SN Attr VSize VFree vg001 3 0 0 wz--nc 68.97G 68.97G
# vgs vg001 VG #PV #LV #SN Attr VSize VFree vg001 3 0 0 wz--nc 68.97G 68.97GCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 미러링된 논리 볼륨을 생성합니다. 이 예에서는 볼륨 그룹 Cryostat
001에서 논리 볼륨mirrorlv를 생성합니다. 이 볼륨에는 하나의 미러 다리가 있습니다. 이 예에서는 논리 볼륨에 사용할 물리 볼륨의 확장 영역을 지정합니다.lvcreate --type mirror -l 1000 -m 1 vg001 -n mirrorlv /dev/sdb1:1-1000 /dev/sdc1:1-1000 /dev/sdd1:0 Logical volume "mirrorlv" created
# lvcreate --type mirror -l 1000 -m 1 vg001 -n mirrorlv /dev/sdb1:1-1000 /dev/sdc1:1-1000 /dev/sdd1:0 Logical volume "mirrorlv" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow lvs 명령을 사용하여 미러 생성의 진행 상황을 표시할 수 있습니다. 다음 예제에서는 미러가 47% 동기화된 다음 91% 동기화된 다음 미러가 완료되면 100% 동기화되었음을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 미러의 완료는 시스템 로그에 표시됩니다.May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-syncCopy to Clipboard Copied! Toggle word wrap Toggle overflow - lvs 명령을 -o +devices 옵션과 함께 사용하여 미러 브릿지를 구성하는 장치를 포함하여 미러의 구성을 표시할 수 있습니다. 이 예제의 논리 볼륨이 두 개의 선형 이미지와 하나의 로그로 구성되어 있음을 알 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow lvs 의seg_pe_ranges옵션을 사용하여 데이터 레이아웃을 표시할 수 있습니다. 이 옵션을 사용하여 레이아웃이 제대로 중복되었는지 확인할 수 있습니다. 이 명령의 출력에서는 lvcreate 및 lvresize 명령이 입력으로 사용하는 것과 동일한 형식으로 PE 범위를 표시합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
참고
LVM 미러링된 볼륨 안전 중 하나의 장애 복구에 대한 자세한 내용은 6.2절. “LVM Mirror 실패에서 복구” 을 참조하십시오.
6장. LVM 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 다양한 LVM 문제 해결 방법을 설명합니다.
6.1. 진단 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
명령이 예상대로 작동하지 않는 경우 다음과 같은 방법으로 진단을 수집할 수 있습니다.
- 점점 더 자세한 출력 수준을
얻으려면모든 명령의, -vvv , -vvv 인수를 사용합니다.-vvv - 문제가 논리 볼륨 활성화와 관련된 경우 구성 파일의
로그섹션에서activation = 1을 설정하고-vvvv인수로 명령을 실행합니다. 이 출력을 검사한 후 메모리가 부족한 상태에서 시스템 잠금 문제가 발생하지 않도록 이 매개 변수를 0으로 재설정해야 합니다. - 진단 목적으로 정보 덤프를 제공하는 lvmdump 명령을 실행합니다. 자세한 내용은 lvmdump(8) 매뉴얼 페이지를 참조하십시오.
- 추가 시스템 정보는 lvs -v,pvs -a 또는 dmsetup info -c 명령을 실행합니다.
/etc/lvm/backup파일에서 메타데이터의 마지막 백업과/etc/lvm/archive파일의 아카이브 버전을 검사합니다.- lvmconfig 명령을 실행하여 현재 구성 정보를 확인합니다.
/etc/lvm디렉터리의.cache파일에서 물리적 볼륨이 있는 장치에 대한 레코드가 있는지 확인합니다.
6.2. LVM Mirror 실패에서 복구 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 물리 볼륨의 기본 장치가 중단되고
mirror_log_fault_policy 매개변수가 제거 되도록 설정되어 있기 때문에 LVM 미러링된 볼륨의 한 부분이 실패하는 상황에서 복구하는 예를 제공합니다. 이를 위해서는 미러를 수동으로 다시 빌드해야 합니다. mirror_log_fault_policy 매개변수 설정에 대한 자세한 내용은 4.4.4.1절. “미러링된 논리 볼륨 실패 정책” 을 참조하십시오.
미러 다리가 실패하면 LVM은 미러링된 볼륨을 선형 볼륨으로 변환하여 미러링된 중복이 없는 이전과 마찬가지로 계속 작동합니다. 이 시점에서 대체 물리적 장치로 사용할 새 디스크 장치를 시스템에 추가하고 미러를 다시 빌드할 수 있습니다.
다음 명령은 미러에 사용할 물리 볼륨을 생성합니다.
다음 명령은 볼륨 그룹 Cryostat 및
미러링 된 볼륨 groupfs 를 생성합니다.
lvs 명령을 사용하여 미러 브릿지 및 미러 로그의 미러링된 볼륨 및 기본 장치의 레이아웃을 확인할 수 있습니다. 첫 번째 예에서 미러는 아직 완전히 동기화되지 않았습니다. 계속하기 전에
Copy% 필드가 100.00으로 표시될 때까지 기다려야 합니다.
이 예에서는 미러
/dev/sda1 의 기본 브릿지가 실패합니다. 미러링된 볼륨에 대한 쓰기 활동으로 인해 LVM에서 실패한 미러를 탐지합니다. 이 경우 LVM은 미러를 단일 선형 볼륨으로 변환합니다. 이 경우 변환을 트리거하려면 dd 명령을 실행합니다.
dd if=/dev/zero of=/dev/vg/groupfs count=10 10+0 records in 10+0 records out
# dd if=/dev/zero of=/dev/vg/groupfs count=10
10+0 records in
10+0 records out
lvs 명령을 사용하여 장치가 이제 선형 장치인지 확인할 수 있습니다. 실패한 디스크로 인해 I/O 오류가 발생했습니다.
lvs -a -o +devices /dev/sda1: read failed after 0 of 2048 at 0: Input/output error LV VG Attr LSize Origin Snap% Move Log Copy% Devices groupfs vg -wi-a- 752.00M /dev/sdb1(0)
# lvs -a -o +devices
/dev/sda1: read failed after 0 of 2048 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
groupfs vg -wi-a- 752.00M /dev/sdb1(0)
이 시점에서 논리 볼륨을 계속 사용할 수 있어야 하지만 미러 중복은 없습니다.
미러링된 볼륨을 다시 빌드하려면 손상된 드라이브를 교체하고 물리 볼륨을 다시 생성합니다. pvcreate 명령을 실행할 때 새 디스크를 교체하는 대신 동일한 디스크를 사용하는 경우 "상위" 경고가 표시됩니다. Cryostatreduce --removemissing 명령을 실행하여 경고가 표시되지 않도록 할 수 있습니다.
다음으로 새 물리 볼륨을 사용하여 원래 볼륨 그룹을 확장합니다.
선형 볼륨을 원래 미러링된 상태로 다시 변환합니다.
lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1 Logical volume mirror converted.
# lvconvert -m 1 /dev/vg/groupfs /dev/sdi1 /dev/sdb1 /dev/sdc1
Logical volume mirror converted.
lvs 명령을 사용하여 미러가 복원되었는지 확인할 수 있습니다.
6.3. 물리 볼륨 메타데이터 복구 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨의 볼륨 그룹 메타데이터 영역을 실수로 덮어쓰거나 삭제한 경우 메타데이터 영역이 잘못되었거나 시스템이 특정 UUID가 있는 물리 볼륨을 찾을 수 없음을 나타내는 오류 메시지가 표시됩니다. 물리적 볼륨에 메타데이터가 손실된 메타데이터와 동일한 UUID를 지정하여 물리 볼륨에서 데이터를 복구할 수 있습니다.
주의
작동 중인 LVM 논리 볼륨을 사용하여 이 절차를 시도해서는 안 됩니다. 잘못된 UUID를 지정하면 데이터가 손실됩니다.
다음 예제에서는 메타데이터 영역이 누락되거나 손상되었는지 여부를 확인할 수 있는 출력 종류를 보여줍니다.
/etc/lvm/archive 디렉토리를 확인하여 덮어쓰는 물리 볼륨의 UUID를 찾을 수 있습니다. 해당 볼륨 그룹에 대해 마지막으로 알려진 유효한 아카이브 LVM 메타데이터는 VolumeGroupName_xxxx.vg 파일을 찾습니다.
또는 볼륨을 비활성화하고
부분 (-P) 인수를 설정하면 손상된 물리적 볼륨의 UUID를 찾을 수 있습니다.
pvcreate 명령의
--uuid 및 --restorefile 인수를 사용하여 물리 볼륨을 복원합니다. 다음 예제에서는 위에 표시된 UUID인 FmGRh3-zhok-iVI8-7qTD-S5BI-NYM5Sk 를 사용하여 /dev/sdh1 장치를 물리 볼륨으로 레이블을 지정합니다. 이 명령은 볼륨 그룹의 최신 아카이브 메타데이터 메타데이터인 VG_00050.vg 에 포함된 메타데이터 정보를 사용하여 물리 볼륨 레이블을 복원합니다. restorefile 인수는 pvcreate 명령에 볼륨 그룹의 이전 물리 볼륨과 호환되는 새 물리 볼륨을 사용하도록 하여 이전 물리 볼륨에 포함된 데이터를 배치하지 않도록 합니다(예: 원래 pvcreate 명령이 메타데이터 배치를 제어하는 명령줄 인수를 사용하거나 다른 기본값을 사용하여 물리적 볼륨이 원래 생성된 경우). pvcreate 명령은 LVM 메타데이터 영역만 덮어쓰고 기존 데이터 영역에는 영향을 미치지 않습니다.
pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1 Physical volume "/dev/sdh1" successfully created
# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
Physical volume "/dev/sdh1" successfully created
그런 다음 Cryostat cfgrestore 명령을 사용하여 볼륨 그룹의 메타데이터를 복원할 수 있습니다.
vgcfgrestore VG Restored volume group VG
# vgcfgrestore VG
Restored volume group VG
이제 논리 볼륨을 표시할 수 있습니다.
lvs -a -o +devices LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0) stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
다음 명령은 볼륨을 활성화하고 활성 볼륨을 표시합니다.
디스크상의 LVM 메타데이터가 가능한 한 많은 공간을 차지하면 이 명령은 물리 볼륨을 복구할 수 있습니다. 메타데이터 영역을 과장한 경우 볼륨의 데이터가 영향을 받을 수 있습니다. fsck 명령을 사용하여 해당 데이터를 복구할 수 있습니다.
6.4. Missing 물리 볼륨 교체 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨이 실패하거나 교체해야 하는 경우 6.3절. “물리 볼륨 메타데이터 복구” 에 설명된 물리 볼륨 메타데이터를 복구하기 위한 것과 동일한 절차를 수행하여 기존 볼륨 그룹에 손실된 항목을 교체하도록 새 물리 볼륨에 레이블을 지정할 수 있습니다. Cryostatdisplay 명령의
--partial 및 --verbose 인수를 사용하여 더 이상 존재하지 않는 물리 볼륨의 UUID와 크기를 표시할 수 있습니다. 동일한 크기의 다른 물리 볼륨을 대체하려면 pvcreate 명령을 --restorefile 및 --uuid 인수와 함께 사용하여 누락된 물리 볼륨과 동일한 UUID로 새 장치를 초기화할 수 있습니다. 그런 다음 Cryostat cfgrestore 명령을 사용하여 볼륨 그룹의 메타데이터를 복원할 수 있습니다.
6.5. 볼륨 그룹에서 손실된 물리 볼륨 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨이 손실되면 Cryostat change 명령의
--partial 인수를 사용하여 볼륨 그룹의 나머지 물리 볼륨을 활성화할 수 있습니다. Cryostatreduce 명령의 --removemissing 인수를 사용하여 볼륨 그룹에서 해당 물리 볼륨을 사용한 모든 논리 볼륨을 제거할 수 있습니다.
--test 인수와 함께 Cryostatreduce 명령을 실행하여 제거할 항목을 확인해야 합니다.
대부분의 LVM 작업과 마찬가지로, 즉시 Cryostat cfgrestore 명령을 사용하여 볼륨 그룹 메타데이터를 이전 상태로 복원하면 대부분의 LVM 작업도 되돌릴 수 있습니다. 예를 들어
--test 인수 없이 --removemissing 인수의 --removemissing 인수를 사용한 후 유지하려는 논리 볼륨을 제거한 경우 여전히 물리 볼륨을 교체하고 다른 Cryostat cfgrestore 명령을 사용하여 볼륨 그룹을 이전 상태로 되돌릴 수 있습니다.
6.6. 논리 볼륨에 여유 범위가 충분하지 않음 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Cryostatdisplay 또는 Cryostats 명령의 출력에 따라 충분한 Extent가 있다고 생각할 때 논리 볼륨을 생성할 때 "Insufficient free extents" 오류 메시지가 표시될 수 있습니다. 이는 이러한 명령이 사람이 읽을 수 있는 출력을 제공하기 위해 2개의 10진수 위치로 반올림하기 때문입니다. 정확한 크기를 지정하려면 여러 바이트 대신 사용 가능한 물리 확장 영역 수를 사용하여 논리 볼륨의 크기를 결정합니다.
기본적으로 Cryo statdisplay 명령에는 사용 가능한 물리 확장 영역을 나타내는 이 출력 행이 포함됩니다.
vgdisplay --- Volume group --- ... Free PE / Size 8780 / 34.30 GB
# vgdisplay
--- Volume group ---
...
Free PE / Size 8780 / 34.30 GB
또는 Cryostat 명령의 Cryostat
_free_count 및 Cryostat _extent_count 인수를 사용하여 사용 가능한 확장 영역과 총 확장 영역 수를 표시할 수 있습니다.
vgs -o +vg_free_count,vg_extent_count VG #PV #LV #SN Attr VSize VFree Free #Ext testvg 2 0 0 wz--n- 34.30G 34.30G 8780 8780
# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 0 0 wz--n- 34.30G 34.30G 8780 8780
8780 무료 물리 확장 영역을 사용하면 소문자 l 인수를 사용하여 바이트 대신 Extent를 사용하여 다음 명령을 입력할 수 있습니다.
lvcreate -l 8780 -n testlv testvg
# lvcreate -l 8780 -n testlv testvg
이는 볼륨 그룹의 사용 가능한 모든 확장 영역을 사용합니다.
vgs -o +vg_free_count,vg_extent_count VG #PV #LV #SN Attr VSize VFree Free #Ext testvg 2 1 0 wz--n- 34.30G 0 0 8780
# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
testvg 2 1 0 wz--n- 34.30G 0 0 8780
또는 lvcreate 명령의
-l 인수를 사용하여 볼륨 그룹에 남아 있는 여유 공간의 백분율을 사용하도록 논리 볼륨을 확장할 수 있습니다. 자세한 내용은 4.4.1절. “선형 논리 볼륨 생성” 에서 참조하십시오.
6.7. 다중 경로 장치에 대한 PV 경고 중복 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다중 경로 스토리지가 있는 LVM을 사용하는 경우 일부 LVM 명령(예: Cryostat 또는 lvchange)은 볼륨 그룹 또는 논리 볼륨을 나열할 때 다음과 같은 메시지를 표시할 수 있습니다.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/dm-5 not /dev/sdd Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowerb not /dev/sde Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sddlmab not /dev/sdf
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/dm-5 not /dev/sdd
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowerb not /dev/sde
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sddlmab not /dev/sdf
이러한 경고의 근본 원인에 대한 정보를 제공하면 이 섹션에서는 다음 두 가지 경우에 이 문제를 해결하는 방법을 설명합니다.
- 출력에 표시되는 두 장치가 모두 동일한 장치에 대한 단일 경로입니다.
- 출력에 표시되는 두 장치가 모두 다중 경로 맵입니다.
6.7.1. PV 경고 중복의 근본 원인 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
기본 구성을 사용하면 LVM 명령이
/dev 의 장치를 스캔하고 결과 모든 장치에 LVM 메타데이터가 있는지 확인합니다. 이는 다음과 같은 /etc/lvm/lvm.conf 의 기본 필터로 인해 발생합니다.
filter = [ "a/.*/" ]
filter = [ "a/.*/" ]
장치 매퍼 멀티패스 또는 EMC PowerPath 또는 Cryostat Dynamic Link Manager(HDLM)와 같은 기타 다중 경로 소프트웨어를 사용하는 경우 특정 논리 단위 번호(LUN)로의 각 경로는
/dev/sdb 또는 /dev/sdc 와 같은 다른 SCSI 장치로 등록됩니다. 그런 다음 다중 경로 소프트웨어는 /dev/mapper/mpath1 또는 장치 맵퍼 Multipath의 경우 /dev/mapper/mpatha, EMC PowerPath를 위한 /dev/emcpowera 또는 CryostatHDLM의 경우 /dev/sddlmab 과 같은 개별 경로에 매핑되는 새 장치를 생성합니다. 각 LUN에는 /dev 에 동일한 기본 데이터를 가리키는 여러 장치 노드가 있으므로 모두 동일한 LVM 메타데이터를 포함하므로 LVM 명령은 동일한 메타데이터를 여러 번 검색하고 중복으로 보고합니다.
이러한 중복 메시지는 경고일 뿐이며 LVM 작업이 실패했음을 의미하지 않습니다. 대신 사용자 중 하나만 물리 볼륨으로 사용되었으며 다른 장치도 무시됩니다. 메시지가 잘못된 장치가 선택되었거나 경고가 사용자에게 중단되는 경우 필터를 적용하여 물리 볼륨에 필요한 장치만 검색하고 다중 경로 장치에 대한 기본 경로를 종료할 수 있습니다.
6.7.2. 단일 경로에 대한 중복 경고 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 표시된 중복 장치가 동일한 장치에 대한 단일 경로 둘 다인 중복된 PV 경고를 보여줍니다. 이 경우
/dev/sdd 및 /dev/sdf 둘 다 multipath -ll 명령에 대한 출력의 동일한 다중 경로 맵 아래에 있습니다.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/sdd** not **/dev/sdf**
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/sdd** not **/dev/sdf**
이 경고가 표시되지 않도록
/etc/lvm/lvm.conf 파일에서 필터를 구성하여 LVM에서 메타데이터를 검색하는 장치를 제한할 수 있습니다. 필터는 /dev 검사(또는 /etc/lvm/lvm.conf 파일의 dir 키워드로 지정됨)로 지정된 각 장치에 적용할 패턴 목록입니다. 패턴은 임의의 문자로 구분된 정규식이며 (허용을 위해) 또는 r (거부용)으로 지정됩니다. 목록은 순서대로 트래버스되며 장치와 일치하는 첫 번째 regex는 장치를 수락하거나 거부(ignored)할지 여부를 결정합니다. 일치하는 패턴과 일치하지 않는 장치가 허용됩니다. LVM 필터에 대한 일반적인 정보는 4.5절. “필터를 사용하여 LVM 장치 스캔 제어” 에서 참조하십시오.
구성하는 필터는 루트 볼륨 그룹과 함께 로컬 하드 드라이브 및 다중 경로 장치 등 LVM 메타데이터에 대해 확인해야 하는 모든 장치를 포함해야 합니다. 다중 경로 장치(예:
/dev/sdb,/dev/sdd 등)에 대한 기본 경로를 거부하면 이러한 중복 PV 경고를 방지할 수 있습니다. 각 고유 메타데이터 영역은 다중 경로 장치 자체에서 한 번만 발견되기 때문입니다.
다음 예제에서는 사용 가능한 여러 스토리지 경로로 인해 중복된 PV 경고를 사용하지 않는 필터를 보여줍니다.
- 이 필터는 첫 번째 하드 드라이브(
/dev/sda및 모든 device-mapper-multipath 장치)에서 두 번째 파티션을 허용하는 동시에 다른 모든 항목을 거부합니다.filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 필터는 모든 HP SmartArray 컨트롤러와 모든 EMC PowerPath 장치를 허용합니다.
filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]
filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 필터는 첫 번째 IDE 드라이브 및 다중 경로 장치의 모든 파티션을 허용합니다.
filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
참고
/etc/lvm/lvm.conf 파일에 새 필터를 추가할 때 # 또는 을 사용하여 원래 필터를 주석 처리했는지 확인합니다.
필터가 구성되고
/etc/lvm/lvm.conf 파일이 저장되면 해당 명령의 출력을 확인하여 물리 볼륨 또는 볼륨 그룹이 누락되어 있지 않은지 확인합니다.
pvscan vgscan
# pvscan
# vgscan
다음 예제와 같이
--config 인수를 LVM 명령에 추가하여 /etc/lvm/lvm.conf 파일을 수정하지 않고 즉시 필터를 테스트할 수도 있습니다.
lvs --config 'devices{ filter = [ "a|/dev/emcpower.*|", "r|.*|" ] }'
# lvs --config 'devices{ filter = [ "a|/dev/emcpower.*|", "r|.*|" ] }'
참고
--config 인수를 사용하여 필터를 테스트하면 서버 구성을 영구적으로 변경하지 않습니다. 테스트 후 /etc/lvm/lvm.conf 파일에 working 필터를 포함해야 합니다.
LVM 필터를 구성한 후에는 재부팅 시 필요한 장치만 검사되도록 dracut 명령을 사용하여
initrd 장치를 다시 빌드하는 것이 좋습니다.
6.7.3. Multipath Maps에 대한 경고 중복 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 두 개의 다중 경로 맵인 두 장치에 대해 중복된 PV 경고를 보여줍니다. 이 예제에서는 두 개의 다른 경로를 보는 것이 아니라 두 개의 다른 장치를 살펴보겠습니다.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/mapper/mpatha** not **/dev/mapper/mpathc**
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/mapper/mpatha** not **/dev/mapper/mpathc**
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/emcpowera** not **/dev/emcpowerh**
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/emcpowera** not **/dev/emcpowerh**
이 상황은 동일한 장치에 대한 단일 경로 모두 단일 경로인 장치에 대한 중복 경고보다 심각합니다. 이러한 경고는 종종 시스템에 표시되지 않아야 하는 장치를 표시했음을 의미하기 때문입니다(예: LUN 복제 또는 미러). 이 경우 시스템에서 어떤 장치를 제거해야 하는지 명확하게 파악하지 못하는 경우 상황을 복구할 수 없습니다. 이 문제를 해결하려면 Red Hat 기술 지원에 문의하는 것이 좋습니다.
부록 A. 장치 매퍼 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
장치 매퍼는 볼륨 관리를 위한 프레임워크를 제공하는 커널 드라이버입니다. 논리 볼륨으로 사용할 수 있는 매핑된 장치를 생성하는 일반적인 방법을 제공합니다. 볼륨 그룹 또는 메타데이터 형식에 대해 구체적으로는 알 수 없습니다.
장치 매퍼는 여러 상위 수준의 기술을 위한 기반을 제공합니다. LVM 외에도 Device-Mapper 다중 경로 및 dmraid 명령은 장치 매퍼(Device Mapper)를 사용합니다. 장치 매퍼에 대한 애플리케이션 인터페이스는 ioctl 시스템 호출입니다. 사용자 인터페이스는 dmsetup 명령입니다.
LVM 논리 볼륨은 장치 매퍼를 사용하여 활성화됩니다. 각 논리 볼륨은 매핑된 장치로 변환됩니다. 각 세그먼트는 장치를 설명하는 매핑 테이블의 한 행으로 변환됩니다. 장치 매퍼는 선형 매핑, 스트라이핑 매핑 및 오류 매핑을 포함하여 다양한 매핑 대상을 지원합니다. 예를 들어 두 개의 디스크를 하나의 논리 볼륨으로 각 디스크에 하나씩 하나의 선형 매핑 쌍과 연결할 수 있습니다. LVM에서 볼륨을 생성할 때 dmsetup 명령으로 쿼리할 수 있는 기본 장치-매퍼 장치를 생성합니다. 매핑 테이블에 있는 장치 형식에 대한 자세한 내용은 A.1절. “장치 테이블 매핑” 을 참조하십시오. dmsetup 명령을 사용하여 장치를 쿼리하는 방법에 대한 자세한 내용은 A.2절. “dmsetup 명령” 을 참조하십시오.
A.1. 장치 테이블 매핑 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
매핑된 장치는 지원되는 장치 테이블 매핑을 사용하여 장치의 각 논리 섹터를 매핑하는 방법을 지정하는 테이블에 의해 정의됩니다. 매핑된 장치용 테이블은 양식의 줄 목록으로 구성됩니다.
start length mapping [mapping_parameters...]
start length mapping [mapping_parameters...]
장치 매퍼 테이블의 첫 번째 줄에서는
start 매개변수가 0과 같아야 합니다. 한 줄에 있는 start + length 매개변수는 다음 행의 start 과 같아야 합니다. 매핑 테이블의 행에 지정된 매핑 매개변수는 행에 지정된 mapping 유형에 따라 다릅니다.
장치 매퍼의 크기는 항상 섹터(512 바이트)에 지정됩니다.
장치가 장치 매퍼의 매핑 매개변수로 지정되면 파일 시스템의 장치 이름(예:
/dev/hda) 또는 major:minor 형식의 주요 및 마이너 번호로 참조할 수 있습니다. major:minor 형식이 경로 이름 조회를 피할 수 없기 때문에 선호됩니다.
다음은 장치의 샘플 매핑 테이블을 보여줍니다. 이 표에는 네 개의 선형 대상이 있습니다.
0 35258368 linear 8:48 65920 35258368 35258368 linear 8:32 65920 70516736 17694720 linear 8:16 17694976 88211456 17694720 linear 8:16 256
0 35258368 linear 8:48 65920
35258368 35258368 linear 8:32 65920
70516736 17694720 linear 8:16 17694976
88211456 17694720 linear 8:16 256
각 행의 처음 2 매개변수는 세그먼트 시작 블록과 세그먼트 길이입니다. 다음 키워드는 매핑 대상이며 이 예제의 모든 경우에는
선형 입니다. 행의 나머지 부분은 선형 타겟의 매개 변수로 구성됩니다.
다음 하위 섹션에서는 다음 매핑 형식을 설명합니다.
- Linear
- 제거됨
- mirror
- snapshot 및 snapshot-origin
- 오류
- zero
- multipath
- Crypt
A.1.1. linear 매핑 대상 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
선형 매핑 대상은 블록 범위를 다른 블록 장치에 매핑합니다. 선형 대상의 형식은 다음과 같습니다.
start length linear device offset
start length linear device offset
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
device- 파일 시스템의 장치 이름 또는
major형식의 메이저 및 부 번호에서 참조하는 블록 장치:minor offset- 디바이스에서 매핑의 오프셋 시작
다음 예는 가상 장치 0에서 시작 블록이 있는 선형 대상을 보여줍니다. 1638400의 세그먼트 길이, 8:2의 주요:미네터 번호 쌍, 41146992 장치에 대한 시작 오프셋입니다.
0 16384000 linear 8:2 41156992
0 16384000 linear 8:2 41156992
다음 예제에서는
/dev/hda 장치로 지정된 장치 매개 변수가 있는 선형 대상을 보여줍니다.
0 20971520 linear /dev/hda 384
0 20971520 linear /dev/hda 384
A.1.2. 스트리트 매핑 대상 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
스트라이핑된 매핑 대상은 물리적 장치를 제거할 수 있도록 지원합니다. 이는 스트라이프 수와 스트립 청크 크기 뒤에 장치 이름과 섹터 쌍의 쌍으로 이루어진 인수로 사용됩니다. 스트라이핑된 대상의 형식은 다음과 같습니다.
start length striped #stripes chunk_size device1 offset1 ... deviceN offsetN
start length striped #stripes chunk_size device1 offset1 ... deviceN offsetN
각 스트라이프마다 하나의
device 및 offset 매개변수 세트가 있습니다.
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
#stripes- 가상 장치에 대한 스트라이프 수
chunk_size- 다음 단계로 전환하기 전에 각 스트라이프에 작성된 섹터 수입니다. 커널 페이지 크기만큼 큰 2의 전원이어야 합니다.
device- 파일 시스템의 장치 이름 또는
major:minor형식의 메이저 및 마이너 번호로 참조하는 블록 장치입니다. offset- 디바이스에서 매핑의 오프셋 시작
다음 예제에서는 3개의 스트라이프와 청크 크기가 128인 스트라이핑된 대상을 보여줍니다.
0 73728 striped 3 128 8:9 384 8:8 384 8:7 9789824
0 73728 striped 3 128 8:9 384 8:8 384 8:7 9789824
- 0
- 가상 장치에서 블록 시작
- 73728
- 이 세그먼트의 길이
- striped 3 128
- 청크 크기가 128 블록인 세 개의 장치에 스트라이프
- 8:9
- major:minor 첫 번째 장치의 번호
- 384
- 상기 제1 디바이스 상의 매핑의 오프셋 시작 - starting offset of the mapping on the first device
- 8:8
- major:minor 두 번째 장치 번호
- 384
- 상기 제2 장치에 대한 매핑의 오프셋 시작 - starting offset of the mapping on the second device
- 8:7
- major:minor 세 번째 장치 번호
- 9789824
- 세 번째 장치에서 매핑의 오프셋 시작
다음 예제에서는 주 및 부 숫자가 아닌 파일 시스템의 장치 이름으로 지정된 장치 매개 변수와 함께 256KiB 청크가 있는 2 스트라이프의 스트라이핑된 대상을 보여줍니다.
0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0
0 65536 striped 2 512 /dev/hda 0 /dev/hdb 0
A.1.3. 미러 매핑 대상 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
미러 매핑 대상은 미러링된 논리적 장치의 매핑을 지원합니다. 미러링된 대상의 형식은 다음과 같습니다.
start length mirror log_type #logargs logarg1 ... logargN #devs device1 offset1 ... deviceN offsetN
start length mirror log_type #logargs logarg1 ... logargN #devs device1 offset1 ... deviceN offsetN
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
log_type- 가능한 로그 유형과 해당 인수는 다음과 같습니다.
코어- 미러는 로컬이며 미러 로그는 코어 메모리에 유지됩니다. 이 로그 유형은 1~3개의 인수를 사용합니다.regionsize [[
no]sync] [block_on_error] disk- 미러는 로컬이며 미러 로그는 디스크에 유지됩니다. 이 로그 유형은 2 ~ 4 개의 인수를 사용합니다.logdevice regionsize [[
no]sync] [block_on_error] clustered_core- 미러는 클러스터되며 미러 로그는 코어 메모리에 유지됩니다. 이 로그 유형은 2 ~ 4 개의 인수를 사용합니다.regionsize UUID [[
no]sync] [block_on_error] clustered_disk- 미러가 클러스터링되고 미러 로그가 디스크에 유지됩니다. 이 로그 유형은 3~5개의 인수를 사용합니다.logdevice regionsize UUID [[
no]sync] [block_on_error]
LVM은 미러 또는 미러와 동기화되는 영역을 추적하는 데 사용하는 작은 로그를 유지 관리합니다. regionsize 인수는 이러한 지역의 크기를 지정합니다.클러스터형 환경에서 UUID 인수는 미러 로그 장치와 연결된 고유 식별자이므로 클러스터 전체에서 로그 상태를 유지할 수 있습니다.선택적[no]sync인수를 사용하여 미러를 "in-sync" 또는 "out-of-sync"로 지정할 수 있습니다.block_on_error인수는 미러에 오류를 무시하지 않고 오류에 응답하도록 지시하는 데 사용됩니다. #log_args- 매핑에 지정될 로그 인수 수
logargs- 미러의 로그 인수입니다. 제공되는 로그 인수 수는
#log-args매개변수에 의해 지정되고 유효한 로그 인수는log_type매개변수에 따라 결정됩니다. #devs- 미러의 다리 수; 장치와 오프셋은 각 다리에 대해 지정됨
device- 파일 시스템의 장치 이름 또는
major:minor형식의 주요 및 마이너 번호로 참조되는 각 미러의 블록 장치입니다.#devs매개변수에 표시된 대로 각 미러 브릿지에 대해 블록 장치 및 오프셋이 지정됩니다. offset- 장치에서 매핑의 오프셋 시작.
#devs매개변수에 표시된 대로 각 미러 브릿지에 대해 블록 장치 및 오프셋이 지정됩니다.
다음 예제에서는 디스크에 보관된 미러 로그가 있는 클러스터형 미러의 미러 매핑 대상을 보여줍니다.
0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0
0 52428800 mirror clustered_disk 4 253:2 1024 UUID block_on_error 3 253:3 0 253:4 0 253:5 0
- 0
- 가상 장치에서 블록 시작
- 52428800
- 이 세그먼트의 길이
- mirror clustered_disk
- 미러가 클러스터링되고 미러 로그가 디스크에서 유지됨을 지정하는 로그 유형이 있는 미러 대상
- 4
- 4 미러 로그 인수가 따릅니다.
- 253:2
- 로그 장치의 major:minor 번호
- 1024
- 미러 로그에서 동기화 중인 항목을 추적하는 데 사용하는 영역 크기
UUID- 클러스터 전체에서 로그 정보를 유지 관리하는 미러 로그 장치의 UUID
block_on_error- mirror는 오류에 응답해야 합니다.
- 3
- 미러에 있는 다리 수
- 253:3 0 253:4 0 253:5 0
- 장치의 주요:미네티터 번호 및 오프셋
A.1.4. 스냅샷 및 snapshot-origin Mapping Targets 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨의 첫 번째 LVM 스냅샷을 생성하면 장치 매퍼 장치 4개가 사용됩니다.
- 소스 볼륨의 원래 매핑 테이블을 포함하는
선형매핑이 있는 장치. - 소스 볼륨에 대해 COW(Copy-On-Write) 장치로 사용되는
선형매핑이 있는 장치입니다. 각 쓰기의 경우 원본 데이터는 표시되지 않은 콘텐츠를 변경되지 않은 상태로 유지하기 위해 각 스냅샷의 COW 장치에 저장됩니다(COW 장치가 채워지기). - 표시되는
스냅샷볼륨인 #1과 #2를 결합하는 스냅샷 매핑이 있는 장치입니다. - 원본 소스 볼륨에서 사용하는 "original" 볼륨(원래 소스 볼륨에서 사용하는 장치 번호)이며 장치 #1의 "snapshot-origin" 매핑으로 교체됩니다.
고정 이름 지정 체계는 이러한 장치를 만드는 데 사용됩니다. 예를 들어 다음 명령을 사용하여
base 라는 LVM 볼륨과 해당 볼륨을 기반으로 snap 이라는 스냅샷 볼륨을 생성할 수 있습니다.
lvcreate -L 1G -n base volumeGroup lvcreate -L 100M --snapshot -n snap volumeGroup/base
# lvcreate -L 1G -n base volumeGroup
# lvcreate -L 100M --snapshot -n snap volumeGroup/base
이렇게 하면 다음 명령으로 볼 수 있는 4개의 장치가 생성됩니다.
snapshot-origin 대상의 형식은 다음과 같습니다.
start length snapshot-origin origin
start length snapshot-origin origin
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
origin- 스냅샷의 기본 볼륨
snapshot-origin 에는 일반적으로 이를 기반으로 하나 이상의 스냅샷이 있습니다. 읽기는 백업 장치에 직접 매핑됩니다. 각 쓰기마다 원본 데이터가 COW 장치가 채워질 때까지 볼 수 있는 콘텐츠를 변경하지 않고 유지하기 위해 각 스냅샷의 COW 장치에 저장됩니다.
스냅샷 대상의 형식은 다음과 같습니다.
start length snapshot origin COW-device P|N chunksize
start length snapshot origin COW-device P|N chunksize
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
origin- 스냅샷의 기본 볼륨
COW-device- 데이터의 변경된 청크가 저장되는 장치
- P|N
- P(Persistent) 또는 N(영구 없음) - 재부팅 후 스냅샷이 유지되는지 여부를 나타냅니다. 임시 스냅샷(N)의 경우 메타데이터를 디스크에 저장해야 하며 커널을 통해 메모리에 보관할 수 있습니다.
chunksize- COW 장치에 저장될 데이터의 변경된 청크 크기
다음 예제에서는 254:11의 원본 장치가 있는
snapshot-origin 대상을 보여줍니다.
0 2097152 snapshot-origin 254:11
0 2097152 snapshot-origin 254:11
다음 예제에서는 원본 장치가 254:11이고 COW 장치가 254:12인
스냅샷 대상을 보여줍니다. 이 스냅샷 장치는 재부팅 시 지속되며 COW 장치에 저장된 데이터의 청크 크기는 16개 섹터입니다.
0 2097152 snapshot 254:11 254:12 P 16
0 2097152 snapshot 254:11 254:12 P 16
A.1.5. 대상 매핑 오류 발생 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
오류 매핑 대상을 사용하면 매핑된 섹터에 대한 모든 I/O 작업이 실패합니다.
오류 매핑 대상을 테스트하는 데 사용할 수 있습니다. 장치가 실패하는 방식을 테스트하기 위해 장치 중간에서 나쁜 섹터로 장치 매핑을 만들거나 미러의 다리를 교체하고 다리를 오류 대상으로 교체 할 수 있습니다.
오류 대상은 실패한 장치 대신 사용할 수 있습니다. 이는 시간 제한을 방지하고 실제 장치에서 재시도할 수 있습니다. 실패 중에 LVM 메타데이터를 다시 정렬하는 동안 중간 대상으로 사용될 수 있습니다.
오류 매핑 대상에는 start 및 length 매개변수 외에 추가 매개변수가 필요하지 않습니다.
다음 예제에서는
오류 대상을 보여줍니다.
0 65536 error
0 65536 error
A.1.6. 제로 매핑 대상 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
0 매핑 대상은 /dev/zero 와 동등한 블록 장치입니다. 이 매핑에 대한 읽기 작업은 0 블록을 반환합니다. 이 매핑에 작성된 데이터는 삭제되지만 쓰기는 성공합니다. 제로 매핑 대상은 start 및 length 매개변수 외에 추가 매개변수가 필요하지 않습니다.
다음 예제에서는 16Tb 장치의
0 대상을 보여줍니다.
0 65536 zero
0 65536 zero
A.1.7. 다중 경로 매핑 대상 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다중 경로 매핑 대상은 다중 경로 장치의 매핑을 지원합니다.
다중 경로 대상의 형식은 다음과 같습니다.
start length multipath #features [feature1 ... featureN] #handlerargs [handlerarg1 ... handlerargN] #pathgroups pathgroup pathgroupargs1 ... pathgroupargsN
start length multipath #features [feature1 ... featureN] #handlerargs [handlerarg1 ... handlerargN] #pathgroups pathgroup pathgroupargs1 ... pathgroupargsN
각 경로 그룹에 대해 하나의
pathgroupargs 매개변수 세트가 있습니다.
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
#features- 다중 경로 기능 수와 해당 기능은 다음과 같습니다. 이 매개변수가 0이면
feature매개변수가 없고 다음 장치 매핑 매개변수는#handlerargs입니다. 현재multipath.conf파일의features속성인queue_if_no_path를 사용하여 설정할 수 있는 기능이 하나 있습니다. 이는 사용 가능한 경로가 없는 경우 이 다중 경로 장치가 현재 대기열 I/O 작업으로 설정되어 있음을 나타냅니다.다음 예에서multipath.conf파일의no_path_retry특성은 경로를 사용하기 위해 설정된 일련의 시도 후 모든 경로가 실패로 표시될 때까지만 대기열 I/O 작업으로 설정되어 있습니다. 이 경우 모든 경로 검사기가 지정된 수의 검사에 실패할 때까지 매핑은 다음과 같습니다.0 71014400 multipath 1 queue_if_no_path 0 2 1 round-robin 0 2 1 66:128 \ 1000 65:64 1000 round-robin 0 2 1 8:0 1000 67:192 1000
0 71014400 multipath 1 queue_if_no_path 0 2 1 round-robin 0 2 1 66:128 \ 1000 65:64 1000 round-robin 0 2 1 8:0 1000 67:192 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 수의 검사에 실패한 모든 경로 검사기가 다음과 같이 표시되면 매핑이 다음과 같이 표시됩니다.0 71014400 multipath 0 0 2 1 round-robin 0 2 1 66:128 1000 65:64 1000 \ round-robin 0 2 1 8:0 1000 67:192 1000
0 71014400 multipath 0 0 2 1 round-robin 0 2 1 66:128 1000 65:64 1000 \ round-robin 0 2 1 8:0 1000 67:192 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow #handlerargs- 하드웨어 처리기 인수의 수와 해당 인수입니다. 하드웨어 처리기는 경로 그룹을 전환하거나 I/O 오류를 처리할 때 하드웨어 관련 작업을 수행하는 데 사용할 모듈을 지정합니다. 이 매개변수가 0으로 설정되면 다음 매개변수는
#pathgroups입니다. #pathgroups- 경로 그룹의 수입니다. 경로 그룹은 다중 경로 장치가 부하를 분산할 경로 집합입니다. 각 경로 그룹에 대해 하나의
pathgroupargs매개변수 세트가 있습니다. pathgroup- 시도할 다음 경로 그룹입니다.
pathgroupsargs- 각 경로 그룹은 다음 인수로 구성됩니다.
pathselector #selectorargs #paths #pathargs device1 ioreqs1 ... deviceN ioreqsN
pathselector #selectorargs #paths #pathargs device1 ioreqs1 ... deviceN ioreqsNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 경로 그룹의 각 경로에는 경로 인수 한 세트가 있습니다.pathselector- 다음 I/O 작업에 사용할 이 경로 그룹의 경로를 결정하는 데 사용되는 알고리즘을 지정합니다.
#selectorargs- 다중 경로 매핑에서 이 인수를 따르는 경로 선택기 인수의 수입니다. 현재 이 인수의 값은 항상 0입니다.
#paths- 이 경로 그룹의 경로 수입니다.
#pathargs- 이 그룹의 각 경로에 지정된 경로 인수의 수입니다. 현재 이 수는 항상 1입니다.
ioreqs인수입니다. devicemajor형식의 메이저 및 마이너 숫자에서 참조하는 경로의 블록 장치 번호입니다.minorioreqs- 현재 그룹의 다음 경로로 전환하기 전에 이 경로로 라우팅할 I/O 요청 수입니다.
그림 A.1. “다중 경로 매핑 대상” 2개의 경로 그룹이 있는 다중 경로 대상의 형식을 표시합니다.
그림 A.1. 다중 경로 매핑 대상
다음 예제에서는 동일한 다중 경로 장치에 대한 순수한 장애 조치 대상 정의를 보여줍니다. 이 대상에는 경로 그룹당 하나의 열린 경로만 있는 4개의 경로 그룹이 있으므로 다중 경로 장치는 한 번에 하나의 경로만 사용합니다.
0 71014400 multipath 0 0 4 1 round-robin 0 1 1 66:112 1000 \ round-robin 0 1 1 67:176 1000 round-robin 0 1 1 68:240 1000 \ round-robin 0 1 1 65:48 1000
0 71014400 multipath 0 0 4 1 round-robin 0 1 1 66:112 1000 \
round-robin 0 1 1 67:176 1000 round-robin 0 1 1 68:240 1000 \
round-robin 0 1 1 65:48 1000
다음 예제에서는 동일한 다중 경로 장치에 대한 전체 분배(multibus) 대상 정의를 보여줍니다. 이 대상에는 모든 경로가 포함된 경로 그룹이 하나만 있습니다. 이 설정에서 다중 경로는 부하를 모든 경로에 균등하게 분배합니다.
0 71014400 multipath 0 0 1 1 round-robin 0 4 1 66:112 1000 \ 67:176 1000 68:240 1000 65:48 1000
0 71014400 multipath 0 0 1 1 round-robin 0 4 1 66:112 1000 \
67:176 1000 68:240 1000 65:48 1000
다중 경로에 대한 자세한 내용은 DM Multipath 설명서를 참조하십시오.
A.1.8. 암호 매핑 대상 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
crypt 대상은 지정된 장치를 통과하는 데이터를 암호화합니다. 커널 Crypto API를 사용합니다.
crypt 대상의 형식은 다음과 같습니다.
start length crypt cipher key IV-offset device offset
start length crypt cipher key IV-offset device offset
start- 가상 장치에서 블록 시작
length- 이 세그먼트의 길이
cipher- 암호는
cipher[-chainmode]-ivmode[:iv options]으로 구성됩니다.cipher- 사용 가능한 암호는
/proc/crypto(예:aes)에 나열됩니다. chainmode- 항상
cbc를 사용하십시오.ebc를 사용하지 마십시오. 초기 벡터(IV)를 사용하지 마십시오. ivmode[:iv options]- IV는 암호화가 다양하기 위해 사용되는 초기 벡터입니다. IV 모드는
plain또는essiv:hash입니다.ivmodeof-plain은 IV로 섹터 번호(및 IV 오프셋 추가)를 사용합니다.ivmodeof-essiv는 워터마크 취약점을 방지할 수 있는 개선 사항입니다.
key- hex에 제공된 암호화 키
IV-offset- 초기 벡터(IV) 오프셋
device- 파일 시스템의 장치 이름 또는
major형식의 메이저 및 부 번호에서 참조하는 블록 장치:minor offset- 디바이스에서 매핑의 오프셋 시작
다음은
crypt 대상의 예입니다.
0 2097152 crypt aes-plain 0123456789abcdef0123456789abcdef 0 /dev/hda 0
0 2097152 crypt aes-plain 0123456789abcdef0123456789abcdef 0 /dev/hda 0
A.2. dmsetup 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
dmsetup 명령은 장치 매퍼와 통신하기 위한 명령행 래퍼입니다. LVM 장치에 대한 일반적인 시스템 정보는 다음 하위 섹션에 설명된 대로 dmsetup 명령의
info,ls,status 및 deps 옵션을 찾을 수 있습니다.
dmsetup 명령의 추가 옵션 및 기능에 대한 자세한 내용은 dmsetup(8) 매뉴얼 페이지를 참조하십시오.
A.2.1. dmsetup info 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
dmsetup info device 명령은 장치 매퍼 장치에 대한 요약 정보를 제공합니다. 장치 이름을 지정하지 않으면 출력은 현재 구성된 모든 장치 매퍼 장치에 대한 정보입니다. 장치를 지정하는 경우 이 명령은 해당 장치에 대한 정보만 제공합니다.
dmsetup info 명령은 다음 카테고리에 정보를 제공합니다.
이름- 장치 이름입니다. LVM 장치는 볼륨 그룹 이름과 하이픈으로 구분된 논리 볼륨 이름으로 표시됩니다. 원래 이름의 하이픈은 두 개의 하이픈으로 변환됩니다. 표준 LVM 작업 중에 LVM 장치의 이름을 이 형식으로 사용해서는 안 됩니다. LVM 장치를 직접 지정해서는 안 됩니다. 대신 vg/lv 대안을 사용해야 합니다.
상태- 가능한 장치 상태는
SUSPENDED,ACTIVE,READ-ONLY입니다. dmsetup suspend 명령은 장치 상태를SUSPENDED로 설정합니다. 장치가 일시 중지되면 해당 장치에 대한 모든 I/O 작업이 중지됩니다. dmsetup resume 명령은 장치 상태를ACTIVE로 복원합니다. 읽기 헤드- 읽기 작업이 진행 중인 열려 있는 모든 파일에 대해 시스템이 미리 읽는 데이터 블록 수입니다. 기본적으로 커널은 적절한 값을 자동으로 선택합니다. dmsetup 명령의
--readahead옵션을 사용하여 이 값을 변경할 수 있습니다. 존재하는 테이블- 이 카테고리에 대한 가능한 상태는
LIVE및INACTIVE입니다.INACTIVE상태는 dmsetup resume 명령이 장치 상태를ACTIVE로 복원할 때 테이블이 로드되었음을 나타냅니다. 이 시점에서 테이블의 상태가LIVE임을 나타냅니다. 자세한 내용은 dmsetup 도움말 페이지를 참조하십시오. 열려 있는 수- 열린 참조 수는 장치가 열려 있는 횟수를 나타냅니다. 마운트 명령은 장치를 엽니다.
이벤트 번호- 현재 수신된 이벤트 수입니다. dmsetup wait n 명령을 실행하면 n'th 이벤트를 기다린 후 호출이 수신될 때까지 차단할 수 있습니다.
메이저, 마이너- 메이저 및 마이너 장치 번호입니다.
대상 수- 장치를 구성하는 세그먼트 수입니다. 예를 들어 3개의 디스크에 걸쳐 있는 선형 장치는 3개의 대상을 갖습니다. 디스크의 시작 및 끝으로 구성된 선형 장치는 있지만 중간 장치에는 두 개의 대상이 없었습니다.
UUID- 장치의 UUID입니다.
다음 예제에서는 dmsetup info 명령에 대한 부분적인 출력을 보여줍니다.
A.2.2. dmsetup ls 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
dmsetup ls 명령을 사용하여 매핑된 장치의 장치 이름을 나열할 수 있습니다. dmsetup ls --target target_type 명령을 사용하여 지정된 유형의 대상이 하나 이상 있는 장치를 나열할 수 있습니다. dmsetup ls 명령의 다른 옵션은 dmsetup 도움말 페이지를 참조하십시오.
다음 예는 현재 구성된 매핑된 장치의 장치 이름을 나열하는 명령을 보여줍니다.
다음 예제에서는 현재 구성된 미러 매핑의 장치 이름을 나열하는 명령을 보여줍니다.
다중 경로 또는 다른 장치 매퍼 장치에 스택되는 LVM 구성은 정렬하기가 복잡할 수 있습니다. dmsetup ls 명령은 다음 예제와 같이 장치 간 종속성을 트리로 표시하는
--tree 옵션을 제공합니다.
A.2.3. dmsetup status 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
dmsetup status device 명령은 지정된 장치의 각 대상에 대한 상태 정보를 제공합니다. 장치 이름을 지정하지 않으면 출력은 현재 구성된 모든 장치 매퍼 장치에 대한 정보입니다. dmsetup status --target target_type 명령을 사용하여 지정된 유형의 대상이 하나 이상 있는 장치의 상태만 나열할 수 있습니다.
다음 예제에서는 현재 구성된 모든 매핑된 장치의 대상 상태를 나열하는 명령을 보여줍니다.
A.2.4. dmsetup deps 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
dmsetup deps device 명령은 지정된 장치의 매핑 테이블에서 참조하는 장치에 대해 (마이저, 마이너) 쌍 목록을 제공합니다. 장치 이름을 지정하지 않으면 출력은 현재 구성된 모든 장치 매퍼 장치에 대한 정보입니다.
다음 예제에서는 현재 구성된 모든 장치에 대한 종속성을 나열하는 명령을 보여줍니다.
다음 예제에서는 장치
lock_stress-grant-grant-02.1722 의 종속 항목만 나열하는 명령을 보여줍니다.
dmsetup deps lock_stress-grant--02.1722 3 dependencies : (253, 33) (253, 32) (253, 31)
# dmsetup deps lock_stress-grant--02.1722
3 dependencies : (253, 33) (253, 32) (253, 31)
A.3. udev 장치 관리자에 대한 장치 매퍼 지원 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
udev 장치 관리자의 기본 역할은 /dev 디렉터리에서 노드를 설정하는 동적 방법을 제공하는 것입니다. 이러한 노드 생성은 사용자 공간의 udev 규칙 적용에 의해 결정됩니다. 이러한 규칙은 특정 장치를 추가, 제거 또는 변경으로 인해 커널에서 직접 전송된 udev 이벤트에서 처리됩니다. 이는 지원 핫플러그를 위한 편리한 중앙 메커니즘을 제공합니다.
udev 장치 관리자는 실제 노드를 만드는 것 외에도 이름을 지정할 수 있는 심볼릭 링크를 만들 수 있습니다. 이렇게 하면 필요한 경우/dev 디렉토리에서 사용자 지정 이름 지정 및 디렉터리 구조를 자유롭게 선택할 수 있습니다.
각
udev 이벤트에는 처리 중인 장치에 대한 기본 정보(예: 이름, 해당 하위 시스템, 장치의 유형, 사용된 메이저 및 마이너 번호, 이벤트 유형)가 포함되어 있습니다. udev 규칙 내에서도 액세스할 수 있는 /sys 디렉토리에 있는 /sys 디렉토리에 있는 모든 정보에 액세스할 수 있으며 이 정보를 기반으로 간단한 필터를 활용하고 이 정보를 기반으로 규칙을 실행할 수 있습니다.
udev 장치 관리자는 또한 노드의 권한을 중앙 집중식으로 설정하는 방법을 제공합니다. 사용자 지정 규칙 세트를 쉽게 추가하여 이벤트를 처리하는 동안 사용 가능한 모든 장치에 대한 권한을 정의할 수 있습니다.
udev 규칙에 직접 프로그램 후크를 추가할 수도 있습니다. udev 장치 관리자는 이러한 프로그램을 호출하여 이벤트를 처리하는 데 필요한 추가 처리를 제공할 수 있습니다. 또한 프로그램은 이 처리의 결과로 환경 변수를 내보낼 수 있습니다. 제공된 모든 결과는 규칙에서 정보의 보조 소스로 사용할 수 있습니다.
udev 라이브러리를 사용하는 모든 소프트웨어는 사용 가능한 모든 정보로 udev 이벤트를 수신하고 처리할 수 있으므로 처리는 udev 데몬에만 바인딩되지 않습니다.
A.3.1. 장치 매퍼와 udev 통합 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
장치 매퍼는
udev 통합을 직접 지원합니다. 이렇게 하면 LVM 장치를 포함하여 장치 매퍼 장치와 관련된 모든 udev 처리와 장치 매퍼가 동기화됩니다. udev 데몬의 규칙 애플리케이션은 장치의 변경 사항 소스(예: dmsetup 및 LVM)와의 병렬 처리 형식이므로 동기화가 필요합니다. 이러한 지원이 없으면 사용자가 이전 변경 이벤트의 결과로 udev 규칙에 의해 열려 있고 처리된 장치를 제거하려고 시도하는 것이 일반적이었습니다. 해당 장치의 변경 사이에 매우 짧은 시간이 있을 때 이는 특히 일반적이었습니다.
Red Hat Enterprise Linux는 일반 및 LVM에도 장치 매퍼 장치에 대해 공식적으로 지원되는
udev 규칙을 제공합니다. 표 A.1. “장치 맵 장치의 udev 규칙” /lib/udev/rules.d 에 설치된 이러한 규칙을 요약합니다.
| 파일 이름 | 설명 | ||
|---|---|---|---|
10-DM.rules |
| ||
11-DM-lvm.rules |
| ||
13-dm-disk.rules | 일반적으로 모든 장치 매퍼 장치에 적용할 규칙이 포함되어 있으며 /dev/ disk/by-id 및 디렉터리에 심볼릭 링크를 생성합니다. | ||
95-dm-notify.rules | libdevmapper 를 사용하여 대기 프로세스에 알리는 규칙이 포함되어 있습니다(예: LVM 및 dmsetup). 모든 udev 처리가 완료되었는지 확인하기 위해 이전 규칙이 적용된 후 알림이 수행됩니다. 그런 다음 알림을 받은 프로세스가 재개됩니다. | ||
69-dm-lvm-metad.rules | 시스템에 새로 표시된 블록 장치에서 LVM 스캔을 트리거하고 가능한 경우 LVM 자동 활성화를 수행하는 후크가 포함되어 있습니다. lvm.conf 파일에서 use_lvmetad=1 으로 설정된 lvmetad 데몬을 지원합니다. 클러스터형 환경에서는 lvmetad 데몬 및 자동 활성화가 지원되지 않습니다. |
12-dm-permissions.rules 파일을 통해 사용자 지정 권한 규칙을 추가할 수 있습니다. 이 파일은 /lib/udev/rules 디렉터리에 설치되지 않습니다. / usr/share/doc/device-mapper-버전 디렉터리에 있습니다. 12-dm-permissions.rules 파일은 예로 지정된 일부 일치하는 규칙에 따라 권한을 설정하는 방법에 대한 힌트를 포함하는 템플릿입니다. 파일에는 몇 가지 일반적인 상황에 대한 예제가 포함되어 있습니다. 이 파일을 편집하여 /etc/udev/rules.d 디렉토리에 수동으로 배치하면 업데이트가 유지되므로 설정이 유지됩니다.
이러한 규칙은 이벤트를 처리하는 동안 다른 규칙에서 사용할 수 있는 모든 기본 변수를 설정합니다.
다음 변수는
10-dm.rules 로 설정됩니다.
DM_NAME: 장치 매퍼 장치 이름DM_UUID: 장치 매퍼 장치 UUIDDM_SUSPENDED: 장치 매퍼 장치의 일시 중단 상태DM_UDEV_RULES_VSN:udev규칙 버전 (이전에 언급된 변수가 공식 장치 맵퍼 규칙에 의해 직접 설정되어 있는지 확인하는 다른 모든 규칙)
다음 변수는
11-dm-lvm.rules:에서 설정됩니다.
DM_LV_NAME: 논리 볼륨 이름DM_VG_NAME: 볼륨 그룹 이름DM_LV_LAYER: LVM 계층 이름
이러한 모든 변수는
12-dm-permissions.rules 파일에서 사용하여 12-dm-permissions.rules 파일에 설명된 대로 특정 장치 매퍼 장치에 대한 권한을 정의할 수 있습니다.
A.3.2. udev를 지원하는 명령 및 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
| 명령 | 설명 |
|---|---|
| dmsetup udevcomplete | udev 가 규칙 처리를 완료하고 대기 중인 프로세스 잠금 해제를 완료했음을 알리는 데 사용됩니다( 95-dm-notify.rules의 udev 규칙 내에서 호출됨). |
| dmsetup udevcomplete_all | 디버깅 목적으로 모든 대기 중인 프로세스의 잠금을 수동으로 해제하는 데 사용됩니다. |
| dmsetup udevcookies | 디버깅 목적으로 모든 기존 쿠키(시스템 전체 세마포)를 표시하는 데 사용됩니다. |
| dmsetup udevcreatecookie | 쿠키 생성(semaphore)을 수동으로 만드는 데 사용됩니다. 이는 하나의 동기화 리소스에서 더 많은 프로세스를 실행하는 데 유용합니다. |
| dmsetup udevreleasecookie | 하나의 동기화 쿠키 아래에 배치된 모든 프로세스와 관련된 모든 udev 처리를 기다리는 데 사용됩니다. |
udev 통합을 지원하는 dmsetup 옵션은 다음과 같습니다.
--udevcookieudev트랜잭션에 추가하려는 모든dmsetup프로세스에 대해 정의해야 합니다. udevcreatecookie 및 udevreleasecookie 와 함께 사용됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow --udevcookie옵션을 사용하는 것 외에도 변수를 프로세스 환경으로 내보낼 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow --noudevrulesudev규칙을 비활성화합니다. 노드/symlinks는libdevmapper자체(이전 방식)에 의해 생성됩니다.udev가 제대로 작동하지 않는 경우 이 옵션은 디버깅을 위한 것입니다.--noudevsyncudev동기화를 비활성화합니다. 이는 디버깅 목적으로도 사용됩니다.
dmsetup 명령 및 해당 옵션에 대한 자세한 내용은 dmsetup(8) 도움말 페이지를 참조하십시오.
LVM 명령은
udev 통합을 지원하는 다음 옵션을 지원합니다.
--noudevrules: dmsetup 명령과 마찬가지로udev규칙을 비활성화합니다.--noudevsync: dmsetup 명령과 마찬가지로udev동기화를 비활성화합니다.
lvm.conf 파일에는 udev 통합을 지원하는 다음 옵션이 포함되어 있습니다.
udev_rules: 전역적으로 모든 LVM2 명령에 대해udev_rules를 활성화/비활성화합니다.udev_sync: 전역적으로 모든 LVM 명령에 대해udev동기화를 활성화/비활성화합니다.
lvm.conf 파일 옵션에 대한 자세한 내용은 lvm.conf 파일의 인라인 주석을 참조하십시오.
부록 B. LVM 구성 파일 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM은 여러 구성 파일을 지원합니다. 시스템을 시작할 때
lvm.conf 구성 파일은 기본적으로 /etc/lvm 으로 설정된 환경 변수 LVM_SYSTEM_DIR 에 의해 지정된 디렉터리에서 로드됩니다.
lvm.conf 파일은 로드할 추가 구성 파일을 지정할 수 있습니다. 이후 파일의 설정은 이전 파일의 설정을 재정의합니다. 모든 구성 파일을 로드한 후 사용 중인 설정을 표시하려면 lvmconfig 명령을 실행합니다.
추가 구성 파일을 로드하는 방법에 대한 자세한 내용은 D.2절. “호스트 태그” 을 참조하십시오.
B.1. LVM 구성 파일 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 파일은 LVM 구성에 사용됩니다.
- /etc/lvm/lvm.conf
- 도구에서 읽은 중앙 구성 파일입니다.
- etc/lvm/lvm_hosttag.conf
- 각 호스트 태그마다 존재하는 경우 추가 구성 파일을 읽습니다.
lvm_hosttag.conf. 해당 파일이 새 태그를 정의하면 추가 설정 파일이 읽을 파일 목록에 추가됩니다. 호스트 태그에 대한 자세한 내용은 D.2절. “호스트 태그” 을 참조하십시오.
LVM 구성 파일 외에도 LVM을 실행하는 시스템에는 LVM 시스템 설정에 영향을 주는 다음과 같은 파일이 포함되어 있습니다.
- /etc/lvm/cache/.cache
- 장치 이름 필터 캐시 파일(구성 가능).
- /etc/lvm/backup/
- 자동 볼륨 그룹 메타데이터 백업용 디렉터리(구성 가능).
- /etc/lvm/archive/
- 자동 볼륨 그룹 메타데이터 아카이브(디렉터리 및 아카이브 기록 깊이와 관련하여 구성 가능)를 위한 디렉터리입니다.
- /var/lock/lvm/
- 단일 호스트 구성에서 병렬 툴 실행이 메타데이터를 손상시키지 않도록 잠금 파일을 사용합니다. 클러스터 전체의 DLM이 사용됩니다.
B.2. lvmconfig 명령 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
현재 LVM 구성을 표시하거나
lvmconfig 명령을 사용하여 파일을 파일에 저장할 수 있습니다. lvmconfig 명령에서 제공하는 다양한 기능은 다음과 같습니다.
- 모든 태그 구성 파일과 병합된 현재 lvm 구성을 덤프할 수 있습니다.
- 값이 기본값과 다른 모든 현재 구성 설정을 덤프할 수 있습니다.
- 현재 LVM 버전에 도입된 새 구성 설정을 특정 LVM 버전에 덤프할 수 있습니다.
- 전체 프로필에 사용자 지정할 수 있는 모든 구성 설정을 명령 및 메타데이터 프로필에 대해 별도로 덤프할 수 있습니다. LVM 프로필에 대한 자세한 내용은 B.3절. “LVM 프로필” 에서 참조하십시오.
- 특정 버전의 LVM에 대한 구성 설정만 덤프할 수 있습니다.
- 현재 구성을 검증할 수 있습니다.
지원되는 기능의 전체 목록과 lvmconfig 옵션 지정에 대한 정보는 lvmconfig 도움말 페이지를 참조하십시오.
B.3. LVM 프로필 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 프로필은 다양한 환경 또는 사용의 특정 특성을 달성하는 데 사용할 수 있는 선택된 사용자 지정 가능한 구성 설정 집합입니다. 일반적으로 프로필 이름은 해당 환경을 반영하거나 사용해야 합니다. LVM 프로필은 기존 구성을 덮어씁니다.
LVM에서 인식하는 LVM 프로필 그룹에는 명령 프로필 및 메타데이터 프로필이라는 두 가지 그룹이 있습니다.
- 명령 프로필은 글로벌 LVM 명령 수준에서 선택한 구성 설정을 재정의하는 데 사용됩니다. 프로필은 LVM 명령 실행 시작 시 적용되며 LVM 명령 실행 시 사용됩니다. LVM 명령을 실행할 때
--commandprofile ProfileName옵션을 지정하여 명령 프로필을 적용합니다. - 메타데이터 프로필은 볼륨 그룹/로그 논리 볼륨 수준에서 선택한 구성 설정을 재정의하는 데 사용됩니다. 처리 중인 각 볼륨 그룹/논리적 볼륨에 독립적으로 적용됩니다. 따라서 각 볼륨 그룹/로그 논리 볼륨은 메타데이터에 사용된 프로필 이름을 저장할 수 있으므로 다음에 볼륨 그룹/로그 논리 볼륨이 처리되면 프로필이 자동으로 적용됩니다. 볼륨 그룹과 해당 논리 볼륨에 다른 프로필이 정의된 경우 논리 볼륨에 대해 정의된 프로필이 선호됩니다.
- Cryostatcreate 또는 lvcreate 명령을 사용하여 볼륨 그룹 또는 논리 볼륨을 생성할 때
--metadataprofile ProfileName옵션을 지정하여 볼륨 그룹 또는 논리 볼륨에 메타데이터 프로필을 연결할 수 있습니다. - lvchange 또는 Cryostat change 명령의
--metadataprofile ProfileName또는--detachprofile옵션을 지정하여 기존 볼륨 그룹 또는 논리 볼륨에 메타데이터 프로필을 연결하거나 분리할 수 있습니다. - 현재 볼륨 그룹 또는 논리 볼륨에 연결된 메타데이터
프로필을 표시하려면 -o Cryostat_profile 및-o lv _profile출력 옵션을 지정할 수 있습니다.
명령 프로필에 허용되는 옵션 세트와 메타데이터 프로필에 허용된 옵션 세트는 함께 사용할 수 없습니다. 이 두 세트 중 하나에 속하는 설정은 함께 혼합할 수 없으며 LVM 툴에서 해당 프로필을 거부합니다.
LVM은 몇 가지 사전 정의된 구성 프로필을 제공합니다. LVM 프로필은 기본적으로
/etc/lvm/profile 디렉터리에 저장됩니다. 이 위치는 /etc/lvm/lvm.conf 파일의 profile_dir 설정을 사용하여 변경할 수 있습니다. 각 프로필 구성은 프로필 디렉터리의 ProfileName. profile 파일에 저장됩니다. LVM 명령에서 프로필을 참조하는 경우 .profile 접미사가 생략됩니다.
다른 값을 사용하여 추가 프로필을 생성할 수 있습니다. 이를 위해 LVM은 각 유형의
프로필 로 사용자 지정할 수 있는 모든 설정이 포함된 metadata_profile_template.profile 파일(명령 프로필용) 및 metadata_profile_template.profile 파일을 제공합니다. 이러한 템플릿 프로필을 복사하고 필요에 따라 편집할 수 있습니다.
또는 lvmconfig 명령을 사용하여 두 프로필 유형에 대한 프로필 파일의 지정된 섹션에 대한 새 프로필을 생성할 수 있습니다. 다음 명령은 섹션 의 설정으로 구성된 ProfileName.profile이라는 새 명령 프로필을 생성합니다.
lvmconfig --file ProfileName.profile --type profilable-command section
lvmconfig --file ProfileName.profile --type profilable-command section
다음 명령은 섹션 의 설정으로 구성된 ProfileName.profile이라는 새 메타데이터 프로필을 생성합니다.
lvmconfig --file ProfileName.profile --type profilable-metadata section
lvmconfig --file ProfileName.profile --type profilable-metadata section
섹션을 지정하지 않으면 프로필에서 사용자 정의할 수 있는 모든 설정이 보고됩니다.
B.4. 샘플 lvm.conf 파일 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음은 샘플
lvm.conf 구성 파일입니다. 구성 파일은 이 파일과 약간 다를 수 있습니다.
참고
다음 명령을 실행하여 주석이 포함된 모든 기본값을 설정하고 주석을 포함하여
lvm.conf 파일을 생성할 수 있습니다.
lvmconfig --type default --withcomments
lvmconfig --type default --withcomments
부록 C. LVM 선택 기준 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 릴리스 7.1부터 많은 LVM 보고 명령에서는
-S 또는 --select 옵션을 사용하여 해당 명령에 대한 선택 기준을 정의합니다. Red Hat Enterprise Linux 릴리스 7.2부터 많은 처리 명령은 선택 기준을 지원합니다. 선택 기준을 정의할 수 있는 다음 두 가지 범주의 명령은 다음과 같습니다.
- 보고 명령 - 선택 기준을 충족하는 행만 표시합니다. 선택 기준을 정의할 수 있는 보고 명령의 예로는 pvs, Cryostats ,lvs, pvdisplay ,pvdisplay, lvdisplay ,lvdisplay,lvm devtypes, dmsetup info -c 가 있습니다.
옵션을 지정하면 모든 행이 표시되고 행이 선택 기준과 일치하면 1이 표시되는 "선택" 열이 추가됩니다.-S옵션 외에 -o 선택한 - 명령 처리 - 선택 기준을 충족하는 항목만 처리합니다. 선택 기준을 정의할 수 있는 처리 명령의 예로는 pvchange, Cryostatchange ,lvchange , Cryostatimport, Cryostatexport, Cryostatremove, lvremove 가 있습니다.
선택 기준은 비교 연산자를 사용하여 표시하거나 처리할 특정 필드의 유효한 값을 정의하는 일련의 문입니다. 선택한 필드는 차례로 논리 및 그룹화 연산자에 의해 결합됩니다.
선택 기준을 사용하여 표시할 필드를 지정할 때 선택 기준에 해당하는 필드에 대한 요구 사항이 없습니다. 선택 기준은 하나의 필드 세트를 포함할 수 있으며 출력에는 다른 필드 집합이 포함될 수 있습니다.
- 다양한 LVM 구성 요소에 사용할 수 있는 필드 목록은 C.3절. “선택 기준 필드” 을 참조하십시오.
- 허용되는 Operator 목록은 C.2절. “선택 기준 Operator” 에서 참조하십시오. Operator는 lvm(8) 도움말 페이지에도 제공됩니다.
- 보고 명령의
-S/-select옵션에 대한도움말(또는?) 키워드를 지정하여 전체 필드 및 가능한 연산자 세트를 볼 수도 있습니다. 예를 들어 다음 명령은 lvs 명령에 대한 필드 및 가능한 연산자를 표시합니다.lvs -S help
# lvs -S helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Enterprise Linux 7.2 릴리스의 경우 시간 값을 필드 유형의
시간에 대한 선택 기준으로 지정할 수 있습니다. 시간 값을 지정하는 방법에 대한 자세한 내용은 C.4절. “시간 값 지정” 을 참조하십시오.
C.1. 선택 기준 필드 유형 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
선택 기준에 대해 지정하는 필드는 특정 유형입니다. 각 필드의 도움말 출력에는 대괄호로 묶은 필드 유형이 표시됩니다. 다음 도움말 출력 예제에서는 필드 유형 문자열 ,
string _list,숫자,백분율,크기 및 시간을 나타내는 출력을 보여줍니다.
표 C.1. “선택 기준 필드 유형” 선택 기준 필드 유형 설명
| 필드 유형 | 설명 |
|---|---|
| 숫자 | 음수가 아닌 정수 값입니다. |
| 크기 | 단위가 있는 부동 소수점 값, 'm' 단위가 지정되지 않은 경우 기본적으로 사용됩니다. |
| 백분율 | % 접미사가 있거나 없는 음수가 아닌 정수입니다. |
| string | ' 또는 " 또는 unquoted"로 인용된 문자입니다. |
| 문자열 목록 | [ ] 또는 { }로 묶은 문자열과 "모든 항목이 "모든 항목과 일치해야 합니다" 또는 "하나 이상의 항목이 일치해야 합니다"로 구분된 문자열. |
필드에 지정하는 값은 다음과 같습니다.
- 필드 유형의 구체적인 값
문자열필드 유형의 모든 필드를 포함하는 정규식(예: "+~" 연산자).- 예약된 값(예: -1, unknown, undefined, undef)은 정의되지 않은 숫자 값을 나타내는 모든 키워드입니다.
- 필드 값에 대해 정의된 동의어로, 원래 값과 마찬가지로 값에 대해 선택 기준에 사용할 수 있습니다. 필드 값에 대한 정의된 동의어 목록은 표 C.14. “선택 기준 구문” 을 참조하십시오.
C.2. 선택 기준 Operator 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
표 C.2. “선택 기준 그룹화 Operator” 선택 기준 그룹화 연산자에 대해 설명합니다.Describes the selection criteria grouping operators.
| Operator 그룹화 | 설명 |
|---|---|
| ( ) | 문을 그룹화하는 데 사용 |
| [ ] | 문자열을 문자열 목록으로 그룹화하는 데 사용됩니다(예: 일치) |
| { } | 문자열을 문자열 목록으로 그룹화하는 데 사용됩니다(subset match) |
표 C.3. “선택 기준 비교 Operator” 선택 기준 비교 연산자와 해당 연산자를 사용할 수 있는 필드 유형에 대해 설명합니다.Describes the selection criteria comparison operators and the field types with which they can be used.
| 비교 Operator | 설명 | 필드 유형 |
|---|---|---|
| =~ | 정규 표현식 일치 | regex |
| !~ | 정규 표현식과 일치하지 않습니다. | regex |
| = | Equal to | 숫자, 크기, 백분율, 문자열, 문자열 목록, 시간 |
| != | 같지 않음 | 숫자, 크기, 백분율, 문자열, 문자열 목록, 시간 |
| >= | 크거나 같음 | 숫자, 크기, 백분율, 시간 |
| > | 보다 큼 | 숫자, 크기, 백분율, 시간 |
| <= | 작거나 같음Less than or equal to | 숫자, 크기, 백분율, 시간 |
| < | 보다 적음 | 숫자, 크기, 백분율, 시간 |
| 이후 | 지정된 시간( >=과 동일) 이후 | time |
| 후 | 지정된 시간 후 (>와 동일) | time |
| until | 지정된 시간 (Garly as <=) 까지 | time |
| before | 지정 시간 전 (<와 동일) | time |
표 C.4. “선택 기준 논리 및 그룹화 Operator” 선택 기준 논리 및 그룹화 연산자에 대해 설명합니다.
| 논리 및 그룹화 Operator | 설명 |
|---|---|
| && | 모든 필드가 일치해야 합니다. |
| , | 모든 필드는 (&와 동일) 일치해야 합니다. |
| || | 하나 이상의 필드가 일치해야 합니다. |
| # | 하나 이상의 필드가 일치해야 합니다(|와 동일) |
| ! | 논리적 부정 |
| ( | left parenthesis (그룹 연산자) |
| ) | right parenthesis (그룹 연산자) |
| [ | list start (grouping operator) |
| ] | 목록 끝(그룹 작성 운영자) |
| { | 목록 하위 집합 시작(그룹링 연산자) |
| } | 목록 하위 집합 (그룹 연산자) |
C.3. 선택 기준 필드 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 지정할 수 있는 논리 및 물리 볼륨 선택 기준 필드에 대해 설명합니다.
표 C.5. “논리 볼륨 필드” 논리 볼륨 필드 및 해당 필드 유형을 설명합니다.
| 논리 볼륨 필드 | 설명 | 필드 유형 |
|---|---|---|
lv_uuid | 고유 식별자 | string |
lv_name | 이름(내부 사용을 위해 생성된 논리 볼륨은 대괄호로 묶) | string |
lv_full_name | 볼륨 그룹, 즉 VG/LV를 포함한 논리 볼륨의 전체 이름 | string |
lv_path | 논리 볼륨의 전체 경로 이름(내부 논리 볼륨의 경우 비어 있음) | string |
lv_dm_path | 논리 볼륨의 내부 장치 매퍼 경로 이름( /dev/mapper 디렉터리) | string |
lv_parent | 다른 논리 볼륨의 구성 요소인 상위 논리 볼륨의 경우 | string |
lv_layout | 논리 볼륨 레이아웃 | 문자열 목록 |
lv_role | 논리 볼륨 역할 | 문자열 목록 |
lv_initial_image_sync | mirror/RAID 이미지가 변경된 초기 재동기화 중인 경우 설정 | 숫자 |
lv_image_synced | mirror/RAID 이미지가 동기화된 경우 설정 | 숫자 |
lv_merging | 스냅샷 논리 볼륨이 원본으로 병합되는 경우 설정 | 숫자 |
lv_converting | 논리 볼륨이 변환되는 경우 설정 | 숫자 |
lv_allocation_policy | 논리 볼륨 할당 정책 | string |
lv_allocation_locked | 논리 볼륨이 할당 변경에 대해 잠길 경우 설정 | 숫자 |
lv_fixed_minor | 논리 볼륨이 고정된 마이너 번호가 할당되어 있는지 여부 설정 | 숫자 |
lv_merge_failed | 스냅샷 병합에 실패한 경우 설정 | 숫자 |
lv_snapshot_invalid | snapshot 논리 볼륨이 유효하지 않은 경우 설정 | 숫자 |
lv_skip_activation | 활성화 시 논리 볼륨을 건너뛰는 경우 설정 | 숫자 |
lv_when_full | 씬 풀의 경우, 전체 동작 | string |
lv_active | 논리 볼륨의 활성 상태 | string |
lv_active_locally | 논리 볼륨이 로컬로 활성화되어 있는지 설정 | 숫자 |
lv_active_remotely | 논리 볼륨이 원격으로 활성 상태인지 여부 설정 | 숫자 |
lv_active_exclusively | 논리 볼륨이 독점적으로 활성화되어 있는지 여부 설정 | 숫자 |
lv_major | 영구 메이저 수 또는 -1(지속되지 않는 경우) | 숫자 |
lv_minor | 영구 마이너 번호 또는 -1(영구지 않는 경우) | 숫자 |
lv_read_ahead | 현재 단위로 사전 설정 읽기 | 크기 |
lv_size | 현재 단위로 논리 볼륨 크기 | 크기 |
lv_metadata_size | 씬 및 캐시 풀의 경우 메타데이터를 보유한 논리 볼륨의 크기입니다. | 크기 |
seg_count | 논리 볼륨의 세그먼트 수 | 숫자 |
origin | 스냅샷의 경우 이 논리 볼륨의 원본 장치 | string |
origin_size | 스냅샷의 경우 이 논리 볼륨의 원본 장치의 크기입니다. | 크기 |
data_percent | 스냅샷 및 씬 풀 및 볼륨의 경우 논리 볼륨이 활성화된 경우 백분율이 꽉 납니다. | 백분율 |
snap_percent | 스냅샷의 경우 논리 볼륨이 활성 상태일 경우 백분율이 꽉 납니다. | 백분율 |
metadata_percent | 씬 풀의 경우 논리 볼륨이 활성 상태일 경우 메타데이터의 백분율이 가득합니다. | 백분율 |
copy_percent | RAID, 미러 및 pvPolicies의 경우 현재 백분율 in-sync | 백분율 |
sync_percent | RAID, 미러 및 pvPolicies의 경우 현재 백분율 in-sync | 백분율 |
raid_mismatch_count | RAID의 경우 불일치가 발견되거나 복구되는 경우 | 숫자 |
raid_sync_action | RAID의 경우 현재 수행되는 동기화 작업 | string |
raid_write_behind | RAID1의 경우 가장 많은 장치를 쓸 수 있는 뛰어난 쓰기 수 | 숫자 |
raid_min_recovery_rate | RAID1의 경우 kiB/sec/disk의 최소 복구 I/O 로드 | 숫자 |
raid_max_recovery_rate | RAID1의 경우 kiB/sec/disk의 최대 복구 I/O 로드 | 숫자 |
move_pv | pvmove의 경우 pv passes에서 생성된 임시 논리 볼륨의 물리 볼륨을 가져옵니다. | string |
convert_lv | lvconvert의 경우 lvconvert에 의해 생성된 임시 논리 볼륨의 이름 | string |
mirror_log | 미러의 경우 동기화 로그를 포함하는 논리 볼륨 | string |
data_lv | 씬 및 캐시 풀의 경우 관련 데이터가 포함된 논리 볼륨 | string |
metadata_lv | 씬 및 캐시 풀의 경우 관련 메타데이터를 보유한 논리 볼륨 | string |
pool_lv | thin 볼륨의 경우 thin 풀 이 볼륨의 논리 볼륨 | string |
lv_tags | 태그(있는 경우) | 문자열 목록 |
lv_profile | 이 논리 볼륨에 연결된 구성 프로필 | string |
lv_time | 알려진 경우 논리 볼륨 생성 시간 | time |
lv_host | 알려진 경우 논리 볼륨의 호스트 생성 | string |
lv_modules | 이 논리 볼륨에 필요한 커널 장치 매퍼 모듈 | 문자열 목록 |
표 C.6. “논리 볼륨 장치 결합 정보 및 상태 필드” 논리 장치 정보와 논리적 장치 상태를 결합하는 논리 볼륨 장치 필드를 설명합니다.
| 논리 볼륨 필드 | 설명 | 필드 유형 |
|---|---|---|
lv_attr | 논리 볼륨 장치 정보와 논리 볼륨 상태에 따라 선택합니다. | string |
표 C.7. “논리 볼륨 장치 정보 필드” 논리 볼륨 장치 정보 필드 및 해당 필드 유형에 대해 설명합니다.
| 논리 볼륨 필드 | 설명 | 필드 유형 |
|---|---|---|
lv_kernel_major | 논리 볼륨이 활성 상태가 아닌 경우 현재 주요 번호 또는 -1이 할당되어 있습니다. | 숫자 |
lv_kernel_minor | 논리 볼륨이 활성 상태가 아닌 경우 현재 마이너 번호 또는 -1이 할당되어 있습니다. | 숫자 |
lv_kernel_read_ahead | 현재 단위의 현재 읽기 앞부분 설정 | 크기 |
lv_permissions | 논리 볼륨 권한 | string |
lv_suspended | 논리 볼륨이 일시 중단된 경우 설정 | 숫자 |
lv_live_table | 논리 볼륨에 실시간 테이블이 있는 경우 설정 | 숫자 |
lv_inactive_table | 논리 볼륨에 비활성 테이블이 있는 경우 설정 | 숫자 |
lv_device_open | 논리 볼륨 장치가 열려 있는지 여부 설정 | 숫자 |
표 C.8. “논리 볼륨 장치 상태 필드” 논리 볼륨 장치 상태 필드와 해당 필드 유형을 설명합니다.
| 논리 볼륨 필드 | 설명 | 필드 유형 |
|---|---|---|
cache_total_blocks | 총 캐시 블록 | 숫자 |
cache_used_blocks | 사용된 캐시 블록 | 숫자 |
cache_dirty_blocks | 더티 캐시 블록 | 숫자 |
cache_read_hits | 캐시 읽기 적중 | 숫자 |
cache_read_misses | 캐시 읽기 누락 | 숫자 |
cache_write_hits | 캐시 쓰기 적중 | 숫자 |
cache_write_misses | 캐시 쓰기 누락 | 숫자 |
lv_health_status | 논리 볼륨 상태 | string |
표 C.9. “물리 볼륨 레이블 필드” 물리 볼륨 레이블 필드와 해당 필드 유형을 설명합니다.
| 물리 볼륨 필드 | 설명 | 필드 유형 |
|---|---|---|
pv_fmt | 메타데이터 유형 | string |
pv_uuid | 고유 식별자 | string |
dev_size | 현재 단위의 기본 장치 크기 | 크기 |
pv_name | 이름 | string |
pv_mda_free | 현재 단위로 이 장치의 메타데이터 영역 공간 여유 | 크기 |
pv_mda_size | 현재 단위로 이 장치의 최소 메타데이터 영역 크기 | 크기 |
표 C.5. “논리 볼륨 필드” 물리 볼륨 필드와 해당 필드 유형을 설명합니다.
| 물리 볼륨 필드 | 설명 | 필드 유형 |
|---|---|---|
pe_start | 기본 장치의 데이터 시작으로 오프셋 | 숫자 |
pv_size | 현재 단위의 물리 볼륨 크기 | 크기 |
pv_free | 현재 단위의 할당되지 않은 총 공간 | 크기 |
pv_used | 현재 단위에 할당된 총 공간 | 크기 |
pv_attr | 다양한 속성 | string |
pv_allocatable | 이 장치를 할당에 사용할 수 있는지 설정 | 숫자 |
pv_exported | 이 장치를 내보낼 경우 설정 | 숫자 |
pv_missing | 시스템에 이 장치가 누락된 경우 설정 | 숫자 |
pv_pe_count | 총 물리 확장 영역 수 | 숫자 |
pv_pe_alloc_count | 할당된 총 물리 확장 영역 수 | 숫자 |
pv_tags | 태그(있는 경우) | 문자열 목록 |
pv_mda_count | 이 장치의 메타데이터 영역 수 | 숫자 |
pv_mda_used_count | 이 장치에서 사용되는 메타데이터 영역 수 | 숫자 |
pv_ba_start | 현재 단위의 기본 장치의 PV Bootloader Area 시작 오프셋 | 크기 |
pv_ba_size | 현재 단위의 PV Bootloader Area 크기 | 크기 |
표 C.11. “볼륨 그룹 필드” 볼륨 그룹 필드 및 해당 필드 유형을 설명합니다.
| 볼륨 그룹 필드 | 설명 | 필드 유형 |
|---|---|---|
vg_fmt | 메타데이터 유형 | string |
vg_uuid | 고유 식별자 | string |
vg_name | 이름 | string |
vg_attr | 다양한 속성 | string |
vg_permissions | 볼륨 그룹 권한 | string |
vg_extendable | 볼륨 그룹을 확장할 수 있는 경우 설정 | 숫자 |
vg_exported | 볼륨 그룹을 내보낼 경우 설정 | 숫자 |
vg_partial | 볼륨 그룹이 부분적인 경우 설정 | 숫자 |
vg_allocation_policy | 볼륨 그룹 할당 정책 | string |
vg_clustered | 볼륨 그룹이 클러스터형 경우 설정 | 숫자 |
vg_size | 현재 단위의 볼륨 그룹의 총 크기 | 크기 |
vg_free | 현재 단위의 여유 공간 총 용량 | 크기 |
vg_sysid | 볼륨을 소유한 호스트를 나타내는 볼륨 그룹의 시스템 ID | string |
vg_systemid | 볼륨을 소유한 호스트를 나타내는 볼륨 그룹의 시스템 ID | string |
vg_extent_size | 현재 단위의 물리 확장 영역 크기 | 크기 |
vg_extent_count | 총 물리 확장 영역 수 | 숫자 |
vg_free_count | 할당되지 않은 물리 확장 영역의 총 수 | 숫자 |
max_lv | 볼륨 그룹에 허용되는 최대 논리 볼륨 수 또는 무제한인 경우 0 | 숫자 |
max_pv | 볼륨 그룹에 허용되는 최대 물리 볼륨 수 또는 무제한인 경우 0 | 숫자 |
pv_count | 물리 볼륨 수 | 숫자 |
lv_count | 논리 볼륨 수 | 숫자 |
snap_count | 스냅샷 수 | 숫자 |
vg_seqno | 내부 메타데이터의 버전 수 - 변경될 때마다 증가 | 숫자 |
vg_tags | 태그(있는 경우) | 문자열 목록 |
vg_profile | 이 볼륨 그룹에 연결된 구성 프로필 | string |
vg_mda_count | 이 볼륨 그룹의 메타데이터 영역 수 | 숫자 |
vg_mda_used_count | 이 볼륨 그룹에서 사용되는 메타데이터 영역 수 | 숫자 |
vg_mda_free | 현재 단위로 이 볼륨 그룹의 메타데이터 영역 공간 사용 | 크기 |
vg_mda_size | 현재 단위에서 이 볼륨 그룹의 최소 메타데이터 영역 크기 | 크기 |
vg_mda_copies | 볼륨 그룹의 사용 메타데이터 영역의 대상 수 | 숫자 |
표 C.12. “논리 볼륨 세그먼트 필드” 논리 볼륨 세그먼트 필드 및 해당 필드 유형을 설명합니다.
| 논리 볼륨 세그먼트 필드 | 설명 | 필드 유형 |
|---|---|---|
segtype | 논리 볼륨 세그먼트 유형 | string |
스트라이프 | 스트라이프 또는 미러 다리 수 | 숫자 |
stripesize | 스트라이프의 경우 다음 장치로 전환하기 전에 한 장치에 저장된 데이터 양 | 크기 |
stripe_size | 스트라이프의 경우 다음 장치로 전환하기 전에 한 장치에 저장된 데이터 양 | 크기 |
regionsize | 미러의 경우 장치를 동기화할 때 복사된 데이터 단위 | 크기 |
region_size | 미러의 경우 장치를 동기화할 때 복사된 데이터 단위 | 크기 |
CHUNKSIZE | 스냅샷의 경우 변경 사항을 추적할 때 사용되는 데이터 단위 | 크기 |
chunk_size | 스냅샷의 경우 변경 사항을 추적할 때 사용되는 데이터 단위 | 크기 |
thin_count | 씬 풀의 경우 이 풀의 씬 볼륨 수 | 숫자 |
삭제 | 씬 풀의 경우, 삭제 처리 방법 | string |
CacheMode | 캐시 풀의 경우 쓰기 캐시 방법 | string |
zero | 씬 풀의 경우 제로이 활성화된 경우 | 숫자 |
transaction_id | 씬 풀의 경우 트랜잭션 ID | 숫자 |
thin_id | thin 볼륨의 경우 thin 장치 ID | 숫자 |
seg_start | 현재 단위로 세그먼트 시작까지 논리 볼륨 내의 오프셋 | 크기 |
seg_start_pe | 물리 확장 영역의 세그먼트 시작까지 논리 볼륨 내의 오프셋입니다. | 숫자 |
seg_size | 현재 단위의 세그먼트 크기 | 크기 |
seg_size_pe | 물리 확장 영역의 세그먼트 크기 | 크기 |
seg_tags | 태그(있는 경우) | 문자열 목록 |
seg_pe_ranges | 명령줄 형식의 기본 장치의 물리 확장 영역 범위 | string |
devices | 시작 범위 번호와 함께 사용되는 기본 장치 | string |
seg_monitor | 세그먼트의 DMeventd 모니터링 상태 | string |
cache_policy | 캐시 정책(캐쉬된 세그먼트만 해당) | string |
cache_settings | 캐시 설정/매개 변수(캐쉬된 세그먼트만 해당) | 문자열 목록 |
표 C.13. “물리 볼륨 세그먼트 필드” 물리 볼륨 세그먼트 필드 및 해당 필드 유형을 설명합니다.
| 물리 볼륨 세그먼트 필드 | 설명 | 필드 유형 |
|---|---|---|
pvseg_start | 세그먼트 시작 물리적 확장 수 | 숫자 |
pvseg_size | 세그먼트의 확장 영역 수 | 숫자 |
표 C.14. “선택 기준 구문” 필드 값에 사용할 수 있는 동의어를 나열합니다.Lists the synonyms you can use for field values. 이러한 동의어는 선택 기준과 원래 값과 마찬가지로 값에 사용할 수 있습니다. 이 표에서 필드 값 ""은
-S 'field_name=""'을 지정하여 일치시킬 수 있는 빈 문자열을 나타냅니다.
이 표에서 0 또는 1로 표시된 필드는 바이너리 값을 나타냅니다. 이 표에 표시된 내용 대신 0 또는 1이 아닌 "some text" 또는 ""로 표시되는 툴을 보고하기 위해
--binary 옵션을 지정할 수 있습니다.
| 필드 | 필드 값 | Synonyms |
|---|---|---|
pv_allocatable | allocatable | 1 |
pv_allocatable | "" | 0 |
pv_exported | exported | 1 |
pv_exported | "" | 0 |
pv_missing | 누락됨 | 1 |
pv_missing | "" | 0 |
vg_extendable | extendable | 1 |
vg_extendable | "" | 0 |
vg_exported | exported | 1 |
vg_exported | "" | 0 |
vg_partial | 부분적인 | 1 |
vg_partial | "" | 0 |
vg_clustered | 클러스터형 | 1 |
vg_clustered | "" | 0 |
vg_permissions | writable | RW, 읽기-쓰기 |
vg_permissions | read-only | R, ro |
vg_mda_copies | 비관리 | unknown, undefined, undef, -1 |
lv_initial_image_sync | 초기 이미지 동기화 | sync, 1 |
lv_initial_image_sync | "" | 0 |
lv_image_synced | 이미지가 동기화됨 | 동기화됨, 1 |
lv_image_synce | "" | 0 |
lv_merging | 병합 | 1 |
lv_merging | "" | 0 |
lv_converting | 변환 | 1 |
lv_converting | "" | 0 |
lv_allocation_locked | 할당 잠금됨 | locked, 1 |
lv_allocation_locked | "" | 0 |
lv_fixed_minor | 수정된 마이너 | fixed, 1 |
lv_fixed_minor | "" | 0 |
lv_active_locally | 로컬에서 활성화 | 활성, 로컬, 1 |
lv_active_locally | "" | 0 |
lv_active_remotely | 원격으로 활성 | 활성, 원격으로, 1 |
lv_active_remotely | "" | 0 |
lv_active_exclusively | 독점적으로 활성화 | 활성, 전용, 1 |
lv_active_exclusively | "" | 0 |
lv_merge_failed | 병합 실패 | 실패, 1 |
lv_merge_failed | "" | 0 |
lv_snapshot_invalid | 스냅샷이 유효하지 않음 | 잘못된 값, 1 |
lv_snapshot_invalid | "" | 0 |
lv_suspended | 일시 중지됨 | 1 |
lv_suspended | "" | 0 |
lv_live_table | 실시간 테이블 현재 | 라이브 테이블, 라이브, 1 |
lv_live_table | "" | 0 |
lv_inactive_table | 비활성 테이블이 있음 | 비활성 테이블, 비활성, 1 |
lv_inactive_table | "" | 0 |
lv_device_open | open | 1 |
lv_device_open | "" | 0 |
lv_skip_activation | 활성화 건너뛰기 | 건너뛰기 1 |
lv_skip_activation | "" | 0 |
zero | zero | 1 |
zero | "" | 0 |
lv_permissions | writable | RW, 읽기-쓰기 |
lv_permissions | read-only | R, ro |
lv_permissions | read-only-override | ro-override, r-override, R |
lv_when_full | 오류 | 공간이 없는 경우 오류 발생 |
lv_when_full | queue | 공간이 없는 경우 큐(Queue) |
lv_when_full | "" | 정의되지 않음 |
cache_policy | "" | 정의되지 않음 |
seg_monitor | "" | 정의되지 않음 |
lv_health_status | "" | 정의되지 않음 |
C.4. 시간 값 지정 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 선택 시간 값을 지정할 때 C.4.1절. “표준 시간 선택 형식” 및 C.4.2절. “Freeform 시간 선택 형식” 에 설명된 대로 표준화된 시간 사양 또는 보다 무료 양식 사양을 사용할 수 있습니다.
/etc/lvm/lvm.conf 구성 파일의 보고서/시간 형식 구성 옵션을 사용하여 시간 값을 표시하는 방법을 지정할 수 있습니다. 이 옵션을 지정하는 방법에 대한 정보는 lvm.conf 파일에 제공됩니다.
C.4.1. 표준 시간 선택 형식 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 형식으로 LVM 선택 시간 값을 지정할 수 있습니다.
date time timezone
date time timezone
표 C.15. “시간 사양 형식” 이러한 시간 값을 지정할 때 사용할 수 있는 형식을 요약합니다.
| 필드 | 필드 값 | |||
|---|---|---|---|---|
| date |
| |||
| time |
| |||
| timezone (+ 또는 - 기호 사용) |
|
전체 날짜/시간 사양은 YYYY-MM-DD hh:mm:sss입니다. 사용자는 날짜/시간 부분을 오른쪽에서 왼쪽으로 둘 수 있습니다. 이러한 부분이 나올 때마다 범위는 두 번째 단위로 자동으로 가정됩니다. 예를 들어 다음과 같습니다.
- "2015-07-07 9:51"은 "2015-07-07 9:51:00" - "2015-07-07 9:51:59"를 의미합니다.
- "2015-07"은 "2015-07-01 0:00:00" - "2015-07-31 23:59"를 의미합니다.
- "2015"는 "2015-01-01 0:00:00" - "2015-12-31 23:59"을 의미합니다.
다음 예제에서는 선택 기준에 사용되는 날짜/시간 사양을 보여줍니다.
lvs -S 'time since "2015-07-07 9:51"' lvs -S 'time = "2015-07"" lvs -S 'time = "2015"'
lvs -S 'time since "2015-07-07 9:51"'
lvs -S 'time = "2015-07""
lvs -S 'time = "2015"'
C.4.2. Freeform 시간 선택 형식 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 권한을 사용하여 LVM 선택 기준에 날짜/시간 사양을 지정할 수 있습니다.
- 평일 이름("일요일") - "공요일" 또는 축약 - "Sun" - "Sat"
- 시간 레이블(오요일', "마이요일")
- 현재 날짜를 기준으로 한 날의 라벨("오일", "yesterday")
- 오늘 (N은 숫자)의 상대 오프셋을 사용하여 시간을 반환합니다.
- ( "N" "seconds"/"minutes"/"hours"/"days"/"weeks"/"years" "ago")
- ( "N" "secs"/"mins"/"hrs" ... "ago")
- ( "N" "s"/"m"/"h" ... "ago")
- hh:mm:ss 형식 또는 AM/PM 접미사로 시간 사양
- 월 이름("January" - "December" 또는 약어 "Jan" - "Dec")
다음 예제에서는 선택 기준에서 사용되는
자유형 날짜/시간 사양을 보여줍니다.
C.5. 선택 기준 표시 예 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 LVM 표시 명령에 선택 기준을 사용하는 방법을 보여주는 일련의 예제를 제공합니다. 이 섹션의 예제에서는 선택 기준을 사용하지 않을 때 다음 출력을 생성하는 LVM 볼륨으로 구성된 시스템을 사용합니다.
다음 명령은 정규식을 사용하여 이름에 "lvol[13]"이 있는 모든 논리 볼륨을 표시합니다.
lvs -a -o+layout,role -S 'lv_name=~lvol[13]' LV VG Attr LSize Pool Origin Data% Layout Role lvol1 vg Vwi-a-tz-- 1.00g pool 0.00 thin,sparse public lvol3 vg Vwi---tz-k 1.00g pool lvol2 thin,sparse public,snapshot,thinsnapshot
# lvs -a -o+layout,role -S 'lv_name=~lvol[13]'
LV VG Attr LSize Pool Origin Data% Layout Role
lvol1 vg Vwi-a-tz-- 1.00g pool 0.00 thin,sparse public
lvol3 vg Vwi---tz-k 1.00g pool lvol2 thin,sparse public,snapshot,thinsnapshot
다음 명령은 500MB보다 큰 모든 논리 볼륨을 표시합니다.
다음 명령은 논리 볼륨이 씬 풀을 구성하는 데 사용됨을 나타내는
thin 을 논리 볼륨 역할로 포함하는 모든 논리 볼륨을 표시합니다. 이 예에서는 중괄호({})를 사용하여 디스플레이의 하위 집합을 나타냅니다.
lvs -a -o+layout,role -S 'lv_role={thin}'
LV VG Attr LSize Layout Role
[pool_tdata] vg Twi-ao---- 100.00m linear private,thin,pool,data
[pool_tmeta] vg ewi-ao---- 4.00m linear private,thin,pool,metadata
# lvs -a -o+layout,role -S 'lv_role={thin}'
LV VG Attr LSize Layout Role
[pool_tdata] vg Twi-ao---- 100.00m linear private,thin,pool,data
[pool_tmeta] vg ewi-ao---- 4.00m linear private,thin,pool,metadata
다음 명령은 "public" 역할이 있는 논리 볼륨인 사용 가능한 모든 최상위 논리 볼륨을 표시합니다. 하위 집합을 표시하기 위해 문자열 목록에 중괄호({})를 지정하지 않으면 기본적으로 가정합니다.
lv_role={public } 을 지정하는 것과 동일합니다.
다음 명령은 씬 레이아웃을 사용하여 모든 논리 볼륨을 표시합니다.
다음 명령은 "sparse,thin"과 일치하는 레이아웃 필드가 있는 모든 논리 볼륨을 표시합니다. 일치 항목의 문자열 목록 멤버를 양수로 지정할 필요는 없습니다.
다음 명령은 씬인 스파스 논리 볼륨의 논리 볼륨 이름을 표시합니다. 선택 기준에 사용되는 필드 목록은 표시할 필드 목록과 같을 필요가 없습니다.
C.6. 선택 기준 처리 예 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 LVM 논리 볼륨을 처리하는 명령에서 선택 기준을 사용하는 방법을 보여주는 일련의 예제를 제공합니다.
이 예에서는 씬 스냅샷을 포함한 논리 볼륨 그룹의 초기 구성을 보여줍니다. 씬 스냅샷에는 기본적으로 "skip activation" 플래그가 설정되어 있습니다. 이 예제에는 "skip activation" 플래그가 설정된 논리 볼륨
lvol4 도 포함되어 있습니다.
다음 명령은 씬 스냅샷인 모든 논리 볼륨에서 건너뛰기 활성화 플래그를 제거합니다.
lvchange --setactivationskip n -S 'role=thinsnapshot' Logical volume "lvol3" changed.
# lvchange --setactivationskip n -S 'role=thinsnapshot'
Logical volume "lvol3" changed.
다음 명령은 lvchange 명령을 실행한 후 논리 볼륨의 구성을 보여줍니다. "skip activation" 플래그는 씬 스냅샷이 아닌 논리 볼륨에서 설정되지 않았습니다.
다음 명령은 추가 thin origin/snapshot 볼륨이 생성된 후 논리 볼륨의 구성을 보여줍니다.
다음 명령은 thin snapshot 볼륨과
lvol2 의 원본 볼륨이 모두 있는 논리 볼륨을 활성화합니다.
전체 항목에 대해 일치하는 항목을 지정하는 동안 전체 항목에서 명령을 실행하면 전체 항목이 처리됩니다.If you execute a command on a whole item while specifying selection criteria that match an item from that whole item is processed. 예를 들어 해당 볼륨 그룹에서 하나 이상의 항목을 선택하는 동안 볼륨 그룹을 변경하면 전체 볼륨 그룹이 선택됩니다. 이 예에서는 볼륨 그룹
lvol1 의 일부인 논리 볼륨 lvol1을 선택합니다. 볼륨 그룹의 모든 논리 볼륨이 처리됩니다.
다음 예제에서는 더 복잡한 선택 기준 문을 보여줍니다. 이 예에서 모든 논리 볼륨에는 origin 역할이 있고 이름이 lvol[456]이거나 논리 볼륨 크기가 5GB 이상인 경우 모든 논리 볼륨에
mytag 태그가 지정됩니다.
lvchange --addtag mytag -S '(role=origin && lv_name=~lvol[456]) || lv_size > 5g' Logical volume "root" changed. Logical volume "lvol5" changed.
# lvchange --addtag mytag -S '(role=origin && lv_name=~lvol[456]) || lv_size > 5g'
Logical volume "root" changed.
Logical volume "lvol5" changed.
부록 D. LVM 오브젝트 태그 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
LVM 태그는 동일한 유형의 LVM2 개체를 그룹화하는 데 사용할 수 있는 단어입니다. 태그는 물리 볼륨, 볼륨 그룹, 논리 볼륨과 같은 오브젝트에 연결할 수 있습니다. 태그는 클러스터 구성의 호스트에 연결할 수 있습니다.
태그는 PV, VG 또는 LV 인수 대신 명령줄에 제공할 수 있습니다. 모호성을 방지하려면 태그 앞에 @ 앞에 추가해야 합니다. 각 태그는 명령줄에서 위치로 예상되는 유형인 해당 태그를 소유하는 모든 오브젝트로 교체하여 확장됩니다.
LVM 태그는 최대 1024자의 문자열입니다. LVM 태그는 하이픈으로 시작할 수 없습니다.
유효한 태그는 제한된 범위의 문자만 구성할 수 있습니다. 허용되는 문자는 [A-Za-z0-9_+.-]입니다. Red Hat Enterprise Linux 6.1 릴리스에서는 허용되는 문자 목록이 확장되었으며 태그에는 /, =, !, :, # 및 & 문자가 포함될 수 있습니다.
볼륨 그룹의 오브젝트만 태그할 수 있습니다. 볼륨 그룹에서 제거된 경우 물리 볼륨은 태그를 잃게 됩니다. 이는 볼륨 그룹 메타데이터의 일부로 저장되고 물리 볼륨이 제거될 때 삭제되기 때문입니다.
다음 명령은
database 태그가 있는 모든 논리 볼륨을 나열합니다.
lvs @database
# lvs @database
다음 명령은 현재 활성 상태인 호스트 태그를 나열합니다.
lvm tags
# lvm tags
D.1. 오브젝트 태그 추가 및 제거 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨에서 태그를 추가하거나 삭제하려면 pvchange 명령의
--addtag 또는 --deltag 옵션을 사용합니다.
볼륨 그룹에서 태그를 추가하거나 삭제하려면 Cryostat change 또는 Cryostat create 명령의
--addtag 또는 --deltag 옵션을 사용합니다.
논리 볼륨에서 태그를 추가하거나 삭제하려면 lvchange 또는 lvcreate 명령의
--addtag 또는 --deltag 옵션을 사용합니다.
단일 pvchange, Cryostatchange 또는 lvchange 명령에
--addtag 및 --deltag 인수를 여러 개 지정할 수 있습니다. 예를 들어 다음 명령은 T9 및 T10 태그를 삭제하고 T13 및 T14 태그를 볼륨 그룹 권한 부여 에 추가합니다.
vgchange --deltag T9 --deltag T10 --addtag T13 --addtag T14 grant
# vgchange --deltag T9 --deltag T10 --addtag T13 --addtag T14 grant
D.2. 호스트 태그 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
클러스터 구성에서 구성 파일에 호스트 태그를 정의할 수 있습니다.
tags 섹션에 hosttags = 1 을 설정하면 시스템의 호스트 이름을 사용하여 호스트 태그가 자동으로 정의됩니다. 이를 통해 모든 시스템에서 복제할 수 있는 공통 구성 파일을 사용하여 파일의 동일한 복사본을 보유할 수 있지만, 호스트 이름에 따라 시스템마다 동작이 다를 수 있습니다.
구성 파일에 대한 자세한 내용은 부록 B. LVM 구성 파일 을 참조하십시오.
각 호스트 태그에 대해 추가 구성 파일이 있는 경우 이 파일을 읽습니다. lvm_hosttag.conf. 해당 파일이 새 태그를 정의하면 추가 설정 파일이 읽을 파일 목록에 추가됩니다.
예를 들어 구성 파일의 다음 항목은 항상
tag1 을 정의하고 호스트 이름이 host1 인 경우 tag2 를 정의합니다.
tags { tag1 { } tag2 { host_list = ["host1"] } }
tags { tag1 { } tag2 { host_list = ["host1"] } }
D.3. 태그를 사용하여 활성화 제어 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
해당 호스트에서 특정 논리 볼륨만 활성화해야 하는 구성 파일을 지정할 수 있습니다. 예를 들어 다음 항목은 활성화 요청(예: Cryostat change -ay)에 대한 필터 역할을 하며 해당 호스트의 메타데이터에
database 태그가 있는 모든 논리 볼륨 또는 볼륨 그룹만 활성화합니다.
activation { volume_list = ["vg1/lvol0", "@database" ] }
activation { volume_list = ["vg1/lvol0", "@database" ] }
메타데이터 태그가 해당 시스템의 호스트 태그와 일치하는 경우에만 일치하는 특수 일치 "@*"가 있습니다.
다른 예로 클러스터의 모든 머신에 구성 파일에 다음 항목이 있는 상황을 고려하십시오.
tags { hosttags = 1 }
tags { hosttags = 1 }
host
db 2 에서만 Cryostat1/lvol 2를 활성화하려면 다음을 수행합니다.
- 클러스터의 모든 호스트에서 lvchange --addtag @db2 Cryostat1/lvol2 를 실행합니다.
- lvchange -ay Cryostat1/lvol2 를 실행합니다.
이 솔루션은 볼륨 그룹 메타데이터 내에 호스트 이름을 저장하는 작업이 포함됩니다.
부록 E. LVM 볼륨 그룹 메타데이터 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹의 구성 세부 정보를 메타데이터라고 합니다. 기본적으로 메타데이터의 동일한 사본은 볼륨 그룹 내의 모든 물리 볼륨의 모든 메타데이터 영역에서 유지 관리됩니다. LVM 볼륨 그룹 메타데이터는 ASCII로 저장됩니다.
볼륨 그룹에 많은 물리 볼륨이 포함된 경우 메타데이터의 중복 복사본을 많이 갖는 것은 비효율적입니다. pvcreate 명령의
--metadatacopies 0 옵션을 사용하여 메타데이터 사본 없이 물리 볼륨을 생성할 수 있습니다. 메타데이터의 수를 선택하면 물리 볼륨에 포함할 복사본을 지정하면 나중에 변경할 수 없습니다. 0개의 복사본을 선택하면 구성 변경에 대한 업데이트가 더 빨라질 수 있습니다. 그러나 항상 모든 볼륨 그룹에 메타데이터 영역이 있는 물리 볼륨이 하나 이상 포함되어야 합니다(파일 시스템에 볼륨 그룹 메타데이터를 저장할 수 있는 고급 구성 설정을 사용하지 않는 경우). 향후 볼륨 그룹을 분할하려면 모든 볼륨 그룹에 하나 이상의 메타데이터 사본이 필요합니다.
핵심 메타데이터는 ASCII에 저장됩니다. 메타데이터 영역은 원형 버퍼입니다. 새 메타데이터가 이전 메타데이터에 추가된 후 포인터가 업데이트됩니다.
pvcreate 명령의
--metadatasize 옵션을 사용하여 메타데이터 영역의 크기를 지정할 수 있습니다. 물리 볼륨과 수백의 수의 논리 볼륨이 포함된 볼륨 그룹의 경우 기본 크기가 너무 작을 수 있습니다.
E.1. 물리 볼륨 레이블 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 pvcreate 명령은 물리 볼륨 레이블을 2번째 512바이트 섹터에 배치합니다. 이 레이블은 물리 볼륨 레이블을 스캔하는 LVM 툴이 처음 4개 섹터를 검사하므로 선택적으로 처음 4개의 섹터에 배치될 수 있습니다. 물리 볼륨 레이블은
LABELONE 문자열로 시작됩니다.
물리 볼륨 레이블에는 다음이 포함됩니다.
- 물리 볼륨 UUID
- 블록 장치의 크기(바이트)
- 데이터 영역 위치 NULL 종료 목록
- 잘못된 메타데이터 영역 위치 목록
메타데이터 위치는 오프셋 및 크기(바이트)로 저장됩니다. 레이블에는 약 15개의 위치에 대한 공간이 있지만, LVM 툴에서는 현재 3개, 즉 단일 데이터 영역과 최대 두 개의 메타데이터 영역을 사용합니다.
E.2. 메타데이터 콘텐츠 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹 메타데이터에는 다음이 포함됩니다.
- How and when it was created에 대한 정보
- 볼륨 그룹에 대한 정보
볼륨 그룹 정보에는 다음이 포함됩니다.
- 이름 및 고유 ID
- 메타데이터가 업데이트될 때마다 증가되는 버전 번호입니다.
- 읽기/쓰기 또는 다시 가능 속성과 같은 모든 속성
- 물리 볼륨 수 및 포함할 수 있는 논리 볼륨 수에 대한 관리 제한
- 확장 크기( 512바이트로 정의된 섹터 단위)
- 볼륨 그룹을 구성하는 물리 볼륨의 순서가 지정되지 않은 목록, 각각 다음을 사용합니다.
- UUID: 이를 포함하는 블록 장치를 결정하는 데 사용됩니다.
- 물리 볼륨이 할당 가능인지 여부와 같은 모든 속성
- 물리 볼륨( 섹터) 내에서 첫 번째 확장 영역의 시작 부분 오프셋
- 확장 영역 수
- 논리 볼륨의 순서가 지정되지 않은 목록, 각각으로 구성됩니다.
- 정렬된 논리 볼륨 세그먼트 목록입니다. 각 세그먼트마다 메타데이터에는 정렬된 물리 볼륨 세그먼트 또는 논리 볼륨 세그먼트에 적용된 매핑이 포함됩니다.
E.3. 샘플 메타데이터 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음은
myvg 라는 볼륨 그룹의 LVM 볼륨 그룹 메타데이터의 예를 보여줍니다.
부록 F. 개정 내역 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
| 고친 과정 | |||
|---|---|---|---|
| 고침 4.0-2 | Wed Aug 7 2019 | ||
| |||
| 고침 3.0-2 | Thu Oct 4 2018 | ||
| |||
| 고침 2.0-2 | Thu Mar 15 2018 | ||
| |||
| 고침 2.0-1 | Thu Dec 14 2017 | ||
| |||
| 고침 1.0-11 | Wed Jul 19 2017 | ||
| |||
| 고침 1.0-9 | Mon May 15 2017 | ||
| |||
| 고침 1.0-7 | Mon Mar 27 2017 | ||
| |||
| 고침 1.0-5 | Mon Oct 17 2016 | ||
| |||
| 고침 1.0-4 | Wed Aug 17 2016 | ||
| |||
| 고침 0.3-4 | Mon Nov 9 2015 | ||
| |||
| 고침 0.3-2 | Wed Aug 19 2015 | ||
| |||
| 고침 0.2-7 | Mon Feb 16 2015 | ||
| |||
| 고침 0.2-6 | Thu Dec 11 2014 | ||
| |||
| 고침 0.1-22 | Mon Jun 2 2014 | ||
| |||
| 고침 0.1-1 | Wed Jan 16 2013 | ||
| |||
색인
Symbols
- /lib/udev/rules.d 디렉토리, 장치 매퍼와 udev 통합
- 감소
- 논리 볼륨, 논리 볼륨 축소
- 개요
- 기능, 새로운 및 변경, 새로운 기능 및 변경된 기능
- 경로 이름, CLI 명령 사용
- 관리 절차, LVM 관리 개요
- 구성 예, LVM 설정 예
- 기능, 새로운 및 변경, 새로운 기능 및 변경된 기능
- 논리 볼륨
- extending, 논리 볼륨 증가
- growing, 논리 볼륨 증가
- historical, 추적 및 표시 논리 볼륨 (Red Hat Enterprise Linux 7.3 및 later)
- Linear, 선형 논리 볼륨 생성
- LV에 인수 표시, lvs 명령
- 감소, 논리 볼륨 축소
- 관리, 일반, 논리 볼륨 관리
- 로컬 액세스, 클러스터의 개별 노드에서 논리 볼륨 활성화
- 매개변수 변경, 논리 볼륨 그룹의 매개 변수 변경
- 미러링된, 미러링된 볼륨 생성
- 배타적 액세스, 클러스터의 개별 노드에서 논리 볼륨 활성화
- 생성, 선형 논리 볼륨 생성
- 생성 예, 3개의 디스크에서 LVM 논리 볼륨 만들기
- 스냅샷, 스냅샷 볼륨 생성
- 씬 프로비저닝된, 씬 프로비저닝된 논리 볼륨 생성
- 씬 프로비저닝된 스냅샷, 씬 프로비저닝된 스냅샷 볼륨 생성
- 이름 변경, 논리 볼륨 이름 변경
- 정의, 논리 볼륨, LVM 논리 볼륨
- 제거, 논리 볼륨 제거
- 제거됨, 스트립된 볼륨 생성
- 캐시, LVM 캐시 논리 볼륨 생성
- 표시, 논리 볼륨 표시, LVM에 대한 사용자 정의 보고, lvs 명령
- 활성화, 논리 볼륨 활성화 제어
- 논리 볼륨 캐시
- 생성, LVM 캐시 논리 볼륨 생성
- 논리 볼륨 활성화
- 개별 노드, 클러스터의 개별 노드에서 논리 볼륨 활성화
- 단위, 명령줄, CLI 명령 사용
- 데이터 재배치, 온라인, 온라인 데이터 재할당
- 도움말 페이지 표시, CLI 명령 사용
- 도움말 표시, CLI 명령 사용
- 메타데이터 데몬, 메타데이터 데몬(lvmetad)
- 명령줄 단위, CLI 명령 사용
- 문제 해결, LVM 문제 해결
- 물리 볼륨
- PV 표시 인수, pvs 명령
- 관리, 일반, 물리 볼륨 관리
- 레이아웃, LVM 물리 볼륨 레이아웃
- 복구, Missing 물리 볼륨 교체
- 볼륨 그룹에 추가, 볼륨 그룹에 물리 볼륨 추가
- 볼륨 그룹에서 제거, 볼륨 그룹에서 물리 볼륨 제거
- 생성, 물리 볼륨 생성
- 설명, LVM 물리 볼륨 레이아웃
- 손실된 볼륨 제거, 볼륨 그룹에서 손실된 물리 볼륨 제거
- 정의, 물리 볼륨
- 제거, 물리 볼륨 제거
- 초기화, 물리 볼륨 초기화
- 크기 조정, 물리 볼륨 크기 조정
- 표시, 물리 볼륨 표시, LVM에 대한 사용자 정의 보고, pvs 명령
- 물리 확장
- 할당 방지, 물리 볼륨의 할당 방지
- 미러링된 논리 볼륨
- linear로 변환, 미러링된 볼륨 구성 변경
- reconfiguration, 미러링된 볼륨 구성 변경
- 생성, 미러링된 볼륨 생성
- 실패 정책, 미러링된 논리 볼륨 실패 정책
- 장애 복구, LVM Mirror 실패에서 복구
- 클러스터형, 클러스터에서 미러링된 LVM 논리 볼륨 생성
- 백업 파일, 볼륨 그룹 메타데이터 백업
- 범위
- 정의, 볼륨 그룹, 볼륨 그룹 만들기
- 할당, 볼륨 그룹 만들기, LVM Allocation
- 보고서 형식, LVM 장치, LVM에 대한 사용자 정의 보고
- 볼륨 그룹
- extending, 볼륨 그룹에 물리 볼륨 추가
- growing, 볼륨 그룹에 물리 볼륨 추가
- splitting, 볼륨 그룹 분할
- 절차의 예, 볼륨 그룹 분할
- VGs 표시 인수, vgs 명령
- 감소, 볼륨 그룹에서 물리 볼륨 제거
- 결합, 볼륨 그룹 결합
- 관리, 일반, 볼륨 그룹 관리
- 매개변수 변경, 볼륨 그룹의 매개변수 변경
- 병합, 볼륨 그룹 결합
- 비활성화, 볼륨 그룹 활성화 및 비활성화
- 생성, 볼륨 그룹 만들기
- 시스템 간 이동, 다른 시스템으로 볼륨 그룹 이동
- 이름 변경, 볼륨 그룹 이름 변경
- 정의, 볼륨 그룹
- 제거, 볼륨 그룹 제거
- 축소, 볼륨 그룹에서 물리 볼륨 제거
- 클러스터에서 생성, 클러스터에서 볼륨 그룹 만들기
- 표시, 볼륨 그룹 표시, LVM에 대한 사용자 정의 보고, vgs 명령
- 활성화, 볼륨 그룹 활성화 및 비활성화
- 볼륨 그룹 비활성화, 볼륨 그룹 활성화 및 비활성화
- 볼륨 그룹 활성화, 볼륨 그룹 활성화 및 비활성화
- 블록 장치
- 스캔, 블록 장치 검색
- 상세 출력, CLI 명령 사용
- 생성
- 논리 볼륨, 선형 논리 볼륨 생성
- 논리 볼륨 예, 3개의 디스크에서 LVM 논리 볼륨 만들기
- 물리 볼륨, 물리 볼륨 생성
- 볼륨 그룹, 볼륨 그룹 만들기
- 볼륨 그룹, 클러스터형, 클러스터에서 볼륨 그룹 만들기
- 줄임의 논리 볼륨 (예:), 스트립 논리 볼륨 생성
- 선형 논리 볼륨
- 미러링됨으로 변환, 미러링된 볼륨 구성 변경
- 생성, 선형 논리 볼륨 생성
- 정의, 선형 볼륨
- 스냅샷 논리 볼륨
- 생성, 스냅샷 볼륨 생성
- 스냅샷 볼륨
- 정의, 스냅샷 볼륨
- 스캔
- 블록 장치, 블록 장치 검색
- 스캔 장치, 필터, 필터를 사용하여 LVM 장치 스캔 제어
- 씬 스냅샷 볼륨, 씬 프로비저닝된 스냅샷 볼륨
- 씬 프로비저닝된 논리 볼륨, 씬 프로비저닝된 논리 볼륨(Thin Volumes)
- 씬 프로비저닝된 스냅샷 논리 볼륨
- 씬 프로비저닝된 스냅샷 볼륨, 씬 프로비저닝된 스냅샷 볼륨
- 아카이브 파일, 논리 볼륨 백업, 볼륨 그룹 메타데이터 백업
- 영구 장치 번호, 영구 장치 번호
- 온라인 데이터 재배치, 온라인 데이터 재할당
- 이름 변경
- 논리 볼륨, 논리 볼륨 이름 변경
- 볼륨 그룹, 볼륨 그룹 이름 변경
- 장치 검사 필터, 필터를 사용하여 LVM 장치 스캔 제어
- 장치 경로 이름, CLI 명령 사용
- 장치 번호
- 장치 크기, 최대, 볼륨 그룹 만들기
- 장치 특수 파일 디렉토리, 볼륨 그룹 만들기
- 제거
- 논리 볼륨, 논리 볼륨 제거
- 논리 볼륨의 디스크, 논리 볼륨에서 디스크 제거
- 물리 볼륨, 물리 볼륨 제거
- 줄 바꿈 논리 볼륨
- extending, 스트립 볼륨 확장
- growing, 스트립 볼륨 확장
- 생성, 스트립된 볼륨 생성
- 생성 예, 스트립 논리 볼륨 생성
- 정의, 제거된 논리 볼륨
- 초기화
- 캐시 볼륨, 캐시 볼륨
- 캐시 파일
- building, 볼륨 그룹용 디스크 스캔에서 캐시 파일 빌드
- 크기 조정
- 물리 볼륨, 물리 볼륨 크기 조정
- 클러스터 환경, Red Hat High Availability Cluster의 LVM 논리 볼륨
- 파일 시스템
- 논리 볼륨에서 증가, 논리 볼륨에서 파일 시스템 확장
- 파일 시스템 증가
- 논리 볼륨, 논리 볼륨에서 파일 시스템 확장
- 파티션
- multiple, 디스크의 여러 파티션
- 파티션 유형, 설정, 파티션 유형 설정
- 표시
- 필터, 필터를 사용하여 LVM 장치 스캔 제어
- 할당, LVM Allocation
- policy, 볼륨 그룹 만들기
- preventing, 물리 볼륨의 할당 방지
B
- Backup
- file, 논리 볼륨 백업
- metadata, 논리 볼륨 백업, 볼륨 그룹 메타데이터 백업
C
- CLVM
- Cryostatcfgbackup 명령, 볼륨 그룹 메타데이터 백업
- Cryostatcfgrestore 명령, 볼륨 그룹 메타데이터 백업
- Cryostatchange 명령, 볼륨 그룹의 매개변수 변경
- Cryostatcreate 명령, 볼륨 그룹 만들기, 클러스터에서 볼륨 그룹 만들기
- Cryostatdisplay 명령, 볼륨 그룹 표시
- Cryostatexport 명령, 다른 시스템으로 볼륨 그룹 이동
- Cryostatextend 명령, 볼륨 그룹에 물리 볼륨 추가
- Cryostatimport 명령, 다른 시스템으로 볼륨 그룹 이동
- Cryostatmerge 명령, 볼륨 그룹 결합
- Cryostatmknodes 명령, 볼륨 그룹 디렉터리 다시 생성
- Cryostatreduce 명령, 볼륨 그룹에서 물리 볼륨 제거
- Cryostatrename 명령, 볼륨 그룹 이름 변경
- Cryostatscan 명령, 볼륨 그룹용 디스크 스캔에서 캐시 파일 빌드
- Cryostatsplit 명령, 볼륨 그룹 분할
F
- Free Extents 메시지가 충분하지 않음, 논리 볼륨에 여유 범위가 충분하지 않음
L
- logging, 로깅
- lvchange 명령, 논리 볼륨 그룹의 매개 변수 변경
- lvconvert 명령, 미러링된 볼륨 구성 변경
- lvcreate 명령, 선형 논리 볼륨 생성
- lvdisplay 명령, 논리 볼륨 표시
- lvextend 명령, 논리 볼륨 증가
- LVM
- components, LVM 아키텍처 개요, LVM 구성 요소
- help, CLI 명령 사용
- label, 물리 볼륨
- logging, 로깅
- 논리 볼륨 관리, 논리 볼륨 관리
- 디렉터리 구조, 볼륨 그룹 만들기
- 물리 볼륨 관리, 물리 볼륨 관리
- 물리 볼륨, 정의, 물리 볼륨
- 볼륨 그룹, 정의, 볼륨 그룹
- 사용자 정의 보고서 형식, LVM에 대한 사용자 정의 보고
- 아키텍처 개요, LVM 아키텍처 개요
- 클러스터형, Red Hat High Availability Cluster의 LVM 논리 볼륨
- LVM 볼륨 생성
- 개요, 논리 볼륨 생성 개요
- lvmdiskscan 명령, 블록 장치 검색
- lvmetad 데몬, 메타데이터 데몬(lvmetad)
- lvreduce 명령, 논리 볼륨 축소
- lvremove 명령, 논리 볼륨 제거
- lvrename 명령, 논리 볼륨 이름 변경
- LVs 명령, LVM에 대한 사용자 정의 보고, lvs 명령
- 인수 표시, lvs 명령
- lvscan 명령, 논리 볼륨 표시
M
- metadata
- Backup, 논리 볼륨 백업, 볼륨 그룹 메타데이터 백업
- 복구, 물리 볼륨 메타데이터 복구
- mirror_image_fault_policy configuration parameter, 미러링된 논리 볼륨 실패 정책
- mirror_log_fault_policy configuration parameter, 미러링된 논리 볼륨 실패 정책
P
- pvdisplay 명령, 물리 볼륨 표시
- pvmove 명령, 온라인 데이터 재할당
- pvremove 명령, 물리 볼륨 제거
- pvresize 명령, 물리 볼륨 크기 조정
- PVs 명령, LVM에 대한 사용자 정의 보고
- 인수 표시, pvs 명령
- pvscan 명령, 물리 볼륨 표시
R
- RAID 논리 볼륨, RAID 논리 볼륨
- extending, RAID 볼륨 확장
- growing, RAID 볼륨 확장
- rules.d 디렉터리, 장치 매퍼와 udev 통합
T
- thin volume
U
- udev 규칙, 장치 매퍼와 udev 통합
- udev 장치 관리자, udev 장치 관리자에 대한 장치 매퍼 지원
V
- VGs 명령, LVM에 대한 사용자 정의 보고
- 인수 표시, vgs 명령
법적 공지 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Copyright © 2018 Red Hat, Inc.
이 문서는 Red Hat이 Creative Commons Attribution-ShareAlike 3.0 Unported License 에 따라 라이센스가 부여됩니다. 이 문서 또는 수정된 버전을 배포하는 경우 Red Hat, Inc.에 attribution을 제공하고 원본 버전에 대한 링크를 제공해야 합니다. 문서가 수정되면 모든 Red Hat 상표를 제거해야 합니다.
Red Hat은 이 문서의 라이센스 제공자로서 관련 법률이 허용하는 한도 내에서 CC-BY-SA의 섹션 4d를 시행할 권리를 포기하며 이를 주장하지 않을 것에 동의합니다.
Red Hat, Red Hat Enterprise Linux, Shadowman 로고, Red Hat 로고, JBoss, OpenShift, Fedora, Infinity 로고 및 RHCE는 미국 및 기타 국가에 등록된 Red Hat, Inc.의 상표입니다.
Linux® 는 미국 및 기타 국가에 있는 Linus Torvalds의 등록 상표입니다.
Java® 는 Oracle 및/또는 그 계열사의 등록 상표입니다.
XFS® 는 미국 및/또는 기타 국가에 있는 Silicon Graphics International Corp. 또는 그 자회사의 상표입니다.
MySQL® 는 미국, 유럽 연합 및 기타 국가에 있는 MySQL AB의 등록 상표입니다.
Node.js® 은 Joyent의 공식 상표입니다. Red Hat은 공식 Joyent Node.js 오픈 소스 또는 상용 프로젝트에 의해 공식적으로 관련이 있거나 보증되지 않습니다.
OpenStack® word Mark 및 OpenStack 로고는 미국 및 기타 국가에서 OpenStack Foundation의 등록 상표/서비스 마크 또는 상표/서비스 마크이며 OpenStack Foundation의 권한과 함께 사용됩니다. 당사는 OpenStack Foundation 또는 OpenStack 커뮤니티와 제휴 관계가 아니며 보증 또는 후원을 받지 않습니다.
기타 모든 상표는 각각 해당 소유자의 자산입니다.