1 つの VG の下に 3 つのディスクと 3 つの PV (3 つのディスクに基づく) があり、VG に 1 つの LV を作成し、LV をフォルダー /bigdisk にマウントします。つまり、3 つのハードディスクを 1 つのフォルダ /bigdisk に結合します。/bigdisk にデータを書き込むと、データは 3 つのディスクに同時にストライピングされますか? つまり、raid0 のように、I/O パフォーマンスを向上させるために、3 台のディスクが同時に入力操作を処理しますか?
3 に答える
デフォルトでlvcreate
は、PV 間でストライピングしない線形 LV を作成します。PV を連結するだけです。--stripes
ただし、およびオプションを使用して LV を作成するときにストライピングを構成でき--stripesize
ます。のman
ページよりlvcreate
:
-i, --stripes Stripes
ストライプの数を示します。これは、論理ボリュームを分散させる物理ボリュームの数と同じです。
-I, --stripesize StripeSize
ストライプの粒度をキロバイト単位で指定します。LVM1 形式のメタデータの場合、StripeSize は 2^n (n = 2 ~ 9) でなければなりません。LVM2 形式のメタデータの場合、ストライプ サイズは 2 の累乗より大きくなる場合がありますが、物理エクステント サイズを超えてはなりません。
によって作成される VG のデフォルトの物理エクステント サイズvgcreate
は 4 MiB であるため、デフォルト設定では、ストライプ サイズは 4 KiB から 4 MiB の間で設定できます。
ストライピングは、カーネルのデバイス マッパーによって処理されます。を使用して、低レベルの構成を調べることができますdmsetup
。
パフォーマンスをテストしました: scp を使用して、大きなファイルを他のサーバーから lvm サーバーにコピーしました。そしてiostatを使用して監視しました。同時に動作していたディスクは 1 つだけでした。したがって、答えは、LVM はデータを削除せず、書き込み/読み取り操作はシリアルではなくパラレルであるということです。