오라클 클라우드(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
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 등으로 논리적으로 확장 해본 사람이라면 엄청 쉽게 가이드 되어있음을 알 수 있을 것이다.
그러나, 초기 기본 용량 입력 시 이런부분은 자동으로 진행해주는것이 초보자에게 더 도움될 것 같다.
'IT' 카테고리의 다른 글
무선네트워크 업그레이드 Iptime 기가링(Ring-GIGA 2) 설치후기 (0) | 2024.06.27 |
---|---|
아이폰 15 교체 후 발신 통화 정지 됐을 때 조치방법(skt) (0) | 2023.10.14 |
L4스위치] Alteon application Switch 5208 HA 상태 확인 (0) | 2023.08.24 |
Nginx SSL (https) 설정 후 서비스 재시작 에러(system library:fopen:Permission denied:fopen) (0) | 2023.08.22 |
아트뮤(artmu) 충전기 교환 후기 (2) | 2023.08.09 |