OCI: Boot Volume Size 증대 방법
Instance를 생성할 때 Boot Volume을 별도로 설정하지 않으면 디폴트 50G(47GiB)로 할당됩니다. OCI Free Tier는 200GB까지 무료 스토리지를 사용할 수 있기 때문에 Boot Volume을 200GB까지 증가시켜는 방법을 알아보겠습니다.
- Navigation에서 Storage -> Block volumes -> Boot volumes 메뉴로 이동하면 생성된 Instance의 Boot Volume 리스트가 출력됩니다.

- 화면 오른쪽에 있는 Edit 버튼(···)을 클릭하면, Edit boot volume 화면이 표시되고, Volume size를 변경할 수 있습니다.(주의사항: 축소시키는 것은 불가능합니다.)


- Edit boot volume 화면에서 Update 버튼을 클릭하면, Resize boot volume 화면이 나타납니다. Resize boot volume 화면에서 Rescan command 두 개를 복사합니다.

sudo dd iflag=direct if=/dev/oracleoci/oraclevd<paste device suffix here> of=/dev/null count=1 echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevd<paste device suffix here> | cut -d'/' -f 2`/device/rescan
- Resize boot volume 화면에서 Close 버튼을 클릭하면 Boot volume size가 200G로 변경된 것을 확인할 수 있습니다.

- MobaXterm 등 원격접속 유틸리티를 사용해서 Instance에 ssh 접속합니다.
- Instance의 boot volume 크기를 확인합니다. 아직까지 50GB를 유지하고 있습니다. Device suffix는 a입니다.
ubuntu@vm4webdav:~$ df -hTFilesystem Type Size Used Avail Use% Mounted on udev devtmpfs 432M 0 432M 0% /dev tmpfs tmpfs 96M 1.1M 95M 2% /run /dev/sda1 ext4 194G 2.7G 191G 2% / tmpfs tmpfs 477M 0 477M 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs tmpfs 477M 0 477M 0% /sys/fs/cgroup /dev/loop0 squashfs 56M 56M 0 100% /snap/core18/2855 /dev/loop1 squashfs 64M 64M 0 100% /snap/core20/2582 /dev/loop2 squashfs 92M 92M 0 100% /snap/lxd/32662 /dev/loop3 squashfs 89M 89M 0 100% /snap/oracle-cloud-agent/94 /dev/loop4 squashfs 51M 51M 0 100% /snap/snapd/24671 /dev/sda15 vfat 105M 6.1M 99M 6% /boot/efi tmpfs tmpfs 96M 0 96M 0% /run/user/1001
- “OS 커널에게 디스크 크기가 커졌으니 다시 확인해라”라는 단계입니다. root 사용자로 전환한 후(
sudo su -), 3단계에서 복사해 둔 명령어들에서 <paste device suffix here> 부분을 “a”로 변경하고 실행합니다. Learn more.root@vm4webdav:~# sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=11+0 records in 1+0 records out 512 bytes copied, 0.00098569 s, 519 kB/sroot@vm4webdav:~# echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan1 - 파티션 테이블을 확장하고, ext4 파일 시스템을 적용하여 실제 용량을 확보하는 단계입니다. 오라클이 제공하는 oci-growfs 명령어를 사용해서 모든 과정을 한 번에 수행할 수 있다고 하네요. 인스턴스를 다시 생성해서 테스트할 때는 사용해 봐야겠습니다.
root@vm4webdav:~# growpart /dev/sda 1CHANGED: partition=1 start=227328 old: size=97449951 end=97677279 new: size=419203039 end=419430367root@vm4webdav:~# resize2fs /dev/sda1resize2fs 1.45.5 (07-Jan-2020) Filesystem at /dev/sda1 is mounted on /; on-line resizing required old_desc_blocks = 6, new_desc_blocks = 25 The filesystem on /dev/sda1 is now 52400379 (4k) blocks long.
- /dev/sda1의 크기가 45G에서 194G로 증가한 것을 확인할 수 있습니다.
root@vm4webdav:~# df -hTFilesystem Type Size Used Avail Use% Mounted on udev devtmpfs 432M 0 432M 0% /dev tmpfs tmpfs 96M 1.1M 95M 2% /run /dev/sda1 ext4 194G 2.7G 191G 2% / tmpfs tmpfs 477M 0 477M 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs tmpfs 477M 0 477M 0% /sys/fs/cgroup /dev/loop0 squashfs 56M 56M 0 100% /snap/core18/2855 /dev/loop1 squashfs 64M 64M 0 100% /snap/core20/2582 /dev/loop2 squashfs 92M 92M 0 100% /snap/lxd/32662 /dev/loop3 squashfs 89M 89M 0 100% /snap/oracle-cloud-agent/94 /dev/loop4 squashfs 51M 51M 0 100% /snap/snapd/24671 /dev/sda15 vfat 105M 6.1M 99M 6% /boot/efi /dev/loop5 squashfs 56M 56M 0 100% /snap/core18/2976 /dev/loop6 squashfs 49M 49M 0 100% /snap/snapd/25935 /dev/loop7 squashfs 64M 64M 0 100% /snap/core20/2686 /dev/loop8 squashfs 92M 92M 0 100% /snap/lxd/36554 tmpfs tmpfs 96M 0 96M 0% /run/user/1001
