Red Hat Training
A Red Hat training course is available for RHEL 8
10.2. 씬 프로비저닝된 논리 볼륨 생성
씬 프로비저닝된 논리 볼륨을 사용하면 사용 가능한 물리 스토리지보다 큰 논리 볼륨을 생성할 수 있습니다. 씬 프로비저닝된 볼륨 세트를 생성하면 시스템이 요청된 전체 스토리지 용량을 할당하는 대신 사용하는 항목을 할당할 수 있습니다.
lvcreate
명령의 -T
또는 --thin
옵션을 사용하면 씬 풀 또는 씬 볼륨을 만들 수 있습니다. lvcreate
명령의 -T
옵션을 사용하여 단일 명령으로 씬 풀과 씬 볼륨을 동시에 생성할 수도 있습니다. 이 절차에서는 씬 프로비저닝된 논리 볼륨을 생성하고 확장하는 방법을 설명합니다.
사전 요구 사항
- 볼륨 그룹을 생성했습니다. 자세한 내용은 LVM 볼륨 그룹 만들기를 참조하십시오.
절차
thin 풀을 생성합니다.
# lvcreate -L 100M -T vg001/mythinpool Thin pool volume with chunk size 64.00 KiB can address at most 15.81 TiB of data. Logical volume "mythinpool" created.
물리 공간 풀을 생성하므로 풀 크기를 지정해야 합니다.
lvcreate
명령의-T
옵션은 인수를 사용하지 않습니다. 명령으로 추가된 다른 옵션에서 생성할 장치 유형을 결정합니다. 다음 예와 같이 추가 매개변수를 사용하여 thin 풀을 만들 수도 있습니다.lvcreate
명령의--thinpool
매개변수를 사용하여 씬 풀을 생성할 수도 있습니다.-T
옵션과 달리--thinpool
매개변수를 사용하려면 생성 중인 씬 풀 논리 볼륨의 이름을 지정해야 합니다. 다음 예제에서는--thinpool
매개 변수를 사용하여 크기가 100M 인 volumes 그룹의 mythinpool 이라는 씬 풀을 생성합니다.# lvcreate -L 100M --thinpool mythinpool vg001 Thin pool volume with chunk size 64.00 KiB can address at most 15.81 TiB of data. Logical volume "mythinpool" created.
풀 생성에 대한 스트라이핑이 지원되면, 다음 명령은
-i
및-I
옵션을 사용하여 스트라이프를 생성할 수 있습니다. 다음 명령은 두 개의 64 kB 스트라이프와 청크 크기가 256 kB 로 설정된 volumes 그룹에 thinpool 로 이름이 지정된 100M 씬 풀을 생성합니다. 또한 rfc 001/thinvolume이라는 1T 씬 볼륨 도 생성합니다.참고볼륨 그룹에 충분한 여유 공간이 있는 물리 볼륨이 두 개 있는지 확인하거나 씬 풀을 만들 수 없습니다.
# lvcreate -i 2 -I 64 -c 256 -L 100M -T vg001/thinpool -V 1T --name thinvolume
thin 볼륨을 생성합니다.
# lvcreate -V 1G -T vg001/mythinpool -n thinvolume WARNING: Sum of all thin volume sizes (1.00 GiB) exceeds the size of thin pool vg001/mythinpool (100.00 MiB). WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume "thinvolume" created.
이 경우 포함된 풀보다 큰 볼륨의 가상 크기를 지정합니다. 다음 예와 같이 추가 매개변수를 사용하여 씬 볼륨을 생성할 수도 있습니다.
씬 볼륨과 씬 풀을 모두 생성하려면
lvcreate
명령의-T
옵션을 사용하고 크기 및 가상 크기 인수를 둘 다 지정합니다.# lvcreate -L 100M -T vg001/mythinpool -V 1G -n thinvolume Thin pool volume with chunk size 64.00 KiB can address at most 15.81 TiB of data. WARNING: Sum of all thin volume sizes (1.00 GiB) exceeds the size of thin pool vg001/mythinpool (100.00 MiB). WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume "thinvolume" created.
나머지 여유 공간을 사용하여 씬 볼륨과 씬 풀을 만들려면
100%FREE
옵션을 사용합니다.# lvcreate -V 1G -l 100%FREE -T vg001/mythinpool -n thinvolume Thin pool volume with chunk size 64.00 KiB can address at most <15.88 TiB of data. Logical volume "thinvolume" created.
기존 논리 볼륨을 씬 풀 볼륨으로 변환하려면
lvconvert
명령의--thinpool
매개 변수를 사용합니다. 기존 논리 볼륨을 씬 풀 볼륨의 메타데이터 볼륨으로 변환하려면--thinpool
매개변수와 함께--poolmetadata
매개변수를 사용해야 합니다.다음 예제에서는 볼륨 그룹의 기존 논리 볼륨 lv1 을 thin pool 볼륨으로 변환하고 기존 논리 볼륨 lv2 를 볼륨 그룹 overcome 001 의 메타데이터 볼륨으로 해당 thin pool 볼륨의 메타데이터 볼륨으로 변환합니다.
# lvconvert --thinpool vg001/lv1 --poolmetadata vg001/lv2 Converted vg001/lv1 to thin pool.
참고논리 볼륨을 씬 풀 볼륨 또는 씬 풀 메타데이터 볼륨으로 변환하면
lvconvert
가 장치의 콘텐츠를 유지하지 않고 콘텐츠를 덮어쓰므로 논리 볼륨의 콘텐츠가 제거됩니다.기본적으로
lvcreate
명령은 다음 공식에 따라 thin 풀의 메타데이터 논리 볼륨의 크기를 설정합니다.Pool_LV_size / Pool_LV_chunk_size * 64
스냅샷 수가 많거나 씬 풀에 대한 작은 청크 크기가 있는 경우 나중에
lvcreate
명령의--poolmetadatasize
매개변수를 사용하여 thin pool의 메타데이터 볼륨의 기본값을 늘려야 할 수 있습니다. 씬 풀의 메타데이터 논리 볼륨에 지원되는 값은 2MiB에서 16GiB 사이의 범위입니다.다음 예제에서는 thin 풀의 메타데이터 볼륨의 기본값을 늘리는 방법을 보여줍니다.
# lvcreate -V 1G -l 100%FREE -T vg001/mythinpool --poolmetadatasize 16M -n thinvolume Thin pool volume with chunk size 64.00 KiB can address at most 15.81 TiB of data. Logical volume "thinvolume" created.
생성된 씬 풀 및 씬 볼륨을 확인합니다.
# lvs -a -o +devices LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices [lvol0_pmspare] vg001 ewi------- 4.00m /dev/sda(0) mythinpool vg001 twi-aotz-- 100.00m 0.00 10.94 mythinpool_tdata(0) [mythinpool_tdata] vg001 Twi-ao---- 100.00m /dev/sda(1) [mythinpool_tmeta] vg001 ewi-ao---- 4.00m /dev/sda(26) thinvolume vg001 Vwi-a-tz-- 1.00g mythinpool 0.00
선택 사항:
lvextend
명령을 사용하여 씬 풀 크기를 확장합니다. 그러나 씬 풀의 크기를 줄일 수는 없습니다.참고씬 풀과 씬 볼륨을 생성하는 동안
-l 100%FREE
인수를 사용하면 이 명령이 실패합니다.다음 명령은 다른 100M 을 확장하여 크기가 100M 인 기존 씬 풀의 크기를 조정합니다.
# lvextend -L+100M vg001/mythinpool Size of logical volume vg001/mythinpool_tdata changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents). WARNING: Sum of all thin volume sizes (1.00 GiB) exceeds the size of thin pool vg001/mythinpool (200.00 MiB). WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full. Logical volume vg001/mythinpool successfully resized
# lvs -a -o +devices LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices [lvol0_pmspare] vg001 ewi------- 4.00m /dev/sda(0) mythinpool vg001 twi-aotz-- 200.00m 0.00 10.94 mythinpool_tdata(0) [mythinpool_tdata] vg001 Twi-ao---- 200.00m /dev/sda(1) [mythinpool_tdata] vg001 Twi-ao---- 200.00m /dev/sda(27) [mythinpool_tmeta] vg001 ewi-ao---- 4.00m /dev/sda(26) thinvolume vg001 Vwi-a-tz-- 1.00g mythinpool 0.00
선택 사항: thin 풀과 thin 볼륨의 이름을 바꾸려면 다음 명령을 사용합니다.
# lvrename vg001/mythinpool vg001/mythinpool1 Renamed "mythinpool" to "mythinpool1" in volume group "vg001" # lvrename vg001/thinvolume vg001/thinvolume1 Renamed "thinvolume" to "thinvolume1" in volume group "vg001"
이름을 변경한 후 thin 풀과 thin 볼륨을 확인합니다.
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert mythinpool1 vg001 twi-a-tz 100.00m 0.00 thinvolume1 vg001 Vwi-a-tz 1.00g mythinpool1 0.00
선택 사항: thin 풀을 제거하려면 다음 명령을 사용합니다.
# lvremove -f vg001/mythinpool1 Logical volume "thinvolume1" successfully removed. Logical volume "mythinpool1" successfully removed.
추가 리소스
-
lvcreate(8)
,lvrename(8)
,lvs(8)
및lvconvert(8)
도움말 페이지