6.14.1 Exascaleストレージを使用したゲストのディスク領域の拡張

Exascaleストレージを使用してゲスト・イメージ・ファイルをホストするOracle Linux KVMゲストのディスク領域を拡張できます。

  1. ゲスト内で、拡張するストレージ・ボリュームに関する情報を識別して収集します。

    たとえば、次の出力は、ほぼ満杯のファイル・システムを示しています。

    [root@exa01adm01vm01 ~]# df -h
    Filesystem                                                                                     Size  Used Avail Use% Mounted on
    ...
    /dev/mapper/VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034-LVDBDisk  48G   47G  692M  98% /u01/app/23.0.0.0/grid
    ...

    lsblkコマンドを使用して、拡張するボリュームに関する詳細情報を収集できます。

    [root@exa01adm01vm01 ~]# lsblk
    NAME                                                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    ...
    sdd                                                       8:48   0   50G  0 disk
    `-sdd1                                                    8:49   0   50G  0 part
      `-VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034-LVDBDisk
                                                            252:0    0   48G  0 lvm  /u01/app/23.7.0.25/grid
    ...

    次の情報を書き留めます。この情報は、残りの手順で必要になります:

    • ディスク名(sdd)。

    • ディスク・パーティションの名前(sdd1)。

      パーティション番号(1)を書き留めます。これは、後でディスク・パーティションを拡張するpartedコマンドで使用します。

    • ファイル・システムのマウント・ポイント(/u01/app/23.0.0.0/grid)。

    • 論理ボリューム・マネージャ(LVM)名(VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034-LVDBDisk)。

      次の識別子に埋め込まれた情報を書き留めます:

      • ボリューム識別子は、ピリオド(.)とダッシュ(-)の間に埋め込まれます。この値(exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034)は、後でExascaleコマンドライン・インタフェース(ESCLI)のlsvolumeattachmentコマンドでボリュームを識別したり、vm_makerコマンドで対応するディスク・デバイスを識別するために使用できます。

      • ゲストOSボリューム・グループ名はダッシュ(-)の前に埋め込まれ、ゲストOS論理ボリューム名はダッシュの後に埋め込まれます。これらの値(VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034およびLVDBDisk)は、後でlvextendコマンドで使用される論理ボリューム・パスを構築するために使用します。

    ノート:

    この手順の残りの部分でのコマンド例では、このステップで示すサンプル値を使用します。これらの値は、コマンドの実行時に必要に応じて固有の値に置き換えます。

  2. Exascaleで、ボリュームを展開します。
    1. ストレージ管理者またはボリューム所有者として、Exascaleコマンドライン・インタフェース(ESCLI)に接続します。
    2. ゲストで確認されたボリューム識別子を使用して、関連付けられたExascaleボリュームIDを見つけます。

      次に例を示します:

      @>lsvolumeattachment --filter deviceName=exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034
      id                                       volume                                   deviceName                                                    attachTime
      att0007_65b439fd897d4c4384f73014d1565081 vol0006_f69be05a84be446eaa9628bc07d86034 exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034 2025-08-12T01:11:39-07:00
    3. Exascaleボリュームの現在の状態を確認します。

      次に例を示します:

      @>lsvolume vol0006_f69be05a84be446eaa9628bc07d86034 --attributes id,name,size,state
      id                                       name                        size state
      vol0006_f69be05a84be446eaa9628bc07d86034 exa01adm01vm01_gih01    50.0000G AVAILABLE
      
    4. Exascaleボリュームを展開します。

      たとえば、次のコマンドでは、ボリューム・サイズが500 GBに設定されます。

      @>chvolume vol0006_f69be05a84be446eaa9628bc07d86034 --attributes size=500G
      Volume altered.
  3. KVMホスト上のディスクのサイズを変更します

    KVMホストで、--resizeオプションを指定してvm_makerコマンドを実行します。ゲストで確認されたボリューム識別子を使用してディスク(--disk)を識別し、ゲスト名(--domain)を指定します。

    次に例を示します:

    [root@exa01adm01 ~]# vm_maker --resize --disk exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034 --domain exa01adm01vm01
    [INFO] Running 'virt-control blockresize exa01adm01vm01.example.com /dev/exc/exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034 536870912000B'...
    [INFO] Disk image /dev/exc/exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034 resized to 500G
    
  4. ゲスト内に戻り、ボリュームおよびファイル・システムを展開します。
    1. ゲスト・オペレーティング・システムでボリュームを展開します。

      以前に収集したデバイスの詳細で置き換えて、次のコマンド・シーケンスを使用します。

      1. デバイスでGUIDパーティション表(GPT)が使用されているかどうかを確認し、必要に応じて更新します。

        • 次のコマンドを実行して、デバイスでGPTが使用されているかどうかを確認します:

          [root@exa01adm01vm01 ~]# blkid -o value -s PTTYPE /dev/sdd1
          Gpt

          デバイスでGPTが使用されていないことがコマンド出力に示されている場合は、スキップして「関連するパーティションを拡張デバイス領域に拡張します」に進みます。

        • デバイスでGPTが使用されていることが前のコマンドの出力に示されている場合は、次のコマンドを実行してOSカーネルのパーティション・ビューを更新します:

          [root@exa01adm01vm01 ~]# printf "Fix\nYes\n" | parted ---pretend-input-tty /dev/sdd print
          Warning: Not all of the space available to /dev/sdd appears to be used, 
          you can fix the GPT to use all of the space
          ...
          
          [root@exa01adm01vm01 ~]# partprobe /dev/sdd
      2. 関連するパーティションを拡張デバイス領域に拡張します:

        ノート:

        手順の冒頭で特定した、正しいパーティション番号を使用するように注意してください。

        [root@exa01adm01vm01 ~]# parted -s /dev/sdd "resizepart 1 100%"
        
      3. 物理ボリュームのサイズを変更します:

        [root@exa01adm01vm01 ~]# pvresize /dev/sdd1
          Physical volume "/dev/sdd1" changed
          1 physical volume(s) resized or updated / 0 physical volume(s) not resized
        
      4. 論理ボリュームを拡張します:

        ノート:

        lvextendコマンドで使用される論理ボリューム・パスを構築するには、手順の冒頭で特定した、ゲストOSボリューム・グループ名および論理ボリューム名を使用します。

        論理ボリューム・パスの形式は、/dev/<volume_group_name>/<logical_volume_name>です

        [root@exa01adm01vm01 ~]# lvextend -l +100%FREE /dev/VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034/LVDBDisk
          Size of logical volume VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034/LVDBDisk changed from <50.00 GiB (12799 extents) to <500.00 GiB (127999 extents).
          Logical volume VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034/LVDBDisk successfully resized.
        
    2. ファイル・システムを拡張します。

      xfs_growfsコマンドを使用して、ファイル・システムのマウント・ポイントを指定します。

      [root@exa01adm01vm01 ~]# xfs_growfs /u01/app/23.0.0.0/grid
      meta-data=/dev/mapper/VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034-LVDBDisk isize=512
      ...
      data blocks changed from 12582672 to 131070976
  5. サイズ変更後のボリュームを検証します。

    次に例を示します:

    [root@exa01adm01vm01 ~]# df -h
    Filesystem                                                                                     Size  Used Avail Use% Mounted on
    ...
    /dev/mapper/VGExaDbDisk.exa01adm01vm01_gih01_vol0006_f69be05a84be446eaa9628bc07d86034-LVDBDisk 500G   47G  453G   9% /u01/app/23.0.0.0/grid
    ...