ストライピングI / Oを使用して複数の論理ボリューム管理ディスクを管理する


この記事では、論理ボリュームがI/Oをストライピングすることによってデータをディスクに書き込む方法を見ていきます。論理ボリューム管理には、I/Oをストライピングすることで複数のディスクにデータを書き込むことができる優れた機能の1つがあります。

LVMストライピングは、単一の物理ボリュームへの常時書き込みではなく、複数のディスクにデータを書き込む機能の1つです。

  1. It will increase the performance of disk.
  2. Saves from hard write over and over to a single disk.
  3. Disk fill-up can be reduced using striping over multiple disk.

論理ボリューム管理では、論理ボリュームを作成する必要がある場合、拡張はボリュームグループと物理ボリュームに完全にマップされます。このような状況で、PV(物理ボリューム)の1つがいっぱいになった場合、他の物理ボリュームからさらに拡張を追加する必要があります。代わりに、PVに拡張機能を追加すると、I/Oを書き込む特定の物理ボリュームを使用するように論理ボリュームを指定できます。

4つのディスクドライブがあり、4つの物理ボリュームを指していると仮定します。各物理ボリュームが100 I/Oに対応している場合、ボリュームグループは400 I/Oを取得します。

ストライプ方式を使用していない場合、ファイルシステムは基盤となる物理ボリューム全体に書き込みを行います。たとえば、物理ボリューム100 I/Oへの一部のデータ書き込みは、最初の(sdb1)PVにのみ書き込まれます。書き込み中にストライプオプションを使用して論理ボリュームを作成すると、100 I/Oを分割して4つのドライブごとに書き込みます。つまり、4つのドライブごとにそれぞれ25のI/Oを受け取ります。

これはラウンドロビンプロセスで行われます。論理ボリュームのいずれかを拡張する必要がある場合、この状況では1つまたは2つのPVを追加できません。論理ボリュームサイズを拡張するには、4つのpvをすべて追加する必要があります。これはストライプ機能の欠点の1つです。これから、論理ボリュームを作成するときに、すべての論理ボリュームに同じストライプサイズを割り当てる必要があることがわかります。

論理ボリューム管理にはこれらの機能があり、複数のpvに同時にデータをストライプ化できます。論理ボリュームに精通している場合は、論理ボリュームストライプのセットアップに進むことができます。そうでない場合は、論理ボリューム管理の基本について知る必要があります。論理ボリューム管理の詳細については、以下の記事をお読みください。

  1. Setup Flexible LVM Disk Storage in Linux – Part I
  2. How to Extend/Reduce LVM’s in Linux – Part II

ここでは、ワークアウトにCentos6.5を使用しています。同じ手順をRHEL、Oracle Linux、およびほとんどのディストリビューションで使用できます。

Operating System :	CentOS 6.5
IP Address :		192.168.0.222
Hostname : 		tecmint.storage.com

ストライピングI / Oを使用した論理ボリューム管理

デモンストレーションの目的で、4台のハードドライブを使用しました。各ドライブのサイズは1GBです。以下に示すように、「fdisk」コマンドを使用して4つのドライブを示します。

# fdisk -l | grep sd

次に、「fdisk」コマンドを使用して、これら4つのハードドライブsdb、sdc、sdd、およびsdeのパーティションを作成する必要があります。パーティションを作成するには、この記事のパート1(上記のリンク)に記載されている手順4の手順に従い、パーティションの作成中にタイプをLVM(8e)に変更してください。

パーティションを正常に作成したら、次に進み、これら4つのドライブすべてを使用して物理ボリュームを作成します。 PVを作成するには、次の「pvcreate」コマンドを図のように使用します。

# pvcreate /dev/sd[b-e]1 -v

PVが作成されたら、「pvs」コマンドを使用してそれらを一覧表示できます。

# pvs

次に、これら4つの物理ボリュームを使用してボリュームグループを定義する必要があります。ここでは、ボリュームグループを vg_strip という名前の16MBの物理拡張サイズ(PE)で定義しています。

# vgcreate -s 16M vg_strip /dev/sd[b-e]1 -v

コマンドで使用される上記のオプションの説明。

  1. [b-e]1 – Define your hard drive names such as sdb1, sdc1, sdd1, sde1.
  2. -s – Define your physical extent size.
  3. -v – verbose.

次に、を使用して、新しく作成されたボリュームグループを確認します。

# vgs vg_strip

VGの詳細情報を取得するには、vgdisplayコマンドでスイッチ「-v」を使用します。これにより、すべて vg_strip ボリュームグループで使用されるすべての物理ボリュームが得られます。

# vgdisplay vg_strip -v

トピックに戻ると、論理ボリュームを作成するときに、ストライプ値、つまりストライプ方式を使用してデータを論理ボリュームに書き込む方法を定義する必要があります。

ここでは、900MBサイズの lv_tecmint_strp1 という名前の論理ボリュームを作成しています。これは、 vg_strip ボリュームグループに含まれている必要があり、4ストライプとして定義しています。これは、データが論理ボリュームに書き込まれることを意味し、4つのPVにストライプ化する必要があります。

# lvcreate -L 900M -n lv_tecmint_strp1 -i4 vg_strip
  1. -L –logical volume size
  2. -n –logical volume name
  3. -i –stripes

上の画像では、ストライプサイズのデフォルトサイズが64 KBであることがわかります。独自のストライプ値を定義する必要がある場合は、-I(資本I)を使用できます。論理ボリュームが作成されたことを確認するには、次のコマンドを使用します。

# lvdisplay vg_strip/lv_tecmint_strp1

次の質問は、ストライプが4つのドライブに書き込んでいることをどうやって知るのかということです。ここでは、「lvdisplay」および-m(論理ボリュームのマッピングを表示する)コマンドを使用して確認できます。

# lvdisplay vg_strip/lv_tecmint_strp1 -m

定義済みのストライプサイズを作成するには、独自に定義した256KBのストライプサイズを使用して、1GBサイズの論理ボリュームを1つ作成する必要があります。次に、3つのPVのみをストライプ化します。ここで、ストライプ化するpvを定義できます。

# lvcreate -L 1G -i3 -I 256 -n lv_tecmint_strp2 vg_strip /dev/sdb1 /dev/sdc1 /dev/sdd1

次に、ストライプサイズとどのボリュームでストライプするかを確認します。

# lvdisplay vg_strip/lv_tecmint_strp2 -m

デバイスマッパーを使用するときが来ました。このために、コマンド「dmsetup」を使用します。これは、デバイスマッパードライバーを使用する論理デバイスを管理する低レベルの論理ボリューム管理ツールです。 dmsetupコマンドを使用してlvm情報を確認し、どのストライプがどのドライブに依存しているかを知ることができます。

# dmsetup deps /dev/vg_strip/lv_tecmint_strp[1-2]

ここでは、strp1が4つのドライブに依存し、strp2が3つのデバイスに依存していることがわかります。

論理ボリュームをストライプ化してデータを書き込む方法を学習したことを願っています。このセットアップでは、論理ボリューム管理の基本について知っておく必要があります。次の記事では、論理ボリューム管理で移行する方法を紹介します。それまでは、更新にご期待ください。記事について貴重なコメントを投稿することを忘れないでください。

全著作権所有。 © Linux-Console.net • 2019-2022