LoginSignup
1
0

More than 1 year has passed since last update.

[Exadata] KVMゲストの/u01拡張

Last updated at Posted at 2023-06-24

はじめに

Exadata X8M-2のOracle Linux KVMゲストの/u01のファイルシステムを拡張した際の手順を共有します。

環境

KVMホスト(kvm01)

Kernel version: 4.14.35-1902.5.1.4.el7uek.x86_64 #2 SMP Wed Oct 9 19:29:16 PDT 2019 x86_64
Image kernel version: 4.14.35-1902.5.1.4.el7uek
Image version: 19.3.2.0.0.191119

KVMゲスト(guest01)

Kernel version: 4.14.35-1902.5.1.4.el7uek.x86_64 #2 SMP Wed Oct 9 19:29:16 PDT 2019 x86_64
Image kernel version: 4.14.35-1902.5.1.4.el7uek
Image version: 19.3.2.0.0.191119

事前確認

KVMゲスト環境の/u01の使用量を確認します。
下記の通り、空き領域が、3.1Gと心許ない状況です。

[root@guest01 ~]# df -h /u01
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbOra1   20G   17G  3.1G  85% /u01

現在の論理ボリューム構成を確認します。20GBである事が確認できます。

[root@guest01 ~]# lvs -o lv_name,lv_path,vg_name,lv_size /dev/VGExaDb/LVDbOra1
  LV       Path                  VG      LSize
  LVDbOra1 /dev/VGExaDb/LVDbOra1 VGExaDb 20.00g

ボリュームグループVGExaDbの使用可能な領域を確認します。

[root@guest01 ~]# vgdisplay VGExaDb -s
  "VGExaDb" 99.24 GiB [98.25 GiB used / 1016.00 MiB free]

1016.00 MiB freeとなっており、拡張可能な領域が無いため、LVMディスクをOracle Linux KVMゲストに追加し、ゲストで使用可能なディスク領域の量を増やします。

新規LVMディスクの追加

KVMホストにて /EXAVMIMAGES の空き領域を確認します。

[root@kvm01 ~]# df -h /EXAVMIMAGES
Filesystem                           Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbExaVMImages  1.5T  890G  611G  60% /EXAVMIMAGES

20GBの新しいディスクイメージを作成してゲストにアタッチします。

[root@kvm01 ~]# /opt/exadata_ovm/vm_maker --create --disk-image /EXAVMIMAGES/GuestImages/guest01/pv2_vgexadb.img --size 20G --attach --domain guest01
[ERROR] Image file pv2_vgexadb.img must be located in /EXAVMIMAGES

想定外のエラーが発生しました。/EXAVMIMAGES の下に格納しないと駄目なようです。

仕方がないため、EXAVMIMAGESの下に作成します。

[root@kvm01 ~]# /opt/exadata_ovm/vm_maker --create --disk-image /EXAVMIMAGES/pv2_vgexadb.img --size 20G
[INFO] Allocating an image for /EXAVMIMAGES/pv2_vgexadb.img, size 20.000000G...
[INFO] Running 'qemu-img create /EXAVMIMAGES/pv2_vgexadb.img 20.000000G '...
[INFO] Create label gpt on /EXAVMIMAGES/pv2_vgexadb.img.
[INFO]  Running 'parted -a none -s /EXAVMIMAGES/pv2_vgexadb.img mklabel gpt'...
[INFO] Running 'losetup -P -f /EXAVMIMAGES/pv2_vgexadb.img'...
[INFO] Finding loop device...
[INFO]   loop device is /dev/loop0
[INFO] Finding number of sectors...
[INFO]   41943040 sectors
[INFO] Releasing loop device /dev/loop0...
[INFO]   Removing device maps for /dev/loop0...
[INFO]    Running 'kpartx -d -v /dev/loop0'...
[INFO]  Removing loop device /dev/loop0...
[INFO] ##
[INFO] ## Finished .
[INFO] ##
[INFO] Created image /EXAVMIMAGES/pv2_vgexadb.img

作成したディスクイメージをアタッチします。

[root@kvm01 ~]# /opt/exadata_ovm/vm_maker --attach --disk-image /EXAVMIMAGES/pv2_vgexadb.img --domain guest01
[INFO] File /EXAVMIMAGES/GuestImages/guest01/pv2_vgexadb.img is a reflink from /EXAVMIMAGES/pv2_vgexadb.img and added as disk to domain guest01
[INFO] -------- MANUAL STEPS TO BE COMPLETED FOR MOUNTING THE DISK WITHIN DOMU guest01 --------
[INFO] 1. Check a disk with name /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk exists.
[INFO] -  Run the command 'lvdisplay' to verify a disk with name '/dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk'  exists.
[INFO] 2. Create a directory that will to be used for mounting the new disk.
[INFO] 3. Add the following line to /etc/fstab: /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk <mount_point_from_step_2> <fstype> defaults 1 1
[INFO] 4. Mount the newly added disk to mount point through the command: mount -a.

新規ディスクイメージがアタッチされたことを確認します。
下記の通り、pv2_vgexadb.img がアタッチされていることが確認できます。

[root@kvm01 ~]# /opt/exadata_ovm/vm_maker --list --disk-image --domain guest01
File /EXAVMIMAGES/GuestImages/guest01/System.img
File /EXAVMIMAGES/GuestImages/guest01/grid19.9.0.0.201020.img
File /EXAVMIMAGES/GuestImages/guest01/db19.9.0.0.201020_3.img
File /EXAVMIMAGES/GuestImages/guest01/pv1_vgexadb.img
File /EXAVMIMAGES/GuestImages/guest01/pv2_vgexadb.img

ゲスト側にて、新しく追加されたディスクを lvdisplay コマンドを使用して確認します。

[root@guest01 ~]# lvdisplay /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk
  --- Logical volume ---
  LV Path                /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk
  LV Name                LVDBDisk
  VG Name                VGExaDbDisk.pv2_vgexadb.img
  LV UUID                vHqfHY-ArJn-lsiP-duXJ-Vc0x-Sagh-ZbxG3J
  LV Write Access        read/write
  LV Creation host, time kvm01, 2023-06-13 13:25:41 +0900
  LV Status              available
  # open                 0
  LV Size                <20.00 GiB
  Current LE             5119
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:19

追加したディスク用に作成された論理ボリュームを削除し、空き領域を作ります。

[root@guest01 ~]# lvremove /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk
Do you really want to remove active logical volume VGExaDbDisk.pv2_vgexadb.img/LVDBDisk? [y/n]: y
  Logical volume "LVDBDisk" successfully removed

続いて、ボリューム・グループを削除します。

[root@guest01 ~]# vgremove VGExaDbDisk.pv2_vgexadb.img
  Volume group "VGExaDbDisk.pv2_vgexadb.img" successfully removed

pvdisplayコマンドを使用して、新しい物理ボリュームを確認します。

[root@guest01 ~]# pvdisplay
(省略)
 "/dev/sdv1" is a new physical volume of "<20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdv1
  VG Name
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               w3g5wH-wPcz-VAUY-auhn-WecG-Mliu-KMCW7w

ボリューム・グループを拡張します。

[root@guest01 ~]# vgextend VGExaDb /dev/sdv1
  Volume group "VGExaDb" successfully extended

拡張後の空き領域を確認します。下記の通り、20GBの空き領域が確認できます。

[root@guest01 ~]# vgdisplay -s
  "VGExaDb" <119.24 GiB [98.25 GiB used / <20.99 GiB free]
  "VGExaDbDisk.db-klone-Linux-x86-64-19000201020.50.img" <50.00 GiB [<50.00 GiB used / 0    free]
  "VGExaDbDisk.grid-klone-Linux-x86-64-19000201020.50.img" <50.00 GiB [<50.00 GiB used / 0    free]

論理ボリュームを、lvextend コマンドにて拡張します。

[root@guest01 ~]# lvextend -L +20G /dev/VGExaDb/LVDbOra1
  Size of logical volume VGExaDb/LVDbOra1 changed from 20.00 GiB (5120 extents) to 40.00 GiB (10240 extents).
  Logical volume VGExaDb/LVDbOra1 successfully resized.

xfs_growfsコマンドを使用して、パーティションのサイズを変更します。

[root@guest01 ~]# xfs_growfs /u01
meta-data=/dev/mapper/VGExaDb-LVDbOra1 isize=256    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 5242880 to 10485760

dfコマンドを使用して、領域が拡張されたことを確認します。
空きが、24Gになりました。

# df -h /u01
[root@guest01 ~]# df -h /u01
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbOra1   40G   17G   24G  41% /u01

参考資料

Oracle® Exadata Database Machineメンテナンス・ガイド

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0