EBS 볼륨에서 생성된 파티션에 LVM 논리 볼륨을 생성하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2022년 9월 27일

LVM(Logical Volume Manager)을 사용하여 Amazon Elastic Block Store(Amazon EBS) 볼륨에서 생성된 파티션에 논리 볼륨(LV)을 생성하려면 어떻게 해야 하나요?

간략한 설명

LVM을 사용하면 디스크 공간을 할당하고 논리 볼륨을 제거하고 다시 미러링하고 크기를 조정할 수 있습니다. LVM을 사용하여 EBS 볼륨 또는 EBS 볼륨 세트를 하나 이상의 물리 볼륨에 할당할 수 있습니다.

EBS 볼륨에서 LVM을 사용하고 파티션을 확장하려면 다음 단계를 따르세요.

  1. EBS 볼륨에서 물리 볼륨(PV)을 생성합니다.
  2. 볼륨 그룹(VG)을 생성한 다음, 볼륨 그룹에 물리 볼륨을 추가합니다.
  3. 논리 볼륨(LV)을 생성한 다음, LVM에 디렉터리를 탑재합니다.
  4. 파일 시스템을 생성하고 탑재합니다.
  5. 논리 볼륨의 크기를 조정합니다.

해결 방법

참고: 볼륨에 LVM을 이미 생성하여 사용할 수 있도록 탑재한 경우, 논리 볼륨 확장 섹션의 지침을 따르세요.

EBS 볼륨의 파티션에 물리 볼륨 생성

LVM 논리 볼륨의 기본 물리적 스토리지 단위는 EBS 볼륨의 파티션 또는 전체 EBS 볼륨과 같은 블록 디바이스입니다.

참고: Nitro 기반 인스턴스는 볼륨을 NVMe 디바이스로 표시합니다. 블록 디바이스 이름은 /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1 등의 패턴을 따릅니다. Nitro 기반 인스턴스를 사용하는 경우 다음 단계에서 디바이스 이름을 적절한 디바이스 이름으로 바꿉니다. 디바이스 이름 지정에 대한 자세한 내용은 Linux 인스턴스의 디바이스 이름을 참조하세요.

1.    Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 엽니다.

2.    EBS 볼륨을 생성한 다음 볼륨을 인스턴스에 연결합니다.

3.    gdisk 명령을 사용하여 파티션을 생성합니다. 변수 16진수 코드 또는 GUID8e00을 입력합니다. 다음 예제에서는 /dev/xvdh에서 /dev/xvdh1 파티션을 생성합니다.

$ sudo gdisk /dev/xvdh
Command (? for help): n
Partition number (1-1218, default 1): 1
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00        
Changed type of partition to 'Linux LVM'
...
OK; writing new GUID partition table (GPT) to /dev/xvdh.
The operation has completed successfully.

lsblk 명령을 사용하여 파티션 생성을 확인합니다.

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdh    202:80   0  10G  0 disk
└─xvdh1 202:81   0  10G  0 part

4.    pvcreate 명령을 사용하여 파티션에서 물리 볼륨을 생성합니다. 다음 예제에서는 /dev/xvdh1에서 물리 볼륨을 생성합니다.

$ sudo pvcreate /dev/xvdh1
  Physical volume "/dev/xvdh1" successfully created.

볼륨 그룹 생성 및 볼륨 그룹에 물리 볼륨 추가

vgcreate 명령을 사용하여 새 물리 볼륨을 결합할 볼륨 그룹을 생성합니다. 다음 예제에서는 하나의 물리적 볼륨을 사용하여 볼륨 그룹 examplegroup1을 생성합니다.

$ sudo vgcreate examplegroup1 /dev/xvdh1    
  Volume group "examplegroup1" successfully created

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

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

논리 볼륨(LV) 및 탑재 디렉터리 생성

1.    lvcreate 명령을 사용하여 볼륨 그룹에서 논리 볼륨(파티션)을 생성합니다. 다음 예제에서는 examplegroup1 볼륨 그룹에서 9GB 논리 볼륨 lvexample1을 생성합니다.

$ sudo lvcreate -n lvexample1 -L 9G examplegroup1
  Logical volume "lvexample1" created

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

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

2.    mkdir 명령을 사용하여 탑재 디렉터리를 생성합니다. 다음 예제에서는 디렉터리 /mnt1을 생성합니다.

$ sudo mkdir /mnt1

파일 시스템 생성 및 탑재

1.    다음 명령을 사용하여 파일 시스템을 생성하고 사용할 파티션을 탑재합니다.

mkfs -t 명령을 실행하여 파일 시스템을 생성합니다. 참고: 만약 다른 경우 xfs를 해당 파일 시스템 유형으로 바꿉니다. 예를 들면 ext2, ext3 또는 ext4를 사용합니다.

$ sudo mkfs -t xfs /dev/examplegroup1/lvexample1

lsblk -f 명령을 실행하여 새 파일 시스템이 생성되었는지 확인합니다. 참고: 이전 단계에서 생성한 파일 시스템 유형은 FSTYPE아래에 나타납니다.

$ lsblk -f
NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
xvda                                                                            
├─xvda1                                                                         
└─xvda2                      xfs               66e5e079-770e-4359-a9da-5205c3d8d5af   /
xvdh                                                                            
└─xvdh1                      LVM2_member       0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo
  └─examplegroup1-lvexample1 xfs              5db36052-81d5-4762-8502-6986ff3964e7

mount 명령을 실행하여 이전 단계에서 생성한 탑재 디렉터리에 파일 시스템을 탑재합니다.

$ sudo mount /dev/examplegroup1/lvexample1 /mnt1

2.    재부팅 후에도 새 탑재가 유지되도록 /etc/fstab 파일에서 탑재 옵션을 편집합니다.

/dev/examplegroup1/lvexample1 /mnt1   xfs     defaults,nofail   0   0

참고: 파일 시스템 유형이 xfs가 아닌 경우 xfs/etc/fstab 파일의 유형으로 바꿉니다.

논리 볼륨 확장

논리 볼륨 확장에는 두 가지 옵션이 있습니다.

  • 옵션 1: 기존 EBS 볼륨의 크기를 늘립니다.
  • 옵션 2: 볼륨 그룹에 EBS 볼륨을 추가합니다.

옵션 1: 기존 EBS 볼륨의 크기 증가

참고: 기존 볼륨의 크기를 늘리면 볼륨이 최적화 중 상태로 전환될 때 변경된 크기가 보통 몇 초 이내에 적용됩니다. 볼륨의 성능은 최적화 중 상태에 있는 동안 영향을 받지만 소스 구성 사양보다 낮아지지는 않습니다. 볼륨 유형에 따라 성능 변경은 몇 분에서 몇 시간까지 걸릴 수 있습니다. 자세한 내용은 볼륨 수정 진행률 모니터링을 참조하세요.

1.    기존 EBS 볼륨의  크기를 수정합니다.

2.    growpart 유틸리티 설치:

$ sudo yum install cloud-utils-growpart

참고: 다음 명령을 사용하여 Debian 또는 Ubuntu 기반 시스템에 growpart 유틸리티를 설치합니다.

$ sudo apt install -y cloud-guest-utils

3.    growpart 명령을 실행하여 파티션을 확장한 다음 pvresize 명령을 실행하여 PV의 크기를 조정합니다. 다음 예제에서는 파티션 /dev/xvdh1을 확장합니다.

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

$ 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

4.    lvextend 명령을 실행하여 논리 볼륨을 확장합니다.

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

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

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

5.    파일 시스템을 확장합니다.

참고: 올바른 파일 시스템 유형을 /etc/fstab 항목에 입력해야 합니다.

Ext2, Ext3Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo yum install x    rogs
$ sudo xfs_growfs /dev/examplegroup1/lvexample1

옵션 2: 볼륨 그룹에 EBS 볼륨 추가

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

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

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

$ 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

4.    파일 시스템의 크기를 조정합니다.

참고: 사용 사례에 따라 XFS 또는 Ext2, Ext3 및 Ext4 파일 시스템의 단계를 따르세요.

Ext2, Ext3Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?