본문 바로가기

OS/Linux

[Linux] 디스크 파티션 크기 확장(standard)

반응형

Public Cloud나 구축한 Hypervisor의 VM을 운용하는 경우 필요에 의해 디스크 사이즈를 증가 시킬수 있다.

 

작업 순서는 다음과 같다.

디스크 용량 추가 -> 파티션 확장 -> 파일시스템 resize

 

 

 

디스크 추가

디스크를 추가하여 기존 100G -> 200G로 증가 시켰으며 lsblk로 파티션 정보를 확인한다.

sda2 에 / 파티션을 98G -> 198G로 100G 증가 시키려 한다.

이때 sda는 8:0 이며 sda2 는 8:2 이다.

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    2G  0 part [SWAP]
└─sda2   8:2    0   98G  0 part /
sr0     11:0    1 1024M  0 rom

 

 

 

 

파티션 확장

파티션 확장을 위해 growpart 툴을 설치한다.

yum install cloud-utils-growpart

 

 

 

growpart 툴을 사용하여 파티션을 확장한다.

$ growpart /dev/sda 2
CHANGED: partition=2 start=4196352 old: size=205518848 end=209715200 new: size=415234015 end=419430367

 

 

파티션 정보를 확인하면 / 파티션이 198G 증가 하였다.

└─sda2   8:2    0  198G  0 part /

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    2G  0 part [SWAP]
└─sda2   8:2    0  198G  0 part /
sr0     11:0    1 1024M  0 rom

 

 

하지만 df로 확인하면 파일시스템은 증가하지 않았다.

따라서 파일시스템을 resize 해주어야한다.

/dev/sda2        98G   68G   31G  69% /

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  762M  7.1G  10% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda2        98G   68G   31G  69% /
tmpfs           1.6G     0  1.6G   0% /run/user/0

 

 

 

파일시스템 resize

resize2fs 를 사용하여 파일시스템을 resize 한다.

resize2fs <device> <new_size>

<new_size>를 주지 않으면 가용 가능한 모든 사이즈가 할당 된다.

 

이때 아래와 같은 에러가 출력 될 수 있다.

$ resize2fs /dev/sda2
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/sda2
Couldn't find valid filesystem superblock.

 

 

파일 시스템이 xfs인 경우로 xfs_growfs 를 사용해야 한다.

xfs_growfs /dev/sda2

$ xfs_growfs /dev/sda2
meta-data=/dev/sda2              isize=512    agcount=4, agsize=6422464 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=25689856, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=12543, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25689856 to 51904251

 

 

df 로 확인하면 198G로 증가 된 것을 볼 수 있다.

/dev/sda2       198G   68G  131G  35% /

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  786M  7.0G  10% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda2       198G   68G  131G  35% /
tmpfs           1.6G     0  1.6G   0% /run/user/0

 

반응형