Last Updated on 6월 4, 2023 by Jade(정현호)
안녕하세요
이번 포스팅에서는 사용중인 오라클 클라우드의 컴퓨트 인스턴스의 부트 볼륨의 증가에 대해서 확인 해보도록 하겠습니다.
포스팅 OS 환경 정보)
- Oracle Linux7 버전 과 Oracle Linux8 버전
- RPM 계열 외 다른 OS(예, Ubuntu)의 경우 별도의 방법을 이용 해야 할 수 있습니다.
현재 디스크 현황
현재 사용 중인 인스턴스 디스크 용량을 현황으로 /(root) 볼륨이 모두 차 있는 상태 입니다.
[root@inst-1]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 12G 0 12G 0% /dev tmpfs 12G 0 12G 0% /dev/shm tmpfs 12G 1.2G 11G 11% /run tmpfs 12G 0 12G 0% /sys/fs/cgroup /dev/mapper/ocivolume-root 36G 35G 746M 98% / <-- 용량 부족 /dev/mapper/ocivolume-oled 10G 104M 9.9G 2% /var/oled /dev/sda2 1014M 252M 763M 25% /boot /dev/sda1 100M 5.5M 95M 6% /boot/efi tmpfs 2.3G 0 2.3G 0% /run/user/987 tmpfs 2.3G 0 2.3G 0% /run/user/1000
percona xtrabackup 를 빌드 하는 과정에서 용량이 모두 차는 상황이 발생되어 루트 볼륨을 증가시켜야 하는 상황이 발생되었습니다.
디스크 등이 더 있는지 어떻게 구성되어 있는지 블럭 디바이스를 확인 해보도록 하겠습니다.
-- /dev/sda 로 구성되어 있음을 알수 있음 [root@inst-1]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat 8F23-D58F /boot/efi ├─sda2 xfs 89f14934-97a5-4bfa-9bc2-27bcf30f67ca /boot └─sda3 LVM2_member 3VuAKv-0b2H-OvMo-5i9D-33pI-onkh-FACaTx ├─ocivolume-root xfs 4e3ac00c-53a3-4082-a750-02c31d0cdec9 / └─ocivolume-oled xfs 545db804-d3f9-45c1-bed2-0ee6695259ee /var/oled
지금의 인스턴스에는 디스크1개인 /dev/sda 1개로만 구성되어 있음을 확인 할 수 있습니다.
그럼 /dev/sda 의 파티션 정보를 통해서 디스크 사이즈를 확인 해보도록 하겠습니다.
[root@inst-1]# parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: ORACLE BlockVolume (scsi) Disk /dev/sda: 50.0GB <-- 더 이상 늘릴 수 없음 Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 106MB 105MB fat16 EFI System Partition boot, esp 2 106MB 1180MB 1074MB xfs 3 1180MB 50.0GB 48.8GB lvm
현재 인스턴스 서버에는 /dev/sda 디스크 사이즈는 50GB 로 확인되어 현재 디스크 상에서는 조치하기 힘든 상태 임으로 클라우드 관리 대시보드에서 부트 볼륨의 사이즈를 증가를 하도록 하겠습니다.
부트 볼륨 증가
어드민 콘솔에서 부트 볼륨 증가 및 OS에서 의 LV 및 파일시스템 변경을 하도록 하겠습니다.
어드민 콘솔에서 부트 볼륨 변경
어드민 웹 콘솔 -> 컴퓨트 -> 인스턴스 -> 부트 볼륨 으로 이동 합니다.
부트 볼륨에서 편집을 클릭 합니다.
증가 하려는 용량을 입력 후에 하단의 "변경사항 저장" 을 클릭 합니다.
아래 이미지와 같이 팝업이 되며 실행 해야 하는 명령어를 알려주게 됩니다.
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1 echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan
OS 에 접속하여 위의 명령를 수행 합니다. 수행이 완료 되었다면 팝업 된 창에서 닫기 를 클릭 합니다.
OCI Utilities 를 사용한 파일 시스템 증가
OCI Utilities 를 통해서 LV 볼륨 증가 및 파일시스템 증가를 할 수 있습니다.
먼저 OCI Utilities 를 설치를 진행하도록 하겠으며 설치는 버전 별로 확인하여 진행 합니다.
-- Oracle Linux 7 버전 sudo yum install -y python36-oci-sdk python36-oci-cli -- Oracle Linux 8 sudo dnf config-manager --enable ol8_oci_included sudo dnf config-manager --enable ol8_developer sudo dnf install -y python36-oci-sdk python36-oci-cli
설치가 완료 되었다면 OCI Utilities 의 oci-growfs 를 통해서 진행하면 되며, oci-growfs 명령어만 수행 하면 됩니다.
[root@inst-1]# sudo /usr/libexec/oci-growfs root VG: ocivolume CHANGE: partition=3 start=2304000 old: size=95371264 end=97675264 new: size=207411167 end=209715167 # === old sfdisk -d === label: gpt label-id: A6A54664-008E-4F1C-8D4F-7D8FD5868622 device: /dev/sda unit: sectors first-lba: 34 /dev/sda1 : start= 2048, size= 204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=BE6E59E2-7B03-4D7F-9E8A-8A80229B6A0F, name="EFI System Partition" /dev/sda2 : start= 206848, size= 2097152, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=FDCF994D-91F8-4EB7-9658-3F0C4382B36D /dev/sda3 : start= 2304000, size= 95371264, type=E6D6D379-F507-44C2-A23C-238F2A3DF928, uuid=008E5051-10D7-4E99-992A-6576633A909D # === new sfdisk -d === label: gpt label-id: A6A54664-008E-4F1C-8D4F-7D8FD5868622 device: /dev/sda unit: sectors first-lba: 34 /dev/sda1 : start= 2048, size= 204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=BE6E59E2-7B03-4D7F-9E8A-8A80229B6A0F, name="EFI System Partition" /dev/sda2 : start= 206848, size= 2097152, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=FDCF994D-91F8-4EB7-9658-3F0C4382B36D /dev/sda3 : start= 2304000, size= 207411167, type=E6D6D379-F507-44C2-A23C-238F2A3DF928, uuid=008E5051-10D7-4E99-992A-6576633A909D Confirm? [y/n]y
실행하면 필요한 정보 등을 확인 하고 실제로 진행 전 실행 여부를(Confirm) 확인 하게 되며 Y 를 입력하면 진행 되게 됩니다.
Confirm? [y/n] y
-- 계속 진행됨 calling part_growfs_func /dev/sda 3 CHANGED: partition=3 start=2304000 old: size=95371264 end=97675264 new: size=207411167 end=209715167 meta-data=/dev/mapper/ocivolume-root isize=512 agcount=4, agsize=2324736 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=9298944, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=4540, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 calling /usr/sbin/pvresize /dev/sda3 Physical volume "/dev/sda3" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized calling /usr/sbin/lvextend -l +100%FREE --resizefs /dev/ocivolume/root Size of logical volume ocivolume/root changed from 35.47 GiB (9081 extents) to <88.90 GiB (22758 extents). Logical volume ocivolume/root successfully resized. meta-data=/dev/mapper/ocivolume-root isize=512 agcount=4, agsize=2324736 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=9298944, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=4540, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 9298944 to 23304192
마지막으로 파일시스템까지 증가 되었는지는 df 등의 명령어로 확인 해보도록 하겠습니다.
[root@inst-1]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 12G 0 12G 0% /dev tmpfs 12G 0 12G 0% /dev/shm tmpfs 12G 1.2G 11G 11% /run tmpfs 12G 0 12G 0% /sys/fs/cgroup /dev/mapper/ocivolume-root 89G 36G 54G 40% / <-- 늘어남 /dev/mapper/ocivolume-oled 10G 104M 9.9G 2% /var/oled /dev/sda2 1014M 252M 763M 25% /boot /dev/sda1 100M 5.5M 95M 6% /boot/efi tmpfs 2.3G 0 2.3G 0% /run/user/987 tmpfs 2.3G 0 2.3G 0% /run/user/1000
부트 볼륨 증가가 된 것을 확인 할 수 있으며, OCI Utilities 를 통해서 쉽게 진행 할 수 있습니다. OCI Utilities 에는 oci-growfs 외 다른 다양한 툴이 지원 되고 있습니다.
Reference Link
docs.oracle.com/ociutilities.htm [L]
관련된 다른 글
Principal DBA(MySQL, AWS Aurora, Oracle)
핀테크 서비스인 핀다에서 데이터베이스를 운영하고 있어요(at finda.co.kr)
Previous - 당근마켓, 위메프, Oracle Korea ACS / Fedora Kor UserGroup 운영중
Database 외에도 NoSQL , Linux , Python, Cloud, Http/PHP CGI 등에도 관심이 있습니다
purityboy83@gmail.com / admin@hoing.io
잘 보고 갑니다.
댓글 감사합니다!