ノート:

Oracle Linuxでのボリューム・グループの削減および再配置

イントロダクション

論理ボリューム管理では、未使用の物理ボリューム(PV)の削除およびボリューム・グループ(VG)全体の移動が可能です。PVを削除すると、VGの全体サイズが縮小されます。

このチュートリアルでは、Oracle Linux Volume Managerユーティリティーと連携して、物理ボリュームを削除してからボリュームグループを別のシステムに転送することによってボリュームグループを縮小します。

目的

前提条件

次の構成を持つ2つの Oracle Linux 8システム:

演習環境の設定

ノート: 無料ラボ環境を使用する場合、接続およびその他の使用手順については、Oracle Linux Labの基本を参照してください。

  1. まだ接続していない場合は、端末を開き、ssh経由でol-node01インスタンスに接続します。

    ssh oracle@<ip_address_of_instance>
    
  2. ブロック・ボリュームが存在することを確認します。

    sudo lsblk
    

    フリー・ラボ環境の出力には、ルート・ファイル・システムの/dev/sda、デモ・ボリューム・グループの/dev/sdbおよび使用可能なディスク/dev/sdcおよび/dev/sddが表示されます。

  3. 一貫性のあるデバイス名のマッピングを表示します。

    フリー・ラボ環境では、アタッチされたブロック・ボリュームに一貫性のあるデバイス名パスが使用されます。

    ll  /dev/oracleoci/oraclevd*
    

    出力例:

    [oracle@ol-node01 ~]$ ll /dev/oracleoci/oraclevd*
    lrwxrwxrwx. 1 root root 6 Jun  9 13:27 /dev/oracleoci/oraclevda -> ../sda
    lrwxrwxrwx. 1 root root 7 Jun  9 13:27 /dev/oracleoci/oraclevda1 -> ../sda1
    lrwxrwxrwx. 1 root root 7 Jun  9 13:27 /dev/oracleoci/oraclevda2 -> ../sda2
    lrwxrwxrwx. 1 root root 7 Jun  9 13:27 /dev/oracleoci/oraclevda3 -> ../sda3
    lrwxrwxrwx. 1 root root 6 Jun  9 13:27 /dev/oracleoci/oraclevdb -> ../sdd
    lrwxrwxrwx. 1 root root 6 Jun  9 13:45 /dev/oracleoci/oraclevdd -> ../sdc
    

    Oracle Cloud Infrastructureで定義された一貫性のある名前終了が、Linux OSで提供されるデバイス名と1対1では一致しないことに注意してください。これらのマッピングは、後でクラウド・コンソールでブロック・ボリュームをデタッチおよびアタッチする際に必要になります。

VGからPVを削除

アクティブな物理ボリュームをボリューム・グループから削除する前に、物理ボリューム上のデータおよび論理ボリュームを他の空きPVに移動します。

  1. 物理ボリュームで使用されるディスク領域を確認します。

    sudo pvs -o+pv_used
    

    出力例:

    [oracle@ol-node01 ~]$ sudo pvs -o+pv_used
      PV         VG        Fmt  Attr PSize  PFree  Used  
      /dev/sda3  ocivolume lvm2 a--  45.47g     0  45.47g
      /dev/sdb   labvolume lvm2 a--  49.98g 47.98g  2.00g
    

    この出力は、/dev/sdb PVが2gを使用していることを示しています。

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

    ボリューム・グループを拡張して、別の物理ボリュームを追加します。

    sudo vgextend labvolume /dev/sdc
    

    /dev/sbcを追加すると、元の/dev/sdb物理ボリュームからのデータおよび論理ボリュームの転送を受け入れる空き物理ボリュームが提供されます。

  3. /dev/sdc物理ボリュームの追加を確認します。

    sudo pvs
    

    出力例:

    [oracle@ol-node01 ~]$ sudo pvs
      PV         VG        Fmt  Attr PSize  PFree 
      /dev/sda3  ocivolume lvm2 a--  45.47g     0 
      /dev/sdb   labvolume lvm2 a--  49.98g 47.98g
      /dev/sdc   labvolume lvm2 a--  49.98g 49.98g
    
  4. 既存のデータと論理ボリュームを、新しく追加された空きPVに移動します。

    sudo pvmove /dev/sdb /dev/sdc
    

    pvmoveコマンドでは、ソースPV上の割り当てられた物理エクステント(PE)を他の1つ以上のPVに移動できます。宛先PVが指定されていない場合、転送ではボリューム・グループに対して通常の割当てルールが使用されます。タスクは中断なしでオンラインで完了し、コマンド行出力に進行状況が表示されます。

    詳細は、pvmove(8)マニュアルを参照してください。

  5. 移動が完了したことを確認します。

    sudo pvs -o+pv_used
    

    出力例:

    [oracle@ol-node01 ~]$ sudo pvs -o+pv_used
      PV         VG        Fmt  Attr PSize  PFree  Used  
      /dev/sda3  ocivolume lvm2 a--  45.47g     0  45.47g
      /dev/sdb   labvolume lvm2 a--  49.98g 49.98g     0 
      /dev/sdc   labvolume lvm2 a--  49.98g 47.98g  2.00g
    

    出力は、/dev/sdc PVが2gを使用し、/dev/sdbが使用されていないことを示しています。

  6. 元の物理ボリュームを解放します。

    sudo vgreduce labvolume /dev/sdb
    
  7. 元の物理ボリュームが完全に解放されていることを確認します。

    sudo pvs -o+pv_used
    

    出力例:

    [oracle@ol-node01 ~]$ sudo pvs -o+pv_used
      PV         VG        Fmt  Attr PSize  PFree  Used  
      /dev/sda3  ocivolume lvm2 a--  45.47g     0  45.47g
      /dev/sdb             lvm2 ---  50.00g 50.00g     0 
      /dev/sdc   labvolume lvm2 a--  49.98g 47.98g  2.00g
    

    ボリューム・グループ名labvolumeが物理ボリューム/dev/sdbに関連付けられなくなり、現在は/dev/sdcに関連付けられています。

  8. 元の物理ボリュームを削除します。

    sudo pvremove /dev/sdb
    

    物理ボリューム/dev/sdbは、別のボリューム・グループで自由に使用できるようになったか、システムから物理的に削除されます。

システム間でのPVの移動

LVMでは、ボリューム・グループ全体をシステム間で移動できます。この例では、/u01にマウントされた論理ボリュームを持つ labvolumeという名前のボリュームグループを ol-node01から ol-node02に移動します。

  1. ol-node01でファイルシステムをマウント解除します。

    sudo umount /u01
    
  2. ボリュームグループを非アクティブにします。

    ボリューム・グループを非アクティブとマークすることは、グループ内の論理ボリュームにアクセスできず、変更できないことを意味します。このボリュームグループの非アクティブ化により、カーネルが不明になります。

    sudo vgchange -an labvolume
    
  3. 削除するボリュームを準備します。

    sudo vgexport labvolume
    
  4. ブロック・ボリュームのデバイス・パスを確認します。

    次のステップでは、ボリューム・グループlabvolumeに関連付けられた物理ボリューム/dev/sdcをインスタンスol-node01から削除します。デタッチするクラウド・コンソール内の正しいブロック・デバイスを選択するには、PV /dev/sdcに関連付けられたブロック・デバイス・パス名oraclevd*を取得します。

    ll /dev/oracleoci/oraclevd* | grep sdc
    
  5. ol-node01サーバーからディスクを削除します。

    物理サーバーを使用して、システムをシャットダウンし、ディスクを取り外します。ただし、無料ラボ環境では、ボリュームをインスタンスからデタッチする必要があります。

    このタスクを完了するにはいくつかの方法がありますが、クラウド・コンソールを使用します。

    1. クラウド・コンソールにログインします。

    2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。

      ナビゲーション・メニュー

    3. リストのol-node01インスタンスをクリックします。

    4. ページの左下にある「リソース」で、「アタッチされたブロック・ボリューム」を選択します。

      「リソース」メニュー

    5. 物理ボリューム/dev/sdcに関連付けられたブロック・デバイス「名前」の横にある3つのドット・メニューを使用して、「デタッチ」を選択します。

      ボリュームのデタッチ

      重要: 選択するブロック・デバイスの名前は、前述の「ブロック・ボリューム・デバイス・パスの決定」ステップでレポートされたデバイス・パスと一致する名前です。表示されたスクリーンショットで選択した名前と一致しない場合があります。

    6. ポップアップウィンドウで「OK」ボタンを選択し、ボリュームがデタッチされるまで待ちます。

    7. ページ上部のブレッドクラムを使用して、「インスタンス」を選択します。

      「Breadcrumb」メニュー

    8. リストでol-node02インスタンスを選択します。

    9. 左下の「リソース」で、「アタッチされたブロック・ボリューム」を選択します。

    10. 「ブロック・ボリュームのアタッチ」ボタンをクリックします。

    11. ポップアップ・ウィンドウで、ol-node01から削除されたブロック・ボリュームをアタッチします。

      以前にボリュームol-node01インスタンスからデタッチしたブロック・デバイスを選択します。

      次に、「デバイス・パス」「oraclevdb」「添付タイプ」「準仮想化」「アクセス」「読取り/書込み」を選択します。

      ボリューム設定のアタッチ
      アタッチ・タイプ設定

    12. 「アタッチ」ボタンをクリックし、ボリュームがアタッチされるまで待ちます。

  6. 新しい端末を開き、ssh経由でol-node02インスタンスに接続します。

    ssh oracle@<ip_address_of_instance>
    
  7. 新しいブロック・ボリュームが存在することを確認してください。

    sudo lsblk
    

    フリー・ラボ環境の出力には、ルート・ファイル・システムの/dev/sdaとボリューム・グループの/dev/sdbが表示されます。

  8. アタッチされたボリュームをスキャンします。

    初期スキャンを実行して、アタッチされたLVM物理ボリュームを認識します。

    sudo pvscan
    

    出力例:

    [oracle@ol-node02 ~]$ sudo pvscan
      PV /dev/sdb     is in exported VG labvolume [49.98 GiB / 47.98 GiB free]
      PV /dev/sda3   VG ocivolume       lvm2 [45.47 GiB / 0    free]
      Total: 2 [<95.46 GiB] / in use: 2 [<95.46 GiB] / in no VG: 0 [0   ]
    

    スキャンは、PVデバイス /dev/sdbol-node01からのボリュームグループエクスポートが含まれていることを示しています。

  9. ボリュームグループをインポートします。

    sudo vgimport labvolume
    
  10. ボリューム・グループをアクティブ化します。

    sudo vgchange -ay labvolume
    
  11. ファイルシステムをマウントします。

    sudo mkdir /u01
    sudo mount /dev/labvolume/data /u01
    
  12. ファイル・システムの領域を確認します。

    df -h
    

    出力例:

    [oracle@ol-node02 ~]$ df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    ...
    /dev/mapper/labvolume-data  2.0G  6.0M  1.8G   1% /u01
    

詳細情報:

その他の学習リソース

他のラボをdocs.oracle.com/learnで探すか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品のドキュメントは、Oracle Help Centerを参照してください。