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ではない別個のファイル・システムとしてゲストにマウントされます。

このタスクでは、追加のディスク領域を使用できることを想定しています。

  1. ゲストに接続し、ファイル・システム・サイズを確認するには、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
    ...
  2. KVMホストに接続して、ゲストをシャットダウンします。
    この例では、ゲスト名はdm01db01vm01.example.comです。
    # /opt/exadata_ovm/vm_maker --stop-domain dm01db01vm01.example.com
    
  3. 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です。

  4. ゲストを再起動します。
    次に例を示します:
    # /opt/exadata_ovm/vm_maker --start-domain dm01db01vm01.example.com --console
  5. ゲストで、新しく追加されたディスク・デバイスを確認します。

    前述の論理ボリューム・パスとともに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
  6. ゲストで、追加したディスク用に作成された論理ボリュームおよびボリューム・グループを削除します。
    新たに作成したディスクを使用して既存のボリューム・グループを拡張するには、このステップを実行する必要があります。
    1. 論理ボリュームを削除します。

      この例では、論理ボリューム・パスは/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
    2. 論理ボリュームに付属するボリューム・グループを削除します。

      この例では、ボリューム・グループ名はVGExaDbDisk.db03.imgです。

      # vgremove VGExaDbDisk.db03.img
        Volume group "VGExaDbDisk.db03.img" successfully removed
    この時点で残っているのは、論理ボリュームもボリューム・グループもない物理ボリュームのみです。
  7. ゲストで、新しく追加されたディスクの物理ボリューム・デバイスを特定します。

    物理ボリュームは、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
    ...
  8. ゲストで、拡張するファイル・システムのボリューム・グループを特定します。
    vgdisplayコマンドを使用します。ボリューム・グループ名には、Oracle Grid Infrastructureの場合はgridOracle 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]
    ...
  9. ゲストで、ボリューム・グループを拡張して、ボリューム・グループ内の追加領域を確認します。
    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]
    ...
  10. ゲストで、次のlvextendコマンドを使用して、論理ボリュームのサイズを変更します。
    # lvextend -L +sizeG LogicalVolumePath

    次の例では、拡大する論理ボリュームは10GBです。

    # lvextend -L +10G /dev/VGExaDbDisk.db-klone-Linux-x86-64-190000.50.img/LVDBDisk
  11. ゲストで、xfs_growfsコマンドを使用してファイル・システム・パーティションのサイズを変更します。
    # xfs_growfs /u01/app/oracle/product/19.0.0.0/DbHome_3
  12. ゲストで、ファイル・システムのサイズが増加したことを確認します。次に例を示します:
    # 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
    ...
  13. KVMホストに接続して、バックアップ・イメージを削除します。

    次のようなコマンドを使用します。pre_resize.db19.0.0.imgは、ステップ3で作成したバックアップ・イメージ・ファイルの名前です。

    # cd /EXAVMIMAGES/GuestImages/DomainName
    # rm pre_resize.db19.0.0.img