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

최종 업데이트 날짜: 2020년 6월 25일

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

간략한 설명

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

EBS 볼륨에서 LVM을 사용하고 파티션을 확장하려면:

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

참고: Nitro 기반 인스턴스가 포함된 LVM을 사용하는 방법에 대한 자세한 내용은 11장을 참조하십시오. Red Hat 고객 포털 웹 사이트의 LVM(Logical Volume Manager).

해결 방법

참고: 볼륨에 LVM을 이미 생성하여 사용할 수 있도록 탑재한 경우, 논리 볼륨 확장에서 시작하는 지침을 따르십시오.

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

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

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

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 파일에서 탑재 옵션을 편집합니다.

참고: 다른 경우 xfs를 /etc/fstab 항목의 파일 시스템 유형으로 바꿉니다.

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

논리 볼륨 확장

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

  • 옵션 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, Ext3 및 Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo yum install xfsprogs
$ sudo xfs_growfs /dev/examplegroup1/lvexample1

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

1.    10 GB의다른 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, Ext3 및 Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?