ウェブサイト検索

Linux で LVM を使用してディスク ストレージを作成する方法 - パート 1


論理ボリューム管理 (LVM) は、ディスク領域の管理を大幅に簡素化する強力なツールです。 LVM を使用すると、ファイル システムに追加のスペースを割り当てるタスクが簡単になります。

ファイル システムがさらに多くのスペースを必要とするときは、対応するボリューム グループ内の利用可能な空きスペースから簡単に利用できます。その結果、特定のニーズに合わせてファイル システムのサイズを動的に変更できます。

さらに、LVM は、ディスク障害が発生した場合に堅牢なデータ保護を提供します。ディスクに障害の兆候が見られ始めた場合、交換用のディスクを新しい物理ボリュームとしてボリューム グループにシームレスに統合できます。

これにより、論理ボリュームを新しいディスクに効率的に移行でき、継続性が確保され、潜在的なデータ損失が防止されます。

基本的に、LVM により、管理者は比類のない柔軟性と回復力でディスク領域の割り当てと管理を処理できるようになります。動的なサイズ変更機能と組み込みの冗長機能により、あらゆるシステム構成においてストレージ使用率を最適化し、データの整合性を強化するために不可欠な資産となっています。

包括的なシリーズ「LVM (論理ボリューム管理) のセットアップの準備」を紹介します。パート 1 から 6 まで注意深く構成されており、次の重要なトピックを詳しく説明します。

LVM セットアップに進む前に、次の前提条件を考慮してください。

私のサーバーのセットアップ – 要件
  • OS – RHEL 9 (LVM インストールあり)
  • IP – 192.168.0.200
  • ディスク – それぞれ 20GB のディスク 3 枚。

Linux で LVM ディスク ストレージを確認する

1. LVM 設定について洞察を得るには、次のコマンドを使用して個別のコンポーネントを表示できます: 物理ボリューム (PV)ボリューム グループ (VG)論理ボリューム (LV) です。

pvs 
vgs
lvs

ここでは、上記のスクリーンショットに示されている各パラメーターの説明を示します。

  • 物理ディスクサイズ (PV サイズ)
  • 使用したディスクは仮想ディスクsdaです。
  • ボリュームグループサイズ (VG サイズ)
  • ボリューム グループ名 (vg_tecmint)
  • 論理ボリューム名 (LogVol00LogVol01)
  • LogVol00 956MB サイズのスワップに割り当てられています
  • LogVol01 は 18.63 GB に割り当てられています

したがって、ここから、VDA ディスクに十分な空き領域がないことがわかります。

LVM で新しいボリューム グループを作成する

2. 新しいボリューム グループを作成するには、このサーバーにさらに 3 台のハードディスクを追加する必要があります。ただし、3 つのドライブを使用することは必須ではありません。 1 つだけで、 そのVG 内に新しいVGLV (論理ボリューム) を作成できます。

ここでは、デモンストレーションの目的と、機能コマンドの説明をさらに提供するために、次の 3 つのディスクを追加しています。

sdb, sdc, sdd

3. すべてのディスクとそのパーティション (ディスク名、サイズ、パーティション タイプ、開始セクターと終了セクターなど) を一覧表示するには、次のように fdisk ユーティリティを使用します。

fdisk -l

ここでは、上のスクリーンショットに示されている各ディスクの説明を示します。

  • オペレーティング システムに使用されるデフォルトのディスクは RHEL 9 です。
  • デフォルトのディスク上に定義されているパーティションは次のとおりです: (sda1=boot)、(sda2=/)。
  • さらに、追加されたディスクは、Disk1、Disk2、および Disk3 として示されます。

各ディスクのサイズは 20 GB です。

4. 次に、vgdisplay コマンドを実行して、システム上に存在するすべてのボリューム グループに関する詳細情報 (名前、サイズ、空き領域、物理ボリューム (PV) など) を表示します。情報など。

vgdisplay

ここでは、上記のスクリーンショットに示されている各パラメーターの説明を示します。

  • VG 名 – ボリューム グループ名。
  • 形式 – LVM アーキテクチャは lvm2 を使用しました。
  • VG アクセスボリューム グループは読み取りおよび書き込みモードであり、使用する準備ができています。
  • VG ステータス – ボリューム グループのサイズを変更できます。さらにスペースを追加する必要がある場合は、拡張することができます。
  • Cur LV – 現在、このボリューム グループには 2 つの論理ボリュームがあります。
  • CurPV および Act PV – 現在使用されている物理ディスクは 1 (vda) で、アクティブです。したがって、このボリューム グループを使用できます。
  • PE サイズ – ディスクの物理エクステント (PE) とサイズは、PE または GB サイズのいずれかを使用して定義できます。 LVM のデフォルトの PE サイズは 4 MB です。たとえば、5 GB の論理ボリュームを作成する必要がある場合、合計 1280 PE を使用できます。私の言っていることが分かりますか?

説明は次のとおりです。1 GB は 1024 MB に等しいため、1024 MB x 5=5120 PE=5 GB となります。ここで、5120 を 4 で割ると=1280 になります。4 がデフォルトの PE サイズです。

  • 合計 PE – このボリューム グループにはあります。
  • PE の割り当て – 使用されている PE の合計、すでに使用されている完全な PE、5008 x 4PE=20032。
  • 無料の PE – ここではすでに使用されているため、無料の PE はありませんでした。

5. 次に、ファイル システムのディスク容量情報をリストします。ここでは sda のみが /boot/ とともに使用されます。 LVM を使用して sda 物理ディスク上でスワップします。このディスクには空き領域がありません。

df -TH

上の画像は使用しているマウントポイントを示していますが、 ルートに19GBがフルに使用されているため、空き領域がありません。

ディスクパーティションを作成する

6. そこで、tecmint_add_vg という名前の新しい物理ボリューム (PV) とボリューム グループ (VG) を作成し、その中に論理ボリューム (LV) を作成しましょう。ここでは、tecmint_documentstecmint_manager、および tecmint_public という名前の 4 つの論理ボリュームを作成できます。

現在使用しているVGボリューム グループを拡張して、より多くのスペースを確保できます。ただし、この場合は、 新しいボリューム グループを作成して実験してみます。後で、 現在使用しているボリューム グループのファイル システムを拡張する方法を確認します。

新しいディスクを使用する前に、次のようにfdisk コマンドを使用してディスクのパーティションを作成する必要があります。

fdisk -c /dev/sdb

次に、以下の手順に従って新しいパーティションを作成します。

  • 新規作成するには、n を選択します。
  • p を選択してプライマリ パーティションを作成します。
  • 作成する必要があるパーティションの数を選択します。
  • Enter を 2 回押して、ディスクの全領域を使用します。
  • 新しく作成したパーティションタイプ t のタイプを変更する必要があります。
  • どのパーティションの番号を変更する必要があるか、1 で作成した番号を選択します。
  • ここではタイプを変更する必要があります。LVM を作成する必要があるため、LVM のタイプ コードを 8e として使用します。タイプ コードがわからない場合は、L を押します。すべてのタイプのコードをリストします。
  • 確認のために作成したパーティションを印刷します。
  • ここでは ID が8e LINUX LVM であることがわかります。
  • 変更を書き込み、fdisk を終了します。

7. 他の 2 つのディスク sdcsdd に対して上記の手順を実行して、新しいパーティションを作成します。次にマシンを再起動し、fdisk コマンドを使用してパーティション テーブルを確認します。

fdisk -l

LVM物理ボリュームの作成

8. 次に、3 つのディスクすべてを使用して物理ボリュームを作成します。ここでは、「pvs」コマンドを使用して物理ディスクをリストしましたが、現在はデフォルトの PV が 1 つだけリストされています。

pvs

9. 次に、新しい物理ディスクを作成し、新しく作成された物理ディスクを確認します。

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs

LVMボリュームグループの作成

10. 利用可能な空き PV と 32 の PE サイズを使用して、tecmint_add_vg という名前のボリューム グループを作成します。現在のボリューム グループを見ると、1 PV が使用されているボリューム グループが 1 つあることがわかります。

vgs

11. これにより、32MB PE サイズと前の手順で作成した 3 つの物理ボリュームを使用して、tecmint_add_vg という名前のボリューム グループが作成されます。

vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1

12. 次に、vgs コマンドを再度実行して、ボリューム グループを確認します。

vgs

vgs コマンドの出力を理解する:

  • ボリュームグループ名。
  • このボリューム グループで使用される物理ボリューム。
  • このボリューム グループで利用可能な空き容量を表示します。
  • ボリュームグループの合計サイズ。
  • このボリューム グループ内の論理ボリューム。ここではまだ作成していないため、0 です。
  • SN=ボリューム グループに含まれるスナップショットの数。 (後でスナップショットを作成できます)。
  • ボリューム グループのステータス (書き込み可能、読み取り可能、サイズ変更可能、エクスポート済み、部分的、およびクラスター化)。ここでの wz–n- は、w=書き込み可能、z=サイズ変更可能を意味します。
  • このボリューム グループで使用される物理ボリューム (PV) の数。

13. ボリューム グループに関する詳細情報を表示するには、次のコマンドを使用します。

vgs -v

14. 新しく作成されたボリューム グループに関する詳細情報を取得するには、次のコマンドを実行します。

vgdisplay tecmint_add_vg

ここでは、上記のスクリーンショットに示されている各パラメーターの説明を示します。

  • ボリュームグループ名
  • LVM アーキテクチャが使用されます。
  • 読み書き可能な状態であり、すぐに使用できます。
  • このボリューム グループはサイズ変更可能です。
  • 物理ディスクは使用されておらず、アクティブです。
  • ボリュームグループの合計サイズ。
  • ここではシングルPEのサイズは32でした。
  • このボリューム グループで使用可能な PE の合計数。
  • 現在、この VG 内には LV が作成されていないため、完全に無料です。
  • このボリューム グループの UUID。

LVM 論理ボリュームの作成

15. 次に、tecmint_documentstecmint_manager、および tecmint_public という名前の 3 つの論理ボリュームを作成します。ここでは、PE サイズと GB サイズの両方を使用して論理ボリュームを作成する方法を説明します。

まず、次のコマンドを使用して現在の論理ボリュームを一覧表示します。

lvs

16. これらの論理ボリュームは、vg_tecmint ボリューム グループにあります。論理ボリュームの作成に使用できる空きスペースの量を確認するには、「vgs」コマンドを使用してボリューム グループと使用可能な物理ボリュームを一覧表示します。

vgs

ボリューム グループのサイズはほぼ 60 GB で、未使用であるため、その中に LV を作成できます。ボリューム グループを同じサイズに分割して 3 つの論理ボリュームを作成しましょう。つまり、60GB/3=20GB となります。各論理ボリュームの作成後のサイズは 20GB になります。

方法 1: PE サイズを使用して論理ボリュームを作成する

まず、物理エクステント (PE) サイズを使用して論理ボリュームを作成しましょう。このボリューム グループに割り当てられているデフォルトの PE サイズと、新しい論理ボリュームを作成するために使用可能な PE の合計を知る必要があります。

この情報を取得するには、次のコマンドを実行します。

vgdisplay tecmint_add_vg

  • この VG に割り当てられたデフォルトの PE は 32MB です。ここでは、単一の PE サイズは 32MB になります。
  • 利用可能な PE の合計は 1917 です。

bc コマンドを使用して少し計算してみてください。

bc
1917PE/3 = 639 PE. 
639 PE x 32MB = 20448 --> 20GB

CRTL+D を押して bc を終了します。

次に、639 PE を使用して 3 つの論理ボリュームを作成してみましょう。ここで、-l はサイズを拡張するために使用され、-n は論理ボリューム名を割り当てるために使用されます。

lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg

lvs コマンドを使用して、作成された論理ボリュームを一覧表示します。

lvs

方法 2: GB サイズを使用して論理ボリュームを作成する

GB サイズを使用して論理ボリュームを作成するときに、正確なサイズを取得できません。したがって、より良い方法は、extend を使用して作成することです。

lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg

lvs コマンドを使用して、作成された論理ボリュームを一覧表示します。

lvs

ここで、3 番目の LV の作成中に 20GB に切り上げることができないことがわかります。これはサイズの小さな変更が原因ですが、拡張サイズを使用して LV を作成する場合、この問題は無視されます。

ファイルシステムの作成

17. 論理ボリュームを使用するには、フォーマットする必要があります。ここでは、ext4 ファイル システムを使用してボリュームを作成し、それらを /mnt/ にマウントします。

mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

18. /mnt にディレクトリを作成し、ファイル システムで作成した論理ボリュームをマウントしましょう。

mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

19. を使用してマウント ポイントを一覧表示し、確認します。

 
df -h

論理ボリュームの永続的なマウント

20. これで一時的にマウントされました。永続的にマウントするには、fstab にエントリを追加する必要があります。そのためには、次を使用して mtab からマウント エントリを取得します。

cat /etc/mtab

21. mtab からコピーしたマウント エントリの内容を入力する際に、fstab エントリにわずかな変更を加える必要があります。rw をデフォルトに変更する必要があります。

vi /etc/fstab

fstab エントリは以下のサンプルのようになります。

/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

22. 最後に、再起動する前にコマンド mount -a を実行して fstab エントリを確認します。

mount -av

ここでは、物理ディスクから物理ボリューム、物理ボリュームからボリューム グループ、およびボリューム グループから論理ボリュームを使用して、論理ボリュームを備えたフレキシブル ストレージをセットアップする方法を説明しました。

今後の記事では、ボリューム グループと論理ボリュームの拡張、論理ボリュームの削減、スナップショットの作成、スナップショットからの復元の方法について説明します。それまでは、このような素晴らしい記事を TecMint で更新してください。