웹사이트 검색

Ubuntu 16.04에서 LVM을 사용하여 저장 장치를 관리하는 방법


소개

LVM(Logical Volume Management)은 사용자에게 쉽고 유연한 관리를 위해 구성 요소 저장 장치의 물리적 레이아웃을 풀링하고 추상화할 수 있는 기능을 제공하는 저장 장치 관리 기술입니다. 장치 매퍼 Linux 커널 프레임워크를 활용하여 현재 반복인 LVM2를 사용하여 기존 저장 장치를 그룹으로 모으고 필요에 따라 결합된 공간에서 논리 장치를 할당할 수 있습니다.

이 가이드에서는 LVM으로 저장 장치를 관리하는 방법을 다룹니다. 볼륨 및 잠재적 대상에 대한 정보를 표시하는 방법, 다양한 유형의 볼륨을 생성 및 제거하는 방법, 크기 조정 또는 변환을 통해 기존 볼륨을 수정하는 방법을 보여줍니다. 이러한 작업을 시연하기 위해 Ubuntu 16.04 서버를 사용할 것입니다.

전제 조건

따라 하려면 Ubuntu 16.04 서버에 액세스할 수 있어야 합니다. 관리 작업을 위해 구성된 sudo 권한이 있는 루트가 아닌 사용자가 있어야 합니다. Ubuntu 16.04 초기 서버 설정 가이드에 따라 필요한 계정을 만들 수 있습니다.

LVM 구성 요소 및 개념에 익숙해지고 기본 LVM 구성을 테스트하려면 이 자습서를 시작하기 전에 LVM 가이드 소개를 따르십시오.

준비가 되면 sudo 사용자로 서버에 로그인하십시오.

물리 볼륨, 볼륨 그룹 및 논리 볼륨에 대한 정보 표시

시스템의 다양한 LVM 구성 요소에 대한 정보를 쉽게 얻을 수 있어야 합니다. 다행스럽게도 LVM 도구 세트는 LVM 스택의 모든 계층에 대한 정보를 표시하기 위한 풍부한 도구를 제공합니다.

모든 LVM 호환 블록 저장 장치에 대한 정보 표시

LVM이 잠재적으로 관리할 수 있는 사용 가능한 모든 블록 저장 장치를 표시하려면 lvmdiskscan 명령을 사용하십시오.

  1. sudo lvmdiskscan
Output
/dev/ram0 [ 64.00 MiB] /dev/sda [ 200.00 GiB] /dev/ram1 [ 64.00 MiB] . . . /dev/ram15 [ 64.00 MiB] /dev/sdb [ 100.00 GiB] 2 disks 17 partitions 0 LVM physical volume whole disks 0 LVM physical volumes

/dev/ram* 장치(Linux 램 디스크 구현의 일부)를 무시하면 잠재적으로 LVM의 물리적 볼륨으로 사용될 수 있는 장치를 볼 수 있습니다.

이것은 LVM과 함께 사용할 새 저장 장치를 추가할 때 첫 번째 단계가 될 것입니다.

물리 볼륨에 대한 정보 표시

헤더는 저장 장치에 기록되어 LVM 구성 요소로 자유롭게 사용할 수 있음을 표시합니다. 이러한 헤더가 있는 장치를 물리적 볼륨이라고 합니다.

물리적 볼륨만 반환하는 lvmdiskscan-l 옵션과 함께 사용하여 시스템의 모든 물리적 장치를 표시할 수 있습니다.

  1. sudo lvmdiskscan -l
Output
WARNING: only considering LVM devices /dev/sda [ 200.00 GiB] LVM physical volume /dev/sdb [ 100.00 GiB] LVM physical volume 2 LVM physical volume whole disks 0 LVM physical volumes

pvscan 명령은 LVM 물리 볼륨에 대해 사용 가능한 모든 장치를 검색한다는 점에서 위와 매우 유사합니다. 출력 형식은 약간 다르며 소량의 추가 정보를 포함합니다.

  1. sudo pvscan
Output
PV /dev/sda VG LVMVolGroup lvm2 [200.00 GiB / 0 free] PV /dev/sdb VG LVMVolGroup lvm2 [100.00 GiB / 10.00 GiB free] Total: 2 [299.99 GiB] / in use: 2 [299.99 GiB] / in no VG: 0 [0 ]

더 자세한 정보가 필요한 경우 pvspvdisplay 명령이 더 나은 옵션입니다.

pvs 명령은 구성 가능성이 높으며 다양한 형식으로 정보를 표시할 수 있습니다. 출력을 엄격하게 제어할 수 있기 때문에 스크립팅이나 자동화가 필요한 경우에 자주 사용됩니다. 기본 출력은 이전 명령과 유사한 요약을 한 눈에 볼 수 있는 유용한 정보를 제공합니다.

  1. sudo pvs
Output
PV VG Fmt Attr PSize PFree /dev/sda LVMVolGroup lvm2 a-- 200.00g 0 /dev/sdb LVMVolGroup lvm2 a-- 100.00g 10.00g

보다 장황하고 사람이 읽을 수 있는 출력의 경우 일반적으로 pvdisplay 명령이 더 나은 옵션입니다.

  1. sudo pvdisplay
Output
--- Physical volume --- PV Name /dev/sda VG Name LVMVolGroup PV Size 200.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 51199 Free PE 0 Allocated PE 51199 PV UUID kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ --- Physical volume --- PV Name /dev/sdb VG Name LVMVolGroup PV Size 100.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 25599 Free PE 2560 Allocated PE 23039 PV UUID udcuRJ-jCDC-26nD-ro9u-QQNd-D6VL-GEIlD7

보시다시피 pvdisplay 명령은 물리적 볼륨에 대한 자세한 정보를 얻기 위한 가장 쉬운 명령인 경우가 많습니다.

각 볼륨에 매핑된 논리 익스텐트를 검색하려면 -m 옵션을 pvdisplay에 전달합니다.

  1. sudo pvdisplay -m
Output
--- Physical volume --- PV Name /dev/sda VG Name LVMVolGroup PV Size 200.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 51199 Free PE 38395 Allocated PE 12804 PV UUID kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ --- Physical Segments --- Physical extent 0 to 0: Logical volume /dev/LVMVolGroup/db_rmeta_0 Logical extents 0 to 0 Physical extent 1 to 5120: Logical volume /dev/LVMVolGroup/db_rimage_0 Logical extents 0 to 5119 . . .

이는 관리 목적으로 어떤 데이터가 어떤 물리적 디스크에 보관되어 있는지 확인하려고 할 때 매우 유용할 수 있습니다.

볼륨 그룹에 대한 정보 표시

LVM에는 볼륨 그룹에 대한 정보를 표시하는 많은 도구도 있습니다.

vgscan 명령을 사용하여 시스템에서 사용 가능한 볼륨 그룹을 검색할 수 있습니다. 또한 필요할 때 캐시 파일을 다시 작성합니다. 볼륨 그룹을 새 시스템으로 가져올 때 사용하면 좋은 명령입니다.

  1. sudo vgscan
Output
Reading all physical volumes. This may take a while... Found volume group "LVMVolGroup" using metadata type lvm2

이 명령은 많은 정보를 출력하지 않지만 시스템에서 사용 가능한 모든 볼륨 그룹을 찾을 수 있어야 합니다. 자세한 정보를 표시하려면 vgsvgdisplay 명령을 사용할 수 있습니다.

물리 볼륨과 마찬가지로 vgs 명령은 다목적이며 다양한 형식으로 많은 양의 정보를 표시할 수 있습니다. 출력을 쉽게 조작할 수 있기 때문에 스크립팅이나 자동화가 필요한 경우에 자주 사용됩니다. 예를 들어, 몇 가지 유용한 출력 수정은 물리적 장치와 논리 볼륨 경로를 표시하는 것입니다.

  1. sudo vgs -o +devices,lv_path
Output
VG #PV #LV #SN Attr VSize VFree Devices Path LVMVolGroup 2 4 0 wz--n- 299.99g 10.00g /dev/sda(0) /dev/LVMVolGroup/projects LVMVolGroup 2 4 0 wz--n- 299.99g 10.00g /dev/sda(2560) /dev/LVMVolGroup/www LVMVolGroup 2 4 0 wz--n- 299.99g 10.00g /dev/sda(3840) /dev/LVMVolGroup/db LVMVolGroup 2 4 0 wz--n- 299.99g 10.00g /dev/sda(8960) /dev/LVMVolGroup/workspace LVMVolGroup 2 4 0 wz--n- 299.99g 10.00g /dev/sdb(0) /dev/LVMVolGroup/workspace

보다 장황하고 사람이 읽을 수 있는 출력의 경우 일반적으로 vgdisplay 명령이 최선의 선택입니다. -v 플래그를 추가하면 볼륨 그룹이 구축된 물리 볼륨과 볼륨 그룹을 사용하여 생성된 논리 볼륨에 대한 정보도 제공됩니다.

  1. sudo vgdisplay -v
Output
Using volume group(s) on command line. --- Volume group --- VG Name LVMVolGroup . . . --- Logical volume --- LV Path /dev/LVMVolGroup/projects . . . --- Logical volume --- LV Path /dev/LVMVolGroup/www . . . --- Logical volume --- LV Path /dev/LVMVolGroup/db . . . --- Logical volume --- LV Path /dev/LVMVolGroup/workspace . . . --- Physical volumes --- PV Name /dev/sda . . . PV Name /dev/sdb . . .

vgdisplay 명령은 LVM 스택의 다양한 요소에 대한 정보를 함께 묶을 수 있기 때문에 유용합니다.

논리 볼륨에 대한 정보 표시

논리 볼륨에 대한 정보를 표시하기 위해 LVM에는 관련 도구 세트가 있습니다.

다른 LVM 구성 요소와 마찬가지로 lvscan 옵션은 시스템을 검색하고 찾은 논리 볼륨에 대한 최소한의 정보를 출력합니다.

  1. sudo lvscan
Output
ACTIVE '/dev/LVMVolGroup/projects' [10.00 GiB] inherit ACTIVE '/dev/LVMVolGroup/www' [5.00 GiB] inherit ACTIVE '/dev/LVMVolGroup/db' [20.00 GiB] inherit ACTIVE '/dev/LVMVolGroup/workspace' [254.99 GiB] inherit

더 자세한 정보를 보려면 스크립트에서 유연하고 강력하며 사용하기 쉬운 lvs 명령을 참조하십시오.

  1. sudo lvs
Output
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert db LVMVolGroup -wi-ao---- 20.00g projects LVMVolGroup -wi-ao---- 10.00g workspace LVMVolGroup -wi-ao---- 254.99g www LVMVolGroup -wi-ao---- 5.00g

스트라이프 수와 논리적 볼륨 유형에 대해 알아보려면 --segments 옵션을 사용하십시오.

  1. sudo lvs --segments
Output
LV VG Attr #Str Type SSize db LVMVolGroup rwi-a-r--- 2 raid1 20.00g mirrored_vol LVMVolGroup rwi-a-r--- 3 raid1 10.00g test LVMVolGroup rwi-a-r--- 3 raid5 10.00g test2 LVMVolGroup -wi-a----- 2 striped 10.00g test3 LVMVolGroup rwi-a-r--- 2 raid1 10.00g

가장 사람이 읽을 수 있는 출력은 lvdisplay 명령으로 생성됩니다.

-m 플래그가 추가되면 도구는 논리적 볼륨이 어떻게 분류되고 배포되는지에 대한 정보도 표시합니다.

  1. sudo lvdisplay -m
Output
--- Logical volume --- LV Path /dev/LVMVolGroup/projects LV Name projects VG Name LVMVolGroup LV UUID IN4GZm-ePJU-zAAn-DRO3-1f2w-qSN8-ahisNK LV Write Access read/write LV Creation host, time lvmtest, 2016-09-09 21:00:03 +0000 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0 --- Segments --- Logical extents 0 to 2559: Type linear Physical volume /dev/sda Physical extents 0 to 2559 . . .

출력에서 아래쪽으로 볼 수 있듯이 /dev/LVMVolGroup/projects 논리 볼륨은 이 예에서 /dev/sda 물리 볼륨 내에 완전히 포함되어 있습니다. 이 정보는 기본 장치를 제거해야 하고 데이터를 특정 위치로 이동하려는 경우에 유용합니다.

LVM 구성 요소 생성 또는 확장

이 섹션에서는 물리 볼륨, 볼륨 그룹 및 논리 볼륨을 만들고 확장하는 방법에 대해 설명합니다.

원시 저장 장치에서 물리적 볼륨 생성

LVM에서 저장 장치를 사용하려면 먼저 물리적 볼륨으로 표시해야 합니다. 이는 LVM이 볼륨 그룹 내에서 장치를 사용할 수 있음을 지정합니다.

먼저 lvmdiskscan 명령을 사용하여 LVM이 보고 사용할 수 있는 모든 블록 장치를 찾습니다.

  1. sudo lvmdiskscan
Output
/dev/ram0 [ 64.00 MiB] /dev/sda [ 200.00 GiB] /dev/ram1 [ 64.00 MiB] . . . /dev/ram15 [ 64.00 MiB] /dev/sdb [ 100.00 GiB] 2 disks 17 partitions 0 LVM physical volume whole disks 0 LVM physical volumes

여기에서 /dev/ram* 장치를 무시하고 LVM용 물리 볼륨으로 전환하기에 적합한 장치를 볼 수 있습니다.

경고: LVM과 함께 사용하려는 장치에 중요한 데이터가 이미 기록되어 있지 않은지 다시 확인하십시오. LVM 내에서 이러한 장치를 사용하면 현재 내용을 덮어씁니다. 서버에 이미 중요한 데이터가 있는 경우 계속하기 전에 백업을 만드십시오.

저장 장치를 LVM 물리 볼륨으로 표시하려면 pvcreate를 사용하십시오. 한 번에 여러 장치를 전달할 수 있습니다.

  1. sudo pvcreate /dev/sda /dev/sdb

이렇게 하면 모든 대상 장치에 LVM 헤더를 작성하여 LVM 물리 볼륨으로 표시해야 합니다.

물리 볼륨에서 새 볼륨 그룹 생성

LVM 물리 볼륨에서 새 볼륨 그룹을 생성하려면 vgcreate 명령을 사용합니다. 볼륨 그룹 이름과 최소 하나의 LVM 물리 볼륨을 제공해야 합니다.

  1. sudo vgcreate volume_group_name /dev/sda

이 예에서는 단일 초기 물리 볼륨으로 볼륨 그룹을 생성합니다. 원하는 경우 생성 시 둘 이상의 물리 볼륨을 전달할 수 있습니다.

  1. sudo vgcreate volume_group_name /dev/sda /dev/sdb /dev/sdc

일반적으로 서버당 하나의 볼륨 그룹만 필요합니다. 모든 LVM 관리 스토리지를 해당 풀에 추가할 수 있으며 여기에서 논리 볼륨을 할당할 수 있습니다.

둘 이상의 볼륨 그룹을 갖고 싶은 한 가지 이유는 다른 볼륨에 대해 다른 익스텐트 크기를 사용해야 한다고 생각하는 경우입니다. 일반적으로 익스텐트 크기를 설정할 필요는 없지만(대부분의 경우 기본 크기인 4M이 적합함) 필요한 경우 볼륨 그룹 생성 시 -s 옵션을 전달하여 설정할 수 있습니다. :

  1. suod vgcreate -s 8M volume_group_name /dev/sda

이렇게 하면 익스텐트 크기가 8M인 새 볼륨 그룹이 생성됩니다.

기존 볼륨 그룹에 물리 볼륨 추가

물리적 볼륨을 추가하여 볼륨 그룹을 확장하려면 vgextend 명령을 사용하십시오. 이 명령은 추가할 물리적 볼륨이 뒤에 오는 볼륨 그룹을 사용합니다. 원하는 경우 한 번에 여러 장치를 전달할 수 있습니다.

  1. sudo vgextend volume_group_name /dev/sdb

물리적 볼륨이 볼륨 그룹에 추가되어 스토리지 풀의 사용 가능한 용량이 확장됩니다.

크기를 지정하여 논리 볼륨 생성

볼륨 그룹 스토리지 풀에서 논리 볼륨으로 이동하려면 lvcreate 명령을 사용하십시오. -L 옵션으로 논리 볼륨의 크기를 지정하고 -n 옵션으로 이름을 지정하고 공간을 할당할 볼륨 그룹을 전달합니다.

예를 들어 LVMVolGroup 볼륨 그룹에서 test라는 10G 논리 볼륨을 생성하려면 다음을 입력합니다.

  1. sudo lvcreate -L 10G -n test LVMVolGroup

볼륨 그룹에 볼륨 용량을 수용할 수 있는 충분한 여유 공간이 있는 경우 새 논리 볼륨이 생성됩니다.

남아 있는 모든 여유 공간에서 논리 볼륨 만들기

볼륨 그룹 내의 남은 여유 공간을 사용하여 볼륨을 생성하려면 -n 옵션과 함께 vgcreate 명령을 사용하여 이전과 같이 볼륨 그룹에 이름을 지정하고 전달합니다. . 크기를 전달하는 대신 -l 100%FREE 옵션을 사용하십시오. 이 옵션은 볼륨 그룹 내의 나머지 익스텐트를 사용하여 논리 볼륨을 형성합니다.

  1. sudo lvcreate -l 100%FREE -n test2 LVMVolGroup

이렇게 하면 논리 볼륨의 나머지 공간을 모두 사용해야 합니다.

고급 옵션으로 논리 볼륨 생성

몇 가지 고급 옵션을 사용하여 논리 볼륨을 생성할 수도 있습니다. 고려할 수 있는 몇 가지 옵션은 다음과 같습니다.

  • –유형: 논리 볼륨이 할당되는 방식을 결정하는 논리 볼륨의 유형을 지정합니다. 선택한 지형을 올바르게 생성하기에 기본 물리적 볼륨이 충분하지 않은 경우 사용 가능한 유형 중 일부를 사용할 수 없습니다. 가장 일반적인 유형은 다음과 같습니다.\n
    • 선형: 기본 유형입니다. 사용된 기본 물리적 장치(둘 이상인 경우)는 간단히 서로 추가됩니다.
    • 스트라이핑: RAID 0과 유사하게 스트라이프 토폴로지는 데이터를 청크로 나누고 기본 물리적 볼륨 전체에 라운드 로빈 방식으로 분산합니다. 이로 인해 성능이 향상될 수 있지만 더 큰 데이터 취약성이 발생할 수 있습니다. 이를 위해서는 아래에 설명된 -i 옵션과 최소 2개의 물리적 볼륨이 필요합니다.
    • raid1: 미러링된 RAID 1 볼륨을 생성합니다. 기본적으로 미러에는 두 개의 복사본이 있지만 아래에 설명된 -m 옵션으로 더 많은 복사본을 지정할 수 있습니다. 최소 2개의 물리적 볼륨이 필요합니다.
    • raid5: RAID 5 볼륨을 생성합니다. 최소 3개의 물리적 볼륨이 필요합니다.
    • raid6: RAID 6 볼륨을 생성합니다. 최소 4개의 물리적 볼륨이 필요합니다.

    일반적으로 사용되는 방법을 보여주기 위해 이러한 옵션의 몇 가지 예를 제공합니다.

    스트라이프 볼륨을 생성하려면 최소한 두 개의 스트라이프를 지정해야 합니다. 이 토폴로지 및 스트라이프 수에는 사용 가능한 용량이 있는 최소 두 개의 물리적 볼륨이 필요합니다.

    1. sudo lvcreate --type striped -i 2 -L 10G -n striped_vol LVMVolGroup

    미러 볼륨을 생성하려면 raid1 유형을 사용하십시오. 세 개 이상의 데이터 세트를 원하면 -m 옵션을 사용하십시오. 이 예제는 -m 2를 사용하여 총 3개의 데이터 세트를 생성합니다(LVM은 이를 2개의 미러가 있는 하나의 원본 데이터 세트로 계산함). 이것이 성공하려면 최소 3개의 물리적 볼륨이 필요합니다.

    1. sudo lvcreate --type raid1 -m 2 -L 20G -n mirrored_vol LVMVolGroup

    볼륨의 스냅샷을 생성하려면 볼륨 그룹 대신 스냅샷에 원래 논리 볼륨을 제공해야 합니다. 스냅샷은 처음에는 많은 공간을 차지하지 않지만 추적 중인 논리 볼륨이 변경됨에 따라 크기가 커집니다. 이 절차 중에 사용되는 크기는 스냅샷이 될 수 있는 최대 크기입니다(이 크기를 초과하는 스냅샷은 손상되어 사용할 수 없습니다. 그러나 용량에 근접한 스냅샷은 확장할 수 있습니다).

    1. sudo lvcreate -s -L 10G -n snap_test LVMVolGroup/test

    참고: 논리 볼륨을 스냅샷의 특정 시점으로 되돌리려면 lvconvert --merge 명령을 사용하십시오.

    1. sudo lvconvert --merge LVMVolGroup/snap_test

    이렇게 하면 스냅샷의 원본이 스냅샷이 생성된 상태로 돌아갑니다.

    보시다시피 논리 볼륨이 작동하는 방식을 극적으로 변경할 수 있는 여러 가지 옵션이 있습니다.

    논리 볼륨 크기 늘리기

    LVM의 주요 이점 중 하나는 논리 볼륨을 프로비저닝할 때 제공하는 유연성입니다. 시스템을 중지하지 않고 즉시 볼륨의 수 또는 크기를 쉽게 조정할 수 있습니다.

    기존 논리 볼륨의 크기를 늘리려면 lvresize 명령을 사용하십시오. -L 플래그를 사용하여 새 크기를 지정하십시오. "+” 크기를 추가하여 상대 크기를 사용할 수도 있습니다. 이 경우 LVM은 지정된 양만큼 논리 볼륨의 크기를 늘립니다. 논리 볼륨에서 사용 중인 파일 시스템의 크기도 자동으로 조정하려면 다음을 전달하십시오. --resizefs 플래그.

    확장할 논리 볼륨의 이름을 올바르게 제공하려면 볼륨 그룹, 슬래시, 논리 볼륨 순으로 이름을 지정해야 합니다.

    1. sudo lvresize -L +5G --resizefs LVMVolGroup/test

    이 예에서 LVMVolGroup 볼륨 그룹에 있는 test 논리 볼륨의 논리 볼륨과 파일 시스템은 모두 5G로 증가합니다.

    파일 시스템 확장을 수동으로 처리하려면 --resizefs 옵션을 제거하고 나중에 파일 시스템의 기본 확장 유틸리티를 사용할 수 있습니다. 예를 들어 Ext4 파일 시스템의 경우 다음과 같이 입력할 수 있습니다.

    1. sudo lvresize -L +5G LVMVolGroup/test
    2. sudo resize2fs /dev/LVMVolGroup/test

    이렇게 하면 동일한 결과가 나타납니다.

    LVM 구성 요소 제거 또는 축소

    용량 감소는 데이터 손실로 이어질 수 있으므로 구성 요소의 크기를 줄이거나 제거하여 사용 가능한 용량을 줄이는 절차는 일반적으로 조금 더 복잡합니다.

    논리 볼륨의 크기 줄이기

    논리 볼륨을 축소하려면 먼저 데이터를 백업해야 합니다. 이렇게 하면 사용 가능한 용량이 줄어들기 때문에 실수로 인해 데이터가 손실될 수 있습니다.

    준비가 되면 현재 사용 중인 공간을 확인합니다.

    1. df -h
    Output
    Filesystem Size Used Avail Use% Mounted on . . . /dev/mapper/LVMVolGroup-test 4.8G 521M 4.1G 12% /mnt/test

    이 예에서는 521M이 조금 넘는 공간이 현재 사용 중인 것으로 보입니다. 이를 사용하면 볼륨을 줄일 수 있는 크기를 추정하는 데 도움이 됩니다.

    다음으로 파일 시스템을 마운트 해제합니다. 확장과 달리 마운트 해제 시 파일 시스템 축소를 수행해야 합니다.

    1. cd ~
    2. sudo umount /dev/LVMVolGroup/test

    마운트 해제 후 파일 시스템을 점검하여 모든 것이 제대로 작동하는지 확인하십시오. -t 옵션과 함께 파일 시스템 유형을 전달합니다. -f를 사용하여 파일 시스템이 정상으로 보이는 경우에도 확인합니다.

    1. sudo fsck -t ext4 -f /dev/LVMVolGroup/test

    파일 시스템을 확인한 후 파일 시스템의 기본 도구를 사용하여 파일 시스템 크기를 줄일 수 있습니다. Ext4 파일 시스템의 경우 resize2fs 명령입니다. 파일 시스템의 최종 크기를 전달합니다.

    경고: 여기서 가장 안전한 옵션은 현재 사용량보다 상당히 큰 최종 크기를 선택하는 것입니다. 데이터 손실을 방지하고 적절한 백업이 있는지 확인하기 위해 약간의 버퍼 공간을 확보하십시오.

    1. sudo resize2fs -p /dev/LVMVolGroup/test 3G

    작업이 완료되면 -L 플래그와 함께 lvresize 명령에 동일한 크기를 전달하여 논리 볼륨의 크기를 조정합니다.

    1. sudo lvresize -L 3G LVMVolGroup/test

    데이터 손실 가능성에 대한 경고가 표시됩니다. 준비가 되었으면 y를 입력하여 계속 진행합니다.

    논리 볼륨이 축소된 후 파일 시스템을 다시 확인하십시오.

    1. sudo fsck -t ext4 -f /dev/LVMVolGroup/test

    모든 것이 올바르게 작동하면 일반적인 마운트 명령을 사용하여 파일 시스템을 다시 마운트할 수 있습니다.

    1. sudo mount /dev/LVMVolGroup/test /mnt/test

    이제 논리 볼륨이 적절한 크기로 축소되어야 합니다.

    논리 볼륨 제거

    논리 볼륨이 더 이상 필요하지 않으면 lvremove 명령으로 제거할 수 있습니다.

    먼저 논리 볼륨이 현재 마운트되어 있는 경우 마운트 해제합니다.

    1. cd ~
    2. sudo umount /dev/LVMVolGroup/test

    그런 다음 다음을 입력하여 논리 볼륨을 제거합니다.

    1. sudo lvremove LVMVolGroup/test

    절차를 확인하라는 메시지가 표시됩니다. 논리 볼륨을 삭제하려면 y를 입력하십시오.

    볼륨 그룹 제거

    그 안에 있는 모든 논리 볼륨을 포함하여 전체 볼륨 그룹을 제거하려면 vgremove 명령을 사용하십시오.

    볼륨 그룹을 제거하기 전에 일반적으로 위의 절차를 사용하여 논리 볼륨을 제거해야 합니다. 최소한 볼륨 그룹에 포함된 논리 볼륨을 마운트 해제했는지 확인해야 합니다.

    1. sudo umount /dev/LVMVolGroup/www
    2. sudo umount /dev/LVMVolGroup/projects
    3. sudo umount /dev/LVMVolGroup/db

    그런 다음 vgremove 명령에 볼륨 그룹 이름을 전달하여 전체 볼륨 그룹을 삭제할 수 있습니다.

    1. sudo vgremove LVMVolGroup

    볼륨 그룹을 제거할 것인지 확인하는 메시지가 표시됩니다. 아직 논리 볼륨이 있는 경우 제거하기 전에 개별 확인 프롬프트가 표시됩니다.

    물리 볼륨 제거

    LVM 관리에서 물리 볼륨을 제거하려는 경우 필요한 절차는 장치가 현재 LVM에서 사용되고 있는지 여부에 따라 다릅니다.

    물리 볼륨이 사용 중인 경우 장치에 있는 물리 확장 영역을 다른 위치로 이동해야 합니다. 이를 위해서는 물리 익스텐트를 처리할 수 있는 충분한 다른 물리 볼륨이 볼륨 그룹에 있어야 합니다. 보다 복잡한 논리 볼륨 유형을 사용하는 경우 토폴로지를 수용하기 위해 충분한 여유 공간이 있는 경우에도 추가 물리 볼륨이 필요할 수 있습니다.

    볼륨 그룹에 물리 확장 영역을 처리하기에 충분한 물리 볼륨이 있으면 다음을 입력하여 제거하려는 물리 볼륨 밖으로 이동합니다.

    1. sudo pvmove /dev/sda

    이 프로세스는 볼륨 크기와 전송할 데이터 양에 따라 다소 시간이 걸릴 수 있습니다.

    익스텐트가 피어 볼륨으로 재배치되면 다음을 입력하여 볼륨 그룹에서 물리적 볼륨을 제거할 수 있습니다.

    1. sudo vgreduce LVMVolGroup /dev/sda

    이렇게 하면 볼륨 그룹에서 비워진 물리 볼륨이 제거됩니다. 이 작업이 완료되면 다음을 입력하여 저장 장치에서 물리적 볼륨 마커를 제거할 수 있습니다.

    1. sudo pvremove /dev/sda

    이제 제거된 저장 장치를 다른 용도로 사용하거나 시스템에서 완전히 제거할 수 있습니다.

    결론

    이제 LVM을 사용하여 Ubuntu 16.04에서 저장 장치를 관리하는 방법을 이해하고 있어야 합니다. 기존 LVM 구성 요소의 상태에 대한 정보를 얻는 방법, LVM을 사용하여 스토리지 시스템을 구성하는 방법 및 필요에 맞게 볼륨을 수정하는 방법을 알고 있어야 합니다. 안전한 환경에서 이러한 개념을 자유롭게 테스트하여 서로 어떻게 조화를 이루는지 더 잘 파악하십시오.