오라클 클라우드 boot 볼륨 증가(온라인 변경) - 루트 볼륨 확장

Share

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]



관련된 다른 글

 

 

 

 

          

2
0
글에 대한 당신의 생각을 기다립니다. 댓글 의견 주세요!x