ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で提供されています。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Linuxでのボリューム・グループの削減および再配置
イントロダクション
論理ボリューム管理では、未使用の物理ボリューム(PV)の削除およびボリューム・グループ(VG)全体の移動が可能です。PVを削除すると、VGの全体サイズが縮小されます。
このチュートリアルでは、Oracle Linux Volume Managerユーティリティーと連携して、物理ボリュームを削除してからボリュームグループを別のシステムに転送することによってボリュームグループを縮小します。
目的
- 論理ボリュームの移動
- ボリューム・グループの縮小
- ボリュームグループを別のシステムに転送する
前提条件
次の構成を持つ2つの Oracle Linux 8システム:
- sudo権限を持つroot以外のユーザー
- LVMで使用する追加のブロック・ボリューム
演習環境の設定
ノート: 無料ラボ環境を使用する場合、接続およびその他の使用手順については、Oracle Linux Labの基本を参照してください。
-
まだ接続していない場合は、端末を開き、ssh経由でol-node01インスタンスに接続します。
ssh oracle@<ip_address_of_instance>
-
ブロック・ボリュームが存在することを確認します。
sudo lsblk
フリー・ラボ環境の出力には、ルート・ファイル・システムの
/dev/sda
、デモ・ボリューム・グループの/dev/sdb
および使用可能なディスク/dev/sdc
および/dev/sdd
が表示されます。 -
一貫性のあるデバイス名のマッピングを表示します。
フリー・ラボ環境では、アタッチされたブロック・ボリュームに一貫性のあるデバイス名パスが使用されます。
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に移動します。
-
物理ボリュームで使用されるディスク領域を確認します。
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を使用していることを示しています。 -
ボリューム・グループを拡張します。
ボリューム・グループを拡張して、別の物理ボリュームを追加します。
sudo vgextend labvolume /dev/sdc
/dev/sbc
を追加すると、元の/dev/sdb
物理ボリュームからのデータおよび論理ボリュームの転送を受け入れる空き物理ボリュームが提供されます。 -
/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
-
既存のデータと論理ボリュームを、新しく追加された空きPVに移動します。
sudo pvmove /dev/sdb /dev/sdc
pvmove
コマンドでは、ソースPV上の割り当てられた物理エクステント(PE)を他の1つ以上のPVに移動できます。宛先PVが指定されていない場合、転送ではボリューム・グループに対して通常の割当てルールが使用されます。タスクは中断なしでオンラインで完了し、コマンド行出力に進行状況が表示されます。詳細は、
pvmove(8)
マニュアルを参照してください。 -
移動が完了したことを確認します。
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
が使用されていないことを示しています。 -
元の物理ボリュームを解放します。
sudo vgreduce labvolume /dev/sdb
-
元の物理ボリュームが完全に解放されていることを確認します。
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
に関連付けられています。 -
元の物理ボリュームを削除します。
sudo pvremove /dev/sdb
物理ボリューム
/dev/sdb
は、別のボリューム・グループで自由に使用できるようになったか、システムから物理的に削除されます。
システム間でのPVの移動
LVMでは、ボリューム・グループ全体をシステム間で移動できます。この例では、/u01
にマウントされた論理ボリュームを持つ labvolume
という名前のボリュームグループを ol-node01から ol-node02に移動します。
-
ol-node01でファイルシステムをマウント解除します。
sudo umount /u01
-
ボリュームグループを非アクティブにします。
ボリューム・グループを非アクティブとマークすることは、グループ内の論理ボリュームにアクセスできず、変更できないことを意味します。このボリュームグループの非アクティブ化により、カーネルが不明になります。
sudo vgchange -an labvolume
-
削除するボリュームを準備します。
sudo vgexport labvolume
-
次のステップでは、ボリューム・グループ
labvolume
に関連付けられた物理ボリューム/dev/sdc
をインスタンスol-node01から削除します。デタッチするクラウド・コンソール内の正しいブロック・デバイスを選択するには、PV/dev/sdc
に関連付けられたブロック・デバイス・パス名oraclevd*
を取得します。ll /dev/oracleoci/oraclevd* | grep sdc
-
ol-node01サーバーからディスクを削除します。
物理サーバーを使用して、システムをシャットダウンし、ディスクを取り外します。ただし、無料ラボ環境では、ボリュームをインスタンスからデタッチする必要があります。
このタスクを完了するにはいくつかの方法がありますが、クラウド・コンソールを使用します。
-
クラウド・コンソールにログインします。
-
ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
-
リストのol-node01インスタンスをクリックします。
-
ページの左下にある「リソース」で、「アタッチされたブロック・ボリューム」を選択します。
-
物理ボリューム
/dev/sdc
に関連付けられたブロック・デバイス「名前」の横にある3つのドット・メニューを使用して、「デタッチ」を選択します。重要: 選択するブロック・デバイスの名前は、前述の「ブロック・ボリューム・デバイス・パスの決定」ステップでレポートされたデバイス・パスと一致する名前です。表示されたスクリーンショットで選択した名前と一致しない場合があります。
-
ポップアップウィンドウで「OK」ボタンを選択し、ボリュームがデタッチされるまで待ちます。
-
ページ上部のブレッドクラムを使用して、「インスタンス」を選択します。
-
リストでol-node02インスタンスを選択します。
-
左下の「リソース」で、「アタッチされたブロック・ボリューム」を選択します。
-
「ブロック・ボリュームのアタッチ」ボタンをクリックします。
-
ポップアップ・ウィンドウで、ol-node01から削除されたブロック・ボリュームをアタッチします。
以前にボリュームのol-node01インスタンスからデタッチしたブロック・デバイス名を選択します。
次に、「デバイス・パス」に「oraclevdb」、「添付タイプ」に「準仮想化」、「アクセス」に「読取り/書込み」を選択します。
-
「アタッチ」ボタンをクリックし、ボリュームがアタッチされるまで待ちます。
-
-
新しい端末を開き、ssh経由でol-node02インスタンスに接続します。
ssh oracle@<ip_address_of_instance>
-
新しいブロック・ボリュームが存在することを確認してください。
sudo lsblk
フリー・ラボ環境の出力には、ルート・ファイル・システムの
/dev/sda
とボリューム・グループの/dev/sdb
が表示されます。 -
アタッチされたボリュームをスキャンします。
初期スキャンを実行して、アタッチされた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/sdb
に ol-node01からのボリュームグループエクスポートが含まれていることを示しています。 -
ボリュームグループをインポートします。
sudo vgimport labvolume
-
ボリューム・グループをアクティブ化します。
sudo vgchange -ay labvolume
-
ファイルシステムをマウントします。
sudo mkdir /u01 sudo mount /dev/labvolume/data /u01
-
ファイル・システムの領域を確認します。
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を参照してください。
Reduce and Relocate Volume Groups on Oracle Linux
F58677-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.