Cloud

AWS EBS 데이터 손실 없는 nvme 디스크 확장 본문

클라우드

AWS EBS 데이터 손실 없는 nvme 디스크 확장

Firewall 2018. 11. 16. 11:00

 CDN Origin Server 의 디스크 용량이 작다고 확장 요청이 왔습니다. 일반적인 방법으로는 새 디스크 장착 후, 데이터 복사, 마운트 포지션 교체의 과정으로 이루어 지지만 AWS 에서는 LIVE MIGRATION 이 가능합니다. ROOT 디스크도 가능하며, 본 블로그에 간략히 기술되어 있습니다. 

2017/05/23 - [리눅스] - EC2에서 파티션 조정과 FDISK, resize2fs 를 이용한 파일 확장 축소

2015/10/16 - [리눅스] - 리눅스 용량 확장 명령어 resize2fs 사용법 (Nothing to do! 나올때)

 

하지만 구식의 방법이라 growpart 를 사용하는 것이 더 좋아 보입니다.

아래는 growpart, resize2fs 를 사용한 data disk 확장이며, ext4 파티션입니다.

 

1. (옵션) 데이터 디스크 스냅샷을 뜬다. 만약에 일어날 수 있는 데이터 손실 방지. 명령 실행 후 콘솔에서 스냅샷이 완료 되었는지 필히 확인

2. Modify Volume 을 사용하여 디스크 확장 (확장 시간이 걸림, status의 진행율 확인할 것.)

 

3. OS 로 돌아와서 (여기서는 Cent7.5) 아래의 커맨드들을 실행

nvme disk 는 xvdb disk 들과 달리 파티션 포인트를 지정할 떄 p1 에서 p 를 뺴고 지정./nvme1n1 1  이런식으로 진행합니다.

 

lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

nvme0n1     259:2    0   40G  0 disk 

└─nvme0n1p1 259:3    0   40G  0 part /

nvme1n1     259:0    0    1T  0 disk 

└─nvme1n1p1 259:1    0  200G  0 part /data

 

growpart /dev/nvme1n1 1

CHANGED: partition=1 start=2048 old: size=419428352 end=419430400 new: size=2147481567,end=2147483615

 

lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

nvme0n1     259:2    0   40G  0 disk 

└─nvme0n1p1 259:3    0   40G  0 part /

nvme1n1     259:0    0    1T  0 disk 

└─nvme1n1p1 259:1    0 1024G  0 part /data

 

할당은 되었으나 ext4 파티션 파일 시스템을 늘려주어야 함

 

resize2fs /dev/nvme1n1p1

resize2fs 1.42.9 (28-Dec-2013)

Filesystem at /dev/nvme1n1p1 is mounted on /data; on-line resizing required

old_desc_blocks = 25, new_desc_blocks = 128

The filesystem on /dev/nvme1n1p1 is now 268435195 blocks long.

 

df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/nvme0n1p1   40G   13G   28G  31% /

devtmpfs        1.8G     0  1.8G   0% /dev

tmpfs           1.8G     0  1.8G   0% /dev/shm

tmpfs           1.8G   17M  1.8G   1% /run

tmpfs           1.8G     0  1.8G   0% /sys/fs/cgroup

/dev/nvme1n1p1 1008G   12G  954G   2% /data

tmpfs           356M     0  356M   0% /run/user/1000

tmpfs           356M     0  356M   0% /run/user/0

 

완료.

 

Comments