EBS 볼륨에 만든 파티션에 LVM 논리 볼륨을 만들려면 어떻게 해야 하나요?

6분 분량
0

LVM(논리적 볼륨 관리자)을 사용하여 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진수 코드 또는 GUID의 경우 8e00을 입력합니다. 다음 예제에서는 /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 명령을 사용하여 볼륨 그룹을 확장하고 새 볼륨을 추가합니다. 다음 예에서는 /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

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

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

Ext2, Ext3Ext4 파일 시스템:

$ sudo resize2fs /dev/examplegroup1/lvexample1

XFS 파일 시스템:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

관련 정보

전체 EBS 볼륨에 LVM 논리 볼륨을 만들려면 어떻게 해야 합니까?

AWS 공식
AWS 공식업데이트됨 2년 전