본문 바로가기

IT

오라클 클라우드(OCI) 부트볼륨 (boot volume) 확장

반응형

 

오라클 클라우드(Oracle Cloud Infrastructure 이하 OCI) 에서 Instance(VM) 생성 시

Boot Volume은 기본 50GB 으로 설정 된다.

Boot  Volume 을 기본 50GB 로 사용하고, 별도 Data 볼륨을 생성하여 특정경로에 mount 해 서비스를 운영한다면

본 내용은 불필요 하다.

 

1. 서비스의 크기가 크지않고 Boot Volume 으로만 운영할 계획인데 50GB 는 작을 때,

2. 이미 50GB boot volume 으로 서비스 운영중에 Full 이 발생 했을 때

확장하는 방법이다.

 

 

OCI 에서 Instance 생성 시 기본 boot volume 은 50GB 로 생성 된다.

'specify a custom boot volume size' 를 선택하고 100GB 등, 더 크게 생성 가능하다.

하지만, 논리적인 디스크 사이즈는 100GB 이지만 OS 상에서는 50GB 로 인식되어 있다.

아마도 Oracle Linux 컨테이너 이미지가 OS 상에서 50GB 로 제작되어 있는것으로 예상 된다.(관련내용 찾아보지 않음)

 

df 명령어로 os 에서 확인 해 보면 약 50GB 로 확인 된다. 

[root opc]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
devtmpfs                    1.8G     0  1.8G   0% /dev
tmpfs                       1.8G     0  1.8G   0% /dev/shm
tmpfs                       1.8G   17M  1.8G   1% /run
tmpfs                       1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/mapper/ocivolume-root   36G   13G   24G  35% /
/dev/sda2                  1014M  554M  461M  55% /boot
/dev/mapper/ocivolume-oled   10G  112M  9.9G   2% /var/oled
/dev/sda1                   100M  5.1M   95M   6% /boot/efi
tmpfs                       362M     0  362M   0% /run/user/0
tmpfs                       362M     0  362M   0% /run/user/987
tmpfs                       362M     0  362M   0% /run/user/1000
[root@ opc]#

 

Boot volume 확장 관련하여, Oracle Docs(OCI Utilities) 에서 내용을 확인 할 수 있다.

https://docs.oracle.com/en-us/iaas/oracle-linux/oci-utils/index.htm#install

 

OCI Utilities

For more information, see...

docs.oracle.com

 

 

 

2가지 경우로 방법을 기술 한다.

 

1. Instance(VM) 생성 시 boot volume 을 100GB 로 별도 지정해서 생성했지만, OS 에서 50GB 로 인식 됄 때

OCI 상에서는 100GB 로 표기 되지만,

 

실제 instance 내 OS에서 df 로 확인해보면 50GB 로 표기 된다.

[root@ opc]# df -h
Filesystem                                Size  Used Avail Use% Mounted on
devtmpfs                                   1.8G     0  1.8G   0% /dev
tmpfs                                      1.8G     0  1.8G   0% /dev/shm
tmpfs                                      1.8G  198M  1.6G  11% /run
tmpfs                                      1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/mapper/ocivolume-root                  36G   15G   22G  41% /
/dev/mapper/ocivolume-oled                  10G  637M  9.4G   7% /var/oled
/dev/sda2                                 1014M  493M  522M  49% /boot
/dev/sda1                                  100M  5.1M   95M   6% /boot/efi
tmpfs                                      362M     0  362M   0% /run/user/0
tmpfs                                      362M     0  362M   0% /run/user/987
tmpfs                                      362M     0  362M   0% /run/user/1000

docs 상에서는 'oci-growfs' 명령어로 확장 해줘야 한다고 안내 되어 있는데,

실제로는 'ocid-service' 만 enable 해줘도 자동 확장 되었다.

docs에 안내되어 있는 명령어로 ocid-service를 enable 하고 status 를 확인 한다.

: command

sudo systemctl enable --now ocid.service
sudo service ocid status

: 수행 화면

[root@ opc]# sudo systemctl enable --now ocid.service
Created symlink /etc/systemd/system/multi-user.target.wants/ocid.service → /etc/systemd/system/ocid.service.
[root@ opc]# sudo service ocid status
Redirecting to /bin/systemctl status ocid.service
● ocid.service - Oracle Cloud Infrastructure utilities daemon
   Loaded: loaded (/etc/systemd/system/ocid.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2024-01-05 09:08:36 KST; 3s ago
Main PID: 1628830 (python3)
    Tasks: 4 (limit: 22572)
   Memory: 327.5M
   CGroup: /system.slice/ocid.service
           └─1628830 /usr/bin/python3 /usr/lib/python3.6/site-packages/oci_utils/impl/ocid_main.py --no-daemon

1월 05 09:08:31 alpha-mgt-jenkins-deploy systemd[1]: Starting Oracle Cloud Infrastructure utilities daemon...
1월 05 09:08:36 alpha-mgt-jenkins-deploy sudo[1629080]:     root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/sbin/ip -details -json address>
1월 05 09:08:36 alpha-mgt-jenkins-deploy sudo[1629080]: pam_unix(sudo:session): session opened for user root by (uid=0)
1월 05 09:08:36 alpha-mgt-jenkins-deploy sudo[1629080]: pam_unix(sudo:session): session closed for user root
1월 05 09:08:36 alpha-mgt-jenkins-deploy systemd[1]: Started Oracle Cloud Infrastructure utilities daemon.

[root@ opc]#

 

이후 df 로 확인해보면 자동으로 boot volume 이 100GB 로 확장되어있음을 알 수 있었다.

[root@ opc]# df -h
Filesystem                                    Size  Used Avail Use% Mounted on
devtmpfs                                      1.8G     0  1.8G   0% /dev
tmpfs                                         1.8G     0  1.8G   0% /dev/shm
tmpfs                                         1.8G  198M  1.6G  11% /run
tmpfs                                         1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/mapper/ocivolume-root                     89G   15G   75G  17% /
/dev/mapper/ocivolume-oled                     10G  637M  9.4G   7% /var/oled
/dev/sda2                                    1014M  493M  522M  49% /boot
/dev/sda1                                     100M  5.1M   95M   6% /boot/efi
tmpfs                                         362M     0  362M   0% /run/user/0
tmpfs                                         362M     0  362M   0% /run/user/987
tmpfs                                         362M     0  362M   0% /run/user/1000
[root@ opc]#

 

2. Instance(VM) 생성 시 boot volume 을 50GB 로 생성 후 100GB 로 확장하는 경우

 

먼저 OCI 에서 boot volume 사이즈를 원하는 사이즈로 확장 한다.

: OCI 콘솔 -> instances -> 해당 instance -> 좌측 하단 boot volume -> 볼륨 선택

 

: Edit 클릭

 

: Volume Size 입력(100 입력함, 필요한 용량을 입력 한다.)

 

: 이후 Instance OS 에서 rescan 할 수 있는 command 를 친절히 안내 해 준다. 이때 마우스로 드래드 하지말고 되도록이면 'copy' 버튼을 눌러 복사 한다. 실수방지와 공백 등 오 입력 방지를 위함이다.

 

입력 해 보니 잘 된것 같다. '1' 이 출력 되었으니까. ^^

[root@ opc]# 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.00127729 s, 401 kB/s
[root@ opc]# echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan
1
[root@ opc]#

 

 

이후 oci-growfs 명령어를 실행 한다.

이미 root 이지만 docs 에 있는 내용을 copy 하느라 sudo 가 함께 있는데 신경쓰지 말자.

 

[root@ opc]# sudo /usr/libexec/oci-growfs
Volume Group: ocivolume
Volume Path: /dev/ocivolume/root
Mountpoint Data     
---------------
          mountpoint: /
              source: /dev/mapper/ocivolume-root
     filesystem type: xfs
         source size: 35.5G
                type: lvm
                size: 35.5G
    physical devices: ['/dev/sda3']
    physical volumes: ['/dev/sda', '/dev/sda']
    partition number: ['3']
   volume group name: ocivolume
   volume group path: /dev/ocivolume/root

Partition dry run expansion "/dev/sda3" succeeded.
CHANGE: partition=3 start=2304000 old: size=95371264 end=97675264 new: size=207411167 end=209715167

Expanding partition /dev/sda3: Confirm?   [y/N] y

partition dry run expansion succeeded 라고 출력 됐고, change 에 변경되는 정보가 보인다.

확장이 가능한가 보다. confirm 해보자.  y 입력.

 

Partition expand expansion "/dev/sda3" succeeded.
update-partition set to true
resizing 3 on /dev/sda using resize_sfdisk_gpt
209715200 sectors of 512. total size=107374182400 bytes
## sfdisk --unit=S --dump /dev/sda
label: gpt
label-id: 812F8A56-E8ED-417C-BD3D-661E60705756
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 209715166

/dev/sda1 : start=        2048, size=      204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=E673AE28-BA2F-401D-B02B-695892283475, name="EFI System Partition"
/dev/sda2 : start=      206848, size=     2097152, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=3840F016-52AC-4561-835A-02DFA72AF0E8
/dev/sda3 : start=     2304000, size=    95371264, type=E6D6D379-F507-44C2-A23C-238F2A3DF928, uuid=66916148-C5F5-4833-8FAE-8A4DE95421FD
padding 33 sectors for gpt secondary header
max_end=209715167 tot=209715200 pt_end=97675264 pt_start=2304000 pt_size=95371264
resize of /dev/sda returned 0.

CHANGED: partition=3 start=2304000 old: size=95371264 end=97675264 new: size=207411167 end=209715167

Extending /dev/sda3 succeeded.
Device /dev/sda3 extended successfully.
Logical volume /dev/ocivolume/root extended successfully.
[root@ opc]# df -h
Filesystem                                  Size  Used Avail Use% Mounted on
devtmpfs                                    1.8G     0  1.8G   0% /dev
tmpfs                                       1.8G     0  1.8G   0% /dev/shm
tmpfs                                       1.8G  176M  1.6G  10% /run
tmpfs                                       1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/mapper/ocivolume-root                   89G   13G   77G  14% /
/dev/mapper/ocivolume-oled                   10G  159M  9.9G   2% /var/oled
/dev/sda2                                  1014M  334M  681M  33% /boot
/dev/sda1                                   100M  5.1M   95M   6% /boot/efi
tmpfs                                       362M     0  362M   0% /run/user/0
tmpfs                                       362M     0  362M   0% /run/user/988
tmpfs                                       362M     0  362M   0% /run/user/1000
[root@ opc]#

 

ocivolume-root 가 89G 로 확장 되었다. 기타 마운트 포인트 지점들의 용량 합계를 보니 얼추 100GB 가 맞는것 같다.

 

이렇게 쉽게 확장되다니, 참 편리해졌다.

물리서버나 VM ware 등으로 논리적으로 확장 해본 사람이라면 엄청 쉽게 가이드 되어있음을 알 수 있을 것이다.

 

그러나, 초기 기본 용량 입력 시 이런부분은 자동으로 진행해주는것이 초보자에게 더 도움될 것 같다.

 

반응형