ウェブサイト検索

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


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

LVMストライピングとは何ですか?

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

ストライピングの特徴
  1. ディスクのパフォーマンスが向上します。
  2. ハードライトから単一のディスクに何度も保存します。
  3. ディスクの満杯は、複数のディスクにわたるストライピングを使用して減らすことができます。

論理ボリューム管理では、論理ボリュームを作成する必要がある場合、拡張ボリュームはボリューム グループと物理ボリュームに完全にマップされます。このような状況では、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. Linux でのフレキシブル LVM ディスク ストレージのセットアップ – パート I
  2. Linux で LVM を拡張/縮小する方法 – パート II
私のサーバーのセットアップ

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

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

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

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

fdisk -l | grep sd

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

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

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

PV が作成されたら、「pvs」 コマンドを使用してリストすることができます。

pvs

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

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

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

  1. [b-e]1 – sdb1、sdc1、sdd1、sde1 などのハード ドライブ名を定義します。
  2. -s – 物理エクステントのサイズを定義します。
  3. -v – 冗長。

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

vgs vg_strip

VG に関する詳細情報を取得するには、vgdisplay コマンドでスイッチ '-v' を使用します。これにより、vg_strip ボリュームグループ。

vgdisplay vg_strip -v

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

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

lvcreate -L 900M -n lv_tecmint_strp1 -i4 vg_strip
  1. -L – 論理ボリュームのサイズ
  2. -n – 論理ボリューム名
  3. -i – ストライプ

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

lvdisplay vg_strip/lv_tecmint_strp1

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

lvdisplay vg_strip/lv_tecmint_strp1 -m

定義したストライプ サイズを作成するには、256 KB の独自に定義したストライプ サイズを使用して、1 GB サイズの論理ボリュームを 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 つのデバイスに依存していることがわかります。

論理ボリュームをストライプしてデータを書き込む方法を理解していただけたでしょうか。この設定を行うには、論理ボリューム管理の基本について知っておく必要があります。次回の記事では、論理ボリューム管理での移行方法を説明します。それまでは最新情報をお待ちいただき、この記事に関する貴重なコメントをお寄せいただくことを忘れないでください。