리눅스 파일시스템 늘이기 – vmware guest os.

리눅스 파일시스템 늘이기 – vmware guest os.

vmware나 kvm등 가상머신을 사용하다 보면, guest vm의 디스크가 모자랄 때가 생긴다.
이때, 가상 디스크를 추가하고 mount해서 사용해도 되지만 디스크를 증가시키고 파일시트템을 증가시켜야 할 때도 생긴다.

아래는 vsphere를 사용하여 guest 디스크를 늘인 다음, 파일시스템(여기서는 xfs로 포맷함)을 늘이는 방법이다.

1. Guest OS(ubuntu 22.04)에서 하드 디스크 확인.

parted 명령으로 디스크 크기를 확인해 보면 26.8GB인 것을 볼 수 있다.

snowfox@foo:~$ sudo parted -l
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 26.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1128MB  1127MB  fat32              boot, esp
 2      1128MB  26.8GB  25.7GB  xfs

파일 시스템은 아래처럼 /sd1, /sda2로 나눠져 있다.

snowfox@foo:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           393M  736K  392M   1% /run
/dev/sda2        24G  9.0G   15G  38% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda1       1.1G  6.1M  1.1G   1% /boot/efi
tmpfs           393M  8.0K  393M   1% /run/user/1000

2. vcsa에서 guest os의 디스크 크기를 늘여준다.
가상머신을 선택한 후, 설정 편집을 선택하면 아래처럼 하드디스크는 25GB로 설정되어 있다.

이제 하드디스크 크기를 10GB늘인 35로 수정하고, 확인 버튼을 누른다.

3. 디스크 크기를 늘이고, guest os를 재부팅한 후 parted 명령으로 디스크를 확인해 보면, 디스크 전체가 사용되지 않는다는 경고와 이를 고칠것이냐고 묻는 메시지를 볼 수 있다.

nowfox@foo:~$ sudo parted -l
[sudo] password for snowfox:
Warning: Not all of the space available to /dev/sda appears to be used, you can
fix the GPT to use all of the space (an extra 20971520 blocks) or continue with
the current setting?
Fix/Ignore? fix
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 37.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1128MB  1127MB  fat32              boot, esp
 2      1128MB  26.8GB  25.7GB  xfs

lsblk 명령으로 파티션을 확인 할 수 있다.

snowfox@foo:~$ sudo lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   35G  0 disk
├─sda1   8:1    0    1G  0 part /boot/efi
└─sda2   8:2    0 23.9G  0 part /
sr0     11:0    1 1024M  0 rom

4. growpart 명령으로 sda2의 파티션 크기를 늘여준다.

nowfox@foo:~$ sudo growpart /dev/sda 2
CHANGED: partition=2 start=2203648 old: size=50223104 end=52426752 new: size=71196639 end=73400287

lsblk 명령으로 확인 해 보면, /dev/sda2의 크기가 10GB 증가한 것을 확인 할 수 있다.

snowfox@foo:~$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   35G  0 disk
├─sda1   8:1    0    1G  0 part /boot/efi
└─sda2   8:2    0 33.9G  0 part /
sr0     11:0    1 1024M  0 rom

하지만, df 명령으로 확인 해 보면 /dev/sda2의 크기는 여전히 25GB이다.

snowfox@foo:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           393M  732K  392M   1% /run
/dev/sda2        24G  9.0G   15G  38% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda1       1.1G  6.1M  1.1G   1% /boot/efi
tmpfs           393M  8.0K  393M   1% /run/user/1000
snowfox@foo:~$

5. xfs_growfs 명령으로 파일시스템 크기를 늘인다.

snowfox@foo:~$ sudo xfs_growfs /dev/sda2
meta-data=/dev/sda2              isize=512    agcount=4, agsize=1569472 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=6277888, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=3065, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 6277888 to 8899579

이제, df 명령으로 확인 해 보면 /dev/sda2의 크기가 증가한 것을 확인 할 수 있다.

snowfox@foo:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           393M  732K  392M   1% /run
/dev/sda2        34G  9.1G   25G  27% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda1       1.1G  6.1M  1.1G   1% /boot/efi
tmpfs           393M  8.0K  393M   1% /run/user/1000

답글 남기기

Your email address will not be published.