Linux LVMミラーとMDミラー


11

何年も前にLVMでミラーを作成したことを覚えていると思いますが、この「ログ」のことは覚えていません。または、mdadmでミラーを作成し、LVMを上に置いたかもしれません。それである必要があります。

  1. 単なるミラーの場合のLVMログとは何ですか?そこには何が保存されていますか?目的は何ですか?「--mirrorlog core」の使用は悪いですか?マイナス面は何ですか?必要がなければ、ログ用に別のパーティションを用意する必要はありません。

  2. いずれかのテクノロジーの使用に関する推奨事項はありますか?mdadmでミラーを作成しても、その上でLVMを使用します。したがって、その場合、セットアップ全体をLVMで構築した方が良いかもしれません...?それには、パフォーマンスのヒットが少なくなるでしょうか、それとも少なくなりますか?

ディスクは、Xen domU「ディスク」を保存するためのものです。

複雑で重要でない「質問」でごめんなさい。

アイデアや提案、リンクは大歓迎です。ありがとう!


mdは、lvmと比較して、ミラー操作のパフォーマンスが向上しているようです。参照してくださいserverfault.com/questions/80134/linux-md-vs-lvm-performance
Zoredache

1
LVMミラーリングは、別の目的のためのものでした。MDのように「ミラーリング」するために使用できますが、実際にはボリュームのクローン作成に使用されます。参照してくださいserverfault.com/questions/97845/lvm-mirroring-vs-raid1
エイブリー・ペイン

1
クローンを作成する場合、なぜ3つのボリュームが必要なのですか?
d -_- b

関連の質問を参照してくださいunix.stackexchange.com/questions/150644/...
Faheem Mitha

回答:


9

個人的には常にMD + LVMに行きます。より高速で(MDはRAID1で並列読み取りを実行できます)、必要なディスクは2つだけです(再起動のたびにミラーを再構築したくない場合)。MDはRAIDを実行するためだけに設計されており、非常にうまく機能します。また、より柔軟です。

また、私はLVMに焼かれました。1つのケースでは、HP-UXでのLVMストライピング(LinuxでLVM2を使用してはならない)で、拡張にはまったく同じ数のストライプが必要だったため、LVを拡張できませんでした。理にかなっているようですが、時には...

別の時間はミラーリングでした(今回はLinuxのLVM2)が、LVMがミラーリングされたLVのスナップショットの取得を拒否したか、それを拡張したかを思い出せません。最終的には、lvconvertを前後に使用する必要があります)。


ありがとう!MDの上にLVMを使用すると思います。MDの自動検出に問題があるかのように見えます。(raid.wiki.kernel.org/index.php/RAID_Boot)システム全体(swap、boot、/、var、home、usr)をミラーリングしたかったのです。そのため、自動検出以外のものを調べる必要があります。
D -_- B

はい、自動検出は原則として素晴らしいアイデアですが、あらゆる種類の頭痛の種になります。iSCSI + multipath + MD + LVMをセットアップしています...自動検出は...興味深いですが、この場合は役に立ちません。
ダンアンドレッタ

4

ミラーリングされたペアが突然シャットダウンされると、どのシステムでも、あるデバイスには書き込まれているがまだ他のデバイスには書き込まれていないブロックが存在する場合があります。IOパスを並べ替えると、Aに書き込まれたがBに書き込まれていないブロックと、Bに書き込まれているがまだAに書き込まれていないブロックが存在する可能性があります。

マシンが再起動したら、デバイスの一貫性を保つ必要があります。2つのデバイスだけで十分ではありません。どのブロックに一貫性がないかはわかりませんし、どちらのバージョンがより新しいかはわかりません。

そのため、ミラーソフトウェアは、これを追跡するために少しのメタデータを保存する必要があります。これは「書き込みインテントログ」と呼ばれます。

mdは通常、デバイス自体の内部の予約済みスペースに保存しますが、別のデバイスに保存することもできます。(これは、mdミラーが基本デバイスよりわずかに小さい理由の1つです。

LVMミラーは、書き込みエクステントログを外部にのみ保存できます。これは、物理ディスクが2つしかない典型的な場合には少し面倒です。同じ物理デバイス上の別のパーティションに保存する選択肢はまだあると思いますが、それでも不便です。

私が理解しているように、LVMミラーログの目的は、一方のデバイスには書き込まれているが、もう一方のデバイスにはまだ書き込まれていないブロックを追跡することです。


2

これらは2つの異なる概念です。

  • LVMは、その名前が示すとおり、ボリューム管理用です。これは、複数のボリュームを1つに結合するメカニズム(たとえば、raid0のようなものです)、それらのサイズ変更、ライブサイズ変更、スナップショットの作成と考えてください。
  • MDはRAID管理用です。複数のデバイスを1つのメタデバイスに追加し、raid1、5、10などを使用してこのメ​​タデバイスの可用性を高めます。

LVMは、メタデバイス、RAIDコントローラーによって提供されるデバイス、または単なるディスクなどのストレージデバイスで動作します。

MDはディスク上で動作します(そう、RAIDコントローラーによって提示されたディスクも使用できますが、ポイントは何ですか?..

LVMは、ストレージを高可用性にするためのものではありません。同様に、MDはボリューム管理用ではありません...

お役に立てれば :)


1
私は彼らが何であるかを理解しています。ただし、lvcreateのマニュアルページを読むと、ミラーを作成できると書かれています。今のところこれはちょっとしたおもちゃですか?
D -_- B

1
私ははい。私は少なくとも今のところ、それの良い使用を見ることはできません。(デバイスではなく)ボリュームレベルのミラーであるだけでなく、作成方法も少し「興味深い」。たとえば、2方向ミラー(オリジナル+コピーなど)が必要な場合は、3つのボリュームが必要ミラーの側面+ログボリューム。しかし、再び-私見。:)
rytis

1

LVMは他のUNIXシステムタイプから来ました。LinuxのMDレイヤーを持たないHPUXで10年前に作業したときに使用しましたが、今はわかりません。このような状況では、ハードウェアRAIDが利用できない状況でLVMミラーリングが役立ちます。


LVMミラーが複数のボリュームを必要とするのは奇妙だと思いました。それはどんな鏡ですか?
d -_- b

1
@toor 3番目のボリュームは、ミラーの先行書き込みログを保存するために使用されます。これは、基本的に、突然停止した後に再同期する必要があるものを追跡するためです。MDでは、これは通常2つのディスクの予約部分に保存されます。
プーリー

1

-mirrorlog mirroredオプションと-alloc anyオプションを使用して、2つのディスクを使用すると、各ディスクに1つずつ、2つの4Mミラーログを取得します。私は、最も一般的な状況のように思われるもののポリシーをオーバーライドする必要があることに腹を立てていますが、まあまあです。

Linux上のLVMはHP-UXやAIX上のものとは関係なく、同じユーザースペースコマンドを持っています。Linux上のLVMは内部的にDMシステムを使用するため、MDと同じコードをすべて使用します。この時点では、MDよりもLVMの利点はありません。高速で、バックアップを気にしないパーティション(ゲストVMのスワップパーティションなど)の場合、LVMはそれらをミラー化するかどうか、またはストリッピングが優れているかどうかのオプションを提供します。

また、MDよりもLVMにディスクを追加する方が簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.