LVM 파티션으로 EBS 볼륨을 확장하려면 어떻게 해야 하나요?

5분 분량
0

LVM 파티션이 있는 Amazon Elastic Block Store(Amazon EBS) 볼륨을 확장하려고 합니다.

간략한 설명

논리 볼륨을 확장하기 위한 두 가지 옵션이 있습니다.

  1. 기존 EBS 볼륨의 크기를 늘립니다.
  2. 볼륨 그룹에 EBS 볼륨을 추가하고 VG-LV를 확장합니다.

해결 방법

옵션 1: 기존 EBS 볼륨 크기 늘리기

참고: 기존 볼륨의 크기 변경은 일반적으로 볼륨이 최적화 상태로 바뀐 후 몇 초 내에 적용됩니다. 최적화 상태에서는 볼륨 성능이 영향을 받지만 소스 구성 사양보다 낮지는 않습니다. 볼륨 유형에 따라 변경되는 데 몇 분에서 몇 시간까지 걸릴 수 있습니다. 자세한 내용은 볼륨 수정 진행 상태 모니터링을 참조하세요.

1.    기존 EBS 볼륨의 크기를 수정하세요.

2.    다음 명령을 실행하여 growpart 유틸리티를 설치하세요.

$ sudo yum install cloud-utils-growpart

참고: 다음 명령을 실행하여 Debian 또는 Ubuntu 기반 시스템에 growpart 유틸리티를 설치하세요.

$ sudo apt install -y cloud-guest-utils

3.    growpart 명령을 실행하여 파티션을 확장하세요.

$ sudo growpart /dev/xvdh 1
 CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006

4.    pvresize 명령을 실행하여 PV 크기를 조정하세요. 다음 예에서는 /dev/xvdh1 파티션이 확장되었습니다.

$ sudo pvresize /dev/xvdh1
Physical volume "/dev/xvdh1" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized

pvs 또는 pvdisplay를 사용하여 물리 볼륨 세부 정보를 볼 수 있습니다.

$ sudo pvs
PV         VG            Fmt  Attr PSize   PFree
 /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g

vgs 또는 vgdisplay를 사용하여 볼륨 그룹 세부 정보를 볼 수 있습니다.

$ sudo vgs
 VG            #PV #LV #SN Attr   VSize   VFree
examplegroup1   1   1   0 wz--n- <20.00g <13.00g

5.    lvextend 명령을 실행하여 논리 볼륨을 확장하세요.

$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1

참고: 위 예에서 19G는 새롭게 늘어난 LV 크기입니다. 19G는 LV를 늘려야 하는 크기가 아닙니다.

lvs 또는 lvdisplay 명령을 사용하여 논리 볼륨 세부 정보를 볼 수 있습니다.

$ sudo lvs  LV        VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
lvexample1 examplegroup1 -wi-a----- 19.00g

6.    다음 명령을 실행하여 파일 시스템을 확장하세요.

Ext2, Ext3 및 Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

옵션 2: 볼륨 그룹에 추가 EBS 볼륨을 추가하고 VG-LV를 확장하세요.

1.    10GB의 다른 EBS 볼륨을 생성한 다음 인스턴스에 해당 볼륨을 연결하세요. EBS 볼륨의 파티션에 물리 볼륨 생성의 3단계에 따라 /dev/xvdi 디바이스에 파티션을 생성하세요. 그런 다음, pvcreate 명령을 실행하세요. 다음 예에서 볼륨의 블록 디바이스 이름은 /dev/xvdi1입니다.

$ sudo pvcreate /dev/xvdi1
Physical volume "/dev/xvdi1" successfully created

2.    vgextend 명령을 사용하여 볼륨 그룹을 확장하고 새 볼륨을 추가하세요. 다음 예에서는 /dev/xvdi1 볼륨을 포함하도록 examplegroup1 볼륨 그룹을 확장합니다.

$ sudo vgextend examplegroup1 /dev/xvdi1
Volume group "examplegroup2" successfully extended

확장자를 확인하려면 vgs 또는 vgdisplay 명령을 실행하세요. 다음 예에서는 이제 examplegroup1 볼륨 그룹에 두 개의 PV가 있음을 보여 줍니다.

$ sudo vgs
  VG                       #PV #LV #SN Attr   VSize   VFree
examplegroup1            2   1   0 wz--n-  29.99g   20.99g

3.    lvextend 명령을 실행하여 논리 볼륨을 확장하세요.

$ sudo lvextend -L 29G /dev/examplegroup1/lvexample1

참고: 이전 예에서 29G는 새로 늘어난 LV 크기입니다. 29G는 LV를 늘려야 하는 크기가 아닙니다.

4.    파일 시스템 크기 조정:

Ext2, Ext3 및 Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

스트라이프 볼륨 확장

스트라이핑은 데이터를 여러 디스크에 분산하는 기술입니다. 논리 볼륨을 확장할 때 다음과 비슷한 메시지가 표시될 수 있습니다.

$ pvcreate /dev/xvdd
Physical volume "/dev/xvdd" successfully created.

$ vgextend vg01 /dev/xvdd
Volume group "vg01" successfully extended

$ vgs
VG   #PV #LV #SN Attr   VSize   VFree
vg01   3   1   0 wz--n- <23.99g <13.99g

$ lvextend /dev/vg01/lv01 -L +10G
Using stripesize of last segment 128.00 KiB
Insufficient suitable allocatable extents for logical volume lv01: 1026 more required

데이터를 스트라이핑하기에 충분한 수의 디바이스를 추가하지 않고 ‘스트라이핑된’ 논리 볼륨을 확장할 때 이전 오류 또는 유사한 오류가 발생합니다.

스트라이프 볼륨을 확장할 때 이러한 오류를 방지하려면 다음 단계를 완료하세요.

1.    다음 명령을 실행하여 LV가 데이터를 스트라이핑하는 디바이스 수를 식별하세요.

$ lvs -o+lv_layout,stripes
LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Layout     #Str
lv01 vg01 -wi-a----- 10.00g                                                     striped       2

2.    #Str 또는 스트라이프 열은 데이터가 스트라이핑되는 디바이스의 수를 나타냅니다. 위 예에서는 데이터가 2개의 디바이스에 걸쳐 스트라이핑됩니다. 따라서 LV를 확장하려면 vg에 최소 2개의 디바이스(또는 2의 배수 장치)를 추가해야 합니다. 이전 단계에서 디바이스를 하나를 추가했으므로 두 번째 디바이스를 추가하고 확장을 다시 시도하세요.

$ pvcreate /dev/xvde
Physical volume "/dev/xvde" successfully created.

$ vgextend vg01 /dev/xvde
Volume group "vg01" successfully extended

$ vgs
VG   #PV #LV #SN Attr   VSize  VFree
  vg01   4   1   0 wz--n- 31.98g 21.98g

$ lvextend /dev/vg01/lv01 -L +10G
Using stripesize of last segment 128.00 KiB
Size of logical volume vg01/lv01 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).
Logical volume vg01/lv01 successfully resized.

$ lvs -o+lv_layout,stripes
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Layout     #Str
lv01 vg01 -wi-a----- 20.00g                                                     striped       2
lv01 vg01 -wi-a----- 20.00g                                                     striped       2

위 예제 출력은 두 번째 디바이스가 추가되었을 때 lvextend 명령이 성공적으로 완료되었음을 보여줍니다.

3.    다음 명령을 실행하여 파일 시스템의 크기를 조정하세요.

Ext2, Ext3 및 Ext4 파일 시스템:

$ sudo resize2fs /dev/vg01/lv01

XFS 파일 시스템:

$ sudo xfs_growfs /dev/vg01/lv01
AWS 공식
AWS 공식업데이트됨 일 년 전