web-dev-qa-db-ja.com

LVM2とMDADMのパフォーマンス

私はかなり長い間、多くのボックスでMDADM + LVM2を使用してきました。 MDADMはRAID0アレイとRAID1アレイの両方に対応していましたが、LVM2はMDADM上の論理ボリュームに使用されていました。

最近、LVM2をMDADMなしで使用できることがわかりました(したがって、結果としてマイナス1層、オーバーヘッドが少なくなります)。ミラーリングとストリッピングの両方に使用できます。

ただし、ミラーリングされたアレイのLVM2での読み取りパフォーマンスはMDADM(RAID1)上のLVM2(線形)ほど高速ではないと主張する人もいます。LVM2は一度に2つ以上のデバイスから読み取るのではなく、最初のデバイス障害の場合。 MDADMは、一度に2つのデバイスから読み取ります(ミラーモードでも)。

誰がそれを確認できますか?

7
archer

LVMの作成者でさえLVMの​​RAID機能を使用していないことは間違いありません。 MDははるかに効率的で、成熟していて、完全です。そしてそれに専念するより多くの開発があります。

「より少ない層-より少ないオーバーヘッド」はしばしば真実ではありません。 CPUがディスクに到達するまでに少し時間がかかる場合でも、これは、ディスクに関連するMDの小さな改善によって完全に克服されます。

5
Javier

私はLVM2のミラーサポートをいじくり回しました、そして私は言うことができます:それは実際にはRAID1を置き換えることを意味していません。

LVM2ミラーリングの実際の用途は、ボリューム間でデータを転送することです。ドライブに障害が発生していて、ポイントA(危険にさらされている)からポイントB(安全)にデータを取得したいとします。 LVM2ミラー機能のポイントは、通常のI/Oを続行しながら、データを他の部分に自動的に複製することです。 「ミラー」が追いついたら、ミラーを壊して、新しい安全な場所にデータを再マウントします。

これを行う速度は恒星よりも劣ります。同様に、ストレートRAID1よりも50%遅くなります。実際、非常に遅いので、LVM2ミラーの一部である2つのドライブがアクティビティライトをストロボライトするのを見ることができます異なる時間に。しかし、物理的な場所間でデータをシフトする必要がある場合、それは透過的に仕事をします、そしてそれはLVMの本当のすべてです-ファイルシステムがアクティブである間のストレージ層の透過的な管理。 RAIDは、ハードウェア障害の単一ポイントによるデータ損失を回避することを目的としています。

「オーバーヘッド」の問題は実際にはありません。あなたが遭遇する唯一の本当の問題は回復であり、それはそれ自体への投稿です。吹き飛ばされたファイルシステムからのデータの回復は困難であり、3層ファイルシステム(RAID/LVM/Ext4)からのデータの回復はPITAです。したがって、ドライブが正常(SMART)、アレイが正常(mdadm)、ボリュームグループが正常(LVM2)、ファイルシステムが正常(fsck)であることを確認することが重要です。私はこれを一度経験したことがありますが、二度とやりたくありません。

5
Avery Payne