11.2. 씬 프로비저닝된 논리 볼륨 생성
씬 프로비저닝된 논리 볼륨을 사용하여 사용 가능한 물리 스토리지보다 큰 논리 볼륨을 생성할 수 있습니다. 씬 프로비저닝된 볼륨 세트를 생성하면 시스템에서 요청된 전체 스토리지 용량을 할당하는 대신 사용자가 사용하는 항목을 할당할 수 있습니다.
lvcreate
명령의 -T
또는 --thin
옵션을 사용하면 씬 풀 또는 씬 볼륨을 생성할 수 있습니다. 단일 명령으로 씬 풀과 씬 볼륨을 동시에 생성하려면 lvcreate
명령의 -T
옵션을 사용할 수도 있습니다. 이 절차에서는 씬 프로비저닝된 논리 볼륨을 생성하고 확장하는 방법을 설명합니다.
사전 요구 사항
- 볼륨 그룹을 생성했습니다. 자세한 내용은 LVM 볼륨 그룹 생성을 참조하십시오.
절차
씬 풀을 생성합니다.
# 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
옵션은 인수를 사용하지 않습니다. 명령을 사용하여 추가한 다른 옵션에서 생성할 장치 유형을 결정합니다. 다음 예와 같이 추가 매개변수를 사용하여 씬 풀을 생성할 수도 있습니다.lvcreate
명령의--thinpool
매개변수를 사용하여 씬 풀을 생성할 수도 있습니다.-T
옵션과 달리--thinpool
매개 변수에는 생성 중인 씬 풀 논리 볼륨의 이름을 지정해야 합니다. 다음 예제에서는--thinpool
매개 변수를 사용하여 VG 001 의 크기가 100M 인 볼륨 그룹 mythinpool 에 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 의 청크 크기를 사용하여 볼륨 그룹 10.0.0.1에서 thinpool 로 이름이 지정된 100M 씬 풀을 생성합니다. 또한 vg001/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
옵션을 사용하고 size 및 가상 크기 인수를 모두 지정합니다.# 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
매개변수를 사용해야 합니다.다음 예제에서는 VG001 볼륨 그룹의 기존 논리 볼륨 lv1 을 씬 풀 볼륨으로 변환하고, VG 001 의 기존 논리 볼륨 lv2 를 해당 씬 풀 볼륨의 메타데이터 볼륨으로 변환합니다.
# lvconvert --thinpool vg001/lv1 --poolmetadata vg001/lv2 Converted vg001/lv1 to thin pool.
참고논리 볼륨을 씬 풀 볼륨 또는 씬 풀 메타데이터 볼륨으로 변환하는 경우
lvconvert
에서 장치의 내용을 보존하지 않고 콘텐츠를 덮어쓰므로 논리 볼륨의 콘텐츠가 삭제됩니다.기본적으로
lvcreate
명령은 다음 공식을 사용하여 thin pool 메타데이터 논리 볼륨의 크기를 설정합니다.Pool_LV_size / Pool_LV_chunk_size * 64
다수의 스냅샷이 있거나 씬 풀에 대해 작은 청크 크기가 있어 나중에 씬 풀 크기의 크기가 크게 증가하는 경우
lvcreate
명령의--poolmetadatasize
매개변수를 사용하여 thin pool의 metadata 볼륨의 기본값을 늘려야 할 수 있습니다. 씬 풀의 metadata 논리 볼륨에 지원되는 값은 2MiB에서 16GiB 사이의 범위에 있습니다.다음 예제에서는 씬 풀의 메타데이터 볼륨의 기본값을 늘리는 방법을 보여줍니다.
# 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.
생성된 thin pool 및 thin 볼륨을 확인합니다.
# 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
선택 사항: 씬 풀을 제거하려면 다음 명령을 사용합니다.
# lvremove -f vg001/mythinpool1 Logical volume "thinvolume1" successfully removed. Logical volume "mythinpool1" successfully removed.
추가 리소스
-
lvcreate(8)
,lvrename(8)
,lvs(8)
및lvconvert(8)
매뉴얼 페이지