Linux,Unix,BSD/RaspberryPI

RPi - 라즈베리파이에서 파티션 자동 확장하기

채윤아빠 2022. 6. 11. 10:44
728x90
반응형

개요

먼저 라즈비안 OS를 16GB SD 카드에서 만들어서 백업의 이미지로 만들어 둔 것을 32GB USB 메모리에 그대로 적용했을 때 USB 메모리의 나머지 16GB는 사용하지 않는 공간으로 그대로 남아 낭비됩니다.

라즈비안 OS를 설치했을 때, 최초 부팅시 파티션을 자동으로 확장하는 절차가 포함되어 있었는데, 이번에 그 방법을 정리해 둡니다.

파티션 자동 확장

16GB SD 카드에서 만든 백업 이미지를 이용하여 그대로 복원해서 만들어 둔 32GB USB 메모리에 대하여 파티션 자동 확장 작업전 32GB USB 메모리의 용량 상태는 다음과 같습니다.

루트 파티션의 15G로 절반의 용량을 사용하지 못하고 있습니다.

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G  8.2G  5.6G  60% /
devtmpfs        1.7G     0  1.7G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   26M  1.9G   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1       253M   50M  203M  20% /boot
tmpfs           379M  8.0K  379M   1% /run/user/1000

남은 16GB까지 용량 확장을 위하여 다음과 같이 "raspi-config" 명령을 실행합니다.

pi@raspberrypi:~ $ sudo raspi-config --expand-rootfs

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): Disk /dev/sda: 28.7 GiB, 30765219840 bytes, 60088320 sectors
Disk model:  SanDisk 3.2Gen1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x65488b03

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1         8192   532479   524288  256M  c W95 FAT32 (LBA)
/dev/sda2       532480 31116287 30583808 14.6G 83 Linux

Command (m for help): Partition number (1,2, default 2): 
Partition 2 has been deleted.

Command (m for help): Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): Partition number (2-4, default 2): 
First sector (2048-60088319, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (532480-60088319, default 60088319): 
Created a new partition 2 of type 'Linux' and of size 28.4 GiB.
Partition #2 contains a ext4 signature.

Command (m for help): 
Disk /dev/sda: 28.7 GiB, 30765219840 bytes, 60088320 sectors
Disk model:  SanDisk 3.2Gen1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x65488b03

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1         8192   532479   524288  256M  c W95 FAT32 (LBA)
/dev/sda2       532480 60088319 59555840 28.4G 83 Linux

Command (m for help): 
The partition table has been altered.
Syncing disks.

Please reboot

위 "raspi-config --expand-rootfs" 명령 로그를 보시면,
"fdisk" 명령을 통하여 루트 파티션을 삭제하였다가 다시 최대 크기로 생성하는 것을 자동화 했다는 것을 알 수 있습니다.

"raspi-config" 명령이 제공되지 않는 다른 OS에서도 "fdisk" 명령을 이용하여 여유 공간이 남아 있는 디스크의 파티션을 늘릴 수 있습니다. (수동으로 파티션을 확장 작업하는 것은 다음에 기회가 되면 작성해 보도록 하겠습니다.)

재부팅을 한 이후에 다음과 같이 루트 파티션('/')이 15G -> 28G로 확장된 것을 확인할 수 있습니다.

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        28G  8.1G   19G  31% /
devtmpfs        1.7G     0  1.7G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   18M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1       253M   50M  203M  20% /boot
tmpfs           379M  8.0K  379M   1% /run/user/1000

참고자료