web-dev-qa-db-ja.com

Linux LVMミラーとMDミラー

何年か前にLVMでミラーリングを行った覚えがあると思いますが、この「ログ」のことは覚えていません。あるいは、mdadmを使用してミラーを作成し、LVMを上に配置したのかもしれません。それはそれでなければなりません。

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

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

ディスクはXen domU「ディスク」を格納するためのものです。

複雑でわかりにくい「質問」でごめんなさい。

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

11
d-_-b

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

また、私はLVMに焼かれています。 HP-UXでのLVMストライピング(LinuxではLVM2で発生することはありません)の場合もあり、拡張にはまったく同じ数のストライプが必要だったため、LVを拡張できませんでした。それは合理的に思えますが、時々...

もう1つはミラーリング(今回はLinuxのLVM2)でしたが、LVMがミラーリングされたLVのスナップショットの取得または拡張を拒否したかどうかを思い出せません。最終的には、lvconvertを前後に使用することが含まれます)。

9
Dan Andreatta

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

マシンが再起動したら、デバイスを一貫させる必要があります。 2つのデバイスだけを使用するだけでは十分ではありません。どのブロックが不整合であるかを認識できず、どのバージョンがより新しいかを認識できません。

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

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

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

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

4
poolie

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

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

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

MDはディスク上で動作します(もちろん、raidコントローラーによって提示されたディスクを使用することもできますが、何が重要なのでしょうか?).

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

お役に立てれば :)

2
rytis

-mirrorlog mirroredおよび-alloc anywhereオプションで2つのディスクを使用すると、各ディスクに1つずつ、2つの4Mミラーログを取得できます。最も一般的な状況のように思われるものについては、ポリシーを上書きしなければならないことにイライラしていますが、まあ。

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

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

1
mcr

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

1
Ron McOuat