- メンテナンス・ガイド
- Oracle Linux KVMゲストの管理
- ゲストのディスク領域の増加
- Oracle Grid InfrastructureホームまたはDatabaseホーム・ファイル・システムのサイズの増加
6.14.4 Oracle Grid InfrastructureホームまたはDatabaseホーム・ファイル・システムのサイズの増加
Oracle Linux KVMゲストのOracle Grid InfrastructureまたはOracle Databaseホームのファイル・システムのサイズを増やすことができます。
Oracle Grid Infrastructureソフトウェア・ホームおよびOracle Databaseソフトウェア・ホームのために、それぞれのディスク・イメージ・ファイルがKVMホストに作成されます。ディスク・イメージ・ファイルの場所は、/EXAVMIMAGES/GuestImages/DomainName/
ディレクトリです。ディスク・イメージ・ファイルは、仮想マシンの起動時に自動的にゲストにアタッチされ、LVMではない別個のファイル・システムとしてゲストにマウントされます。
このタスクでは、追加のディスク領域を使用できることを想定しています。
- ゲストに接続し、ファイル・システム・サイズを確認するには、
df
コマンドを使用します。次に例を示します:# df -h Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/VGExaDbDisk.grid--klone--Linux--x86--64--190000.50.img-LVDBDisk 50G 5.9G 45G 12% /u01/app/19.0.0.0/grid /dev/mapper/VGExaDbDisk.db--klone--Linux--x86--64--190000.50.img-LVDBDisk 50G 6.5G 44G 13% /u01/app/oracle/product/19.0.0.0/DbHome_3 ...
- KVMホストに接続して、ゲストをシャットダウンします。この例では、ゲスト名は
dm01db01vm01.example.com
です。# /opt/exadata_ovm/vm_maker --stop-domain dm01db01vm01.example.com
- KVMホストに接続したまま、サイズを増やすディスク・イメージのバックアップとして使用するreflinkコピーを作成します。
ディスク・イメージは、
/EXAVMIMAGES/GuestImages/GuestName
にあります。イメージ・ファイル名には、Oracle Grid Infrastructureイメージの場合はgrid
、Oracle Databaseイメージの場合はdb
が含まれます。次に例を示します:# cd /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com # cp --reflink db19.6.0.0.200114-3.img pre_resize.db19.0.0.img
- KVMホストで、新しいディスク・イメージを作成してゲストにアタッチします。
たとえば、次のコマンドでは、ゲスト
dm01db01vm01.example.com
にディスク・イメージdb03.img
が追加されます。# /opt/exadata_ovm/vm_maker --create --disk-image /EXAVMIMAGES/db03.img --attach --domain dm01db01vm01.example.com [INFO] Allocating an image for /EXAVMIMAGES/db03.img, size 50.000000G... [INFO] Running 'qemu-img create /EXAVMIMAGES/db03.img 50.000000G '... [INFO] Create label gpt on /EXAVMIMAGES/db03.img. [INFO] Running 'parted -a none -s /EXAVMIMAGES/db03.img mklabel gpt'... [INFO] Running 'losetup -P -f /EXAVMIMAGES/rk02.img'... [INFO] Finding loop device... [INFO] loop device is /dev/loop0 [INFO] Finding number of sectors... [INFO] 104857600 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/db03.img [INFO] File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/db03.img is a reflink from /EXAVMIMAGES/db03.img and added as disk to domain dm01db01vm01.example.com [INFO] -------- MANUAL STEPS TO BE COMPLETED FOR MOUNTING THE DISK WITHIN DOMU dm01db01vm01 .example.com -------- [INFO] 1. Check a disk with name /dev/VGExaDbDisk.db03.img/LVDBDisk exists. [INFO] - Run the command 'lvdisplay' to verify a disk with name '/dev/VGExaDbDisk.db03.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.db03.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.
出力に記載された手動のステップは実行しないでください。ただし、手動のステップ番号1で示される論理ボリューム・パスをノートにとります。
一般的に、論理ボリューム・パスの形式は
/dev/VolumeGroupName/LogicalVolumeName
です。この例では、論理ボリューム・パスは
/dev/VGExaDbDisk.db03.img/LVDBDisk
です。 - ゲストを再起動します。次に例を示します:
# /opt/exadata_ovm/vm_maker --start-domain dm01db01vm01.example.com --console
- ゲストで、新しく追加されたディスク・デバイスを確認します。
前述の論理ボリューム・パスとともに
lvdisplay
コマンドを使用します。# lvdisplay /dev/VGExaDbDisk.db03.img/LVDBDisk LV Path /dev/VGExaDbDisk.db03.img/LVDBDisk LV Name LVDBDisk VG Name VGExaDbDisk.db03.img LV UUID u3RBKF-UmCK-JQxc-iFf5-6WqS-GWAw-3nLjdn LV Write Access read/write LV Creation host, time dm01db01vm01.example.com, 2019-10-28 04:11:28 -0700 LV Status available # open 0 LV Size <50.00 GiB Current LE 12799 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:14
- ゲストで、追加したディスク用に作成された論理ボリュームおよびボリューム・グループを削除します。新たに作成したディスクを使用して既存のボリューム・グループを拡張するには、このステップを実行する必要があります。
- 論理ボリュームを削除します。
この例では、論理ボリューム・パスは
/dev/VGExaDbDisk.db03.img/LVDBDisk
です。# lvremove /dev/VGExaDbDisk.db03.img/LVDBDisk Do you really want to remove active logical volume VGExaDbDisk.db03.img/LVDBDisk? [y/n]: y Logical volume "LVDBDisk" successfully removed
- 論理ボリュームに付属するボリューム・グループを削除します。
この例では、ボリューム・グループ名は
VGExaDbDisk.db03.img
です。# vgremove VGExaDbDisk.db03.img Volume group "VGExaDbDisk.db03.img" successfully removed
この時点で残っているのは、論理ボリュームもボリューム・グループもない物理ボリュームのみです。 - 論理ボリュームを削除します。
- ゲストで、新しく追加されたディスクの物理ボリューム・デバイスを特定します。
物理ボリュームは、
pvdisplay
出力で、それ自体をNEW Physical volume
として識別します。次に例を示します:# pvdisplay ... "/dev/sdf4" is a new physical volume of "<50.00 GiB" --- NEW Physical volume --- PV Name /dev/sdf4 VG Name PV Size <50.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID tfb8lM-eHe9-SPch-8UAu-pkHe-dAYx-ru3Sez ...
- ゲストで、拡張するファイル・システムのボリューム・グループを特定します。
vgdisplay
コマンドを使用します。ボリューム・グループ名には、Oracle Grid Infrastructureの場合はgrid
、Oracle Databaseの場合はdb
が含まれます。次に例を示します:# vgdisplay -s ... "VGExaDbDisk.grid-klone-Linux-x86-64-190000.50.img" <50.00 GiB [<50.00 GiB used / 0 free] "VGExaDbDisk.db-klone-Linux-x86-64-190000.50.img" <50.00 GiB [<50.00 GiB used / 0 free] ...
- ゲストで、ボリューム・グループを拡張して、ボリューム・グループ内の追加領域を確認します。
vgextend
コマンドを使用して、以前に特定したボリューム・グループ名および物理ボリューム・デバイスを指定します。次に例を示します:# vgextend VGExaDbDisk.db-klone-Linux-x86-64-190000.50.img /dev/sdf4 Volume group "VGExaDbDisk.db-klone-Linux-x86-64-190000.50.img" successfully extended
vgdisplay
コマンドは、現在ボリューム・グループに空き領域が存在することを確認する場合に使用します。次に例を示します:# vgdisplay -s ... "VGExaDbDisk.grid-klone-Linux-x86-64-190000.50.img" <50.00 GiB [<50.00 GiB used / 0 free] "VGExaDbDisk.db-klone-Linux-x86-64-190000.50.img" <101.24 GiB [<50.00 GiB used / <51.24 GiB free] ...
- ゲストで、次の
lvextend
コマンドを使用して、論理ボリュームのサイズを変更します。# lvextend -L +sizeG LogicalVolumePath
次の例では、拡大する論理ボリュームは10GBです。
# lvextend -L +10G /dev/VGExaDbDisk.db-klone-Linux-x86-64-190000.50.img/LVDBDisk
- ゲストで、
xfs_growfs
コマンドを使用してファイル・システム・パーティションのサイズを変更します。# xfs_growfs /u01/app/oracle/product/19.0.0.0/DbHome_3
- ゲストで、ファイル・システムのサイズが増加したことを確認します。次に例を示します:
# df -h Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/VGExaDbDisk.db--klone--Linux--x86--64--190000.50.img-LVDBDisk 60G 6.5G 53G 10% /u01/app/oracle/product/19.0.0.0/DbHome_3 ...
- KVMホストに接続して、バックアップ・イメージを削除します。
次のようなコマンドを使用します。
pre_resize.db19.0.0.img
は、ステップ3で作成したバックアップ・イメージ・ファイルの名前です。# cd /EXAVMIMAGES/GuestImages/DomainName # rm pre_resize.db19.0.0.img
親トピック: ゲストのディスク領域の増加