OCI: Boot Volume Size 증대 방법

Instance를 생성할 때 Boot Volume을 별도로 설정하지 않으면 디폴트 50G(47GiB)로 할당됩니다. OCI Free Tier는 200GB까지 무료 스토리지를 사용할 수 있기 때문에 Boot Volume을 200GB까지 증가시켜는 방법을 알아보겠습니다.

  1. Navigation에서 Storage -> Block volumes -> Boot volumes 메뉴로 이동하면 생성된 Instance의 Boot Volume 리스트가 출력됩니다.
    boot volume
  2. 화면 오른쪽에 있는 Edit 버튼(···)을 클릭하면, Edit boot volume 화면이 표시되고, Volume size를 변경할 수 있습니다.(주의사항: 축소시키는 것은 불가능합니다.)
    boot volume
    boot volume
  3. Edit boot volume 화면에서 Update 버튼을 클릭하면, Resize boot volume 화면이 나타납니다. Resize boot volume 화면에서 Rescan command 두 개를 복사합니다.
    boot volume
    boot volume

    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
    
  4. Resize boot volume 화면에서 Close 버튼을 클릭하면 Boot volume size가 200G로 변경된 것을 확인할 수 있습니다.
    boot volume
  5. MobaXterm 등 원격접속 유틸리티를 사용해서 Instance에 ssh 접속합니다.
  6. Instance의 boot volume 크기를 확인합니다. 아직까지 50GB를 유지하고 있습니다. Device suffix는 a입니다.
    ubuntu@vm4webdav:~$ df -hT
    Filesystem     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
    
  7. “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=1
    1+0 records in
    1+0 records out
    512 bytes copied, 0.00098569 s, 519 kB/s
    root@vm4webdav:~# echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan
    1
    
  8. 파티션 테이블을 확장하고, ext4 파일 시스템을 적용하여 실제 용량을 확보하는 단계입니다. 오라클이 제공하는 oci-growfs 명령어를 사용해서 모든 과정을 한 번에 수행할 수 있다고 하네요. 인스턴스를 다시 생성해서 테스트할 때는 사용해 봐야겠습니다.
    root@vm4webdav:~# growpart /dev/sda 1
    CHANGED: partition=1 start=227328 old: size=97449951 end=97677279 new: size=419203039 end=419430367
    root@vm4webdav:~# resize2fs /dev/sda1
    resize2fs 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.
    
  9. /dev/sda1의 크기가 45G에서 194G로 증가한 것을 확인할 수 있습니다.
    root@vm4webdav:~# df -hT
    Filesystem     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
    

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다