L2ARCとZILの場合:両方に1つの大きなSSDを使用するか、2つの小さなSSDを使用する方が良いでしょうか?


22

主な参考文献

ZFS L2ARC(Brendan Gregg)(2008-07-22)およびZFSおよびハイブリッドストレージコンセプト(Anatol Studlerのブログ)(2008-11-11)には次の図が含まれています。

ARC、L2ARC、ZIL、およびディスクストレージプールのZFSピラミッドビュー

質問

SSDレイヤーでの縦の白い線を、別の SSD を使用するための優先事項として解釈する必要がありますか?

  • 単一のディスクでL2ARCとZILを混在させない設定

背景(コメントへの応答)

個人的には、自宅では、利用可能なコンピューターでL2ARCまたはZILを使用することはほとんどありません。(私の日常のコンピューターは、8 GBのメモリとハイブリッドSeagate ST750LX003-1AC154を搭載したMacBookPro5,2です。光学ドライブをSSDに置き換える予定はありません。)

他の場所:職場ではキットの再利用がありますが、日付や詳細はありません。(ミックス内のXserve RAID x2…現時点では、これらをZFSに提供することは考えていませんが、心を開いています。)

L2ARCとZILの両方に対するSSDのベストプラクティスについての私の好奇心は、ZEVO領域でのパフォーマンス関連の議論(特に、ユーザーが1つのディスクにL2ARCとZILの両方を持っている以下のトピック)を追うことから始まりました。

その他の参照と議論

L2ARCスクリーンショット(Brendan Gregg)(2009-01-30)

SLOGスクリーンショット(Brendan Gregg)(2009-06-26)

[zfs-discuss] ZFSルートバックアップ/「災害」復旧、およびルートプールの移動(2011-01-10 )は、単一のディスク上の3つの要素(ルートプール、ZIL、およびL2ARC)の混合に対して推奨します–

…同じディスク上で3つすべてを管理しようとしたときに発生する可能性のある頭痛の価値はありません。たとえば、データプールのZILのコンテンツを再インストールして誤って上書きすることにした場合。管理と復旧を簡単にするために、プールコンポーネント用またはプール間でディスクを共有しないでください。…

– 1 つのディスクにこれらの2つを混在させないことをお勧めしますか?

/superuser//a/238744/84988(2011-01-28)は、「キャッシュ(L2ARCキャッシュ)およびSSDへのログ(ZIL)の書き込み」(単数形)について言及しています。ただし、FUSEとWindowsに関連するため、ZFSのより一般的でパフォーマンス重視の使用に特に関連するものとしてその答えを扱いません。

@ChrisSは、2011年8月16 日のThe Comms RoomでZILと L2ARC について言及しました

http://forums.macrumors.com/showpost.php?p=14248388(2012-01-31)は複数の SSD について説明しています

ZFSについて理解する必要があるもの:通常、SSDに格納される2種類のキャッシュ、読み取りおよび書き込み(L2ARCおよびZIL)があります。ZILは書き込みキャッシュです。おそらく、この誤解はどこから来たのでしょう。ZILは、zpoolに発生するすべての書き込みでハンマーで攻撃されます(アクティブなシステムを想定)。問題は、ZILとしてmlcベースのSSDを使用すると、それらがすぐに磨耗して故障することです。ZILドライブとして使用するには、(はるかに高価な)slcベースのSSDが必要です。

zpoolを完全にSSDで構成することは可能であるだけでなく、非常にうまく機能します。また、基本的に、ZILとL2ARCに別々のドライブを使用する必要がなくなります。はい、TRIMサポートはありませんが、ZFSのコピーオンライトの性質に基づいて、それはおそらく良いことです。

そうは言っても、ZFSはほぼフル(たとえば、85%以上)のzpoolではうまく機能しません。回転磁気メディアまたはソリッドステートのどちらを使用しているかに関係なく、パフォーマンスは大幅に低下し始めます。TRIMサポートの欠如はおそらくその問題を悪化させるでしょうが、それはすでに問題です。

/server//a/397431/91969(2012-06-11)が推奨するもの:

  • ZIL用のSLCタイプSSD(特にMLCではない)
  • L2ARC用のMLCタイプSSD。

/superuser//a/451145/84988(2012-07-19)は、「ZILを高速化するためのZILおよびL2ARCのSSD」という単数形について言及しています。

zevo.getgreenbytes.com•トピックを表示-FW800接続順序のパフォーマンスの問題?(2012-09-24)は、ZILおよびL2ARC用の単一 SSDを備えたFireWireバス上の事柄の順序に関係しています。

  • バスの注文はさておき、そのZEVOトピックは、別々のSSDが望ましいのではないかと思い始めました。

より具体的には、上の図の白い線の解釈について疑問に思いました…


2
これは、サーバー障害の質問のようです。ただし、考慮すべきことは、ストレージプールの読み取りと書き込みの負荷です。一般に、SSD RAIDが単一ドライブ構成よりも書き込みのパフォーマンスを大幅に低下させる方法を示す調査がいくつかあります。xbitlabs.com/articles/storage/display/...

2
ZFSに精通している可能性が最も高い人は、スーパーユーザーよりもサーバー障害に陥る可能性が高くなります。移動する投票、しかし素晴らしい質問。
フレイジャー

現在2つの投票が終了しているように見えますが、代わりに単純に質問を移動できますか?ありがとう@afrazier
グラハムペリン

1
サーバー障害へようこそ。FAQが述べているように、私たちはあなたが直面している特定の問題に基づいた実用的で回答可能な質問を好みます。とはいえ、ここでは多くの理論と議論を行ってきましたが、欠けていると思われるのは、解決しようとしている問題です。実用的な詳細を追加すると、これには大きな疑問が生じます。
マイケルハンプトン

1
VTC 答えを移動する方法です。大部分のVTCがサイトに移動する場合は、移動されます。はい、実用的な詳細をご覧ください。これは非常によく書かれて詳細に見えますが、現在の状況を知らずに具体的な答えを得るのは困難です。明らかに、おもしろいZFSセットアップを構築しているので、答えを見つけるのに詳細が役立ちます。
ジャーニーマンオタク

回答:


14

短い答え、あなたが解決しようとしている問題がわからないので...

可能であれば、個別のデバイスを使用してください。これは環境の規模に依存します...単純なホームシステム、仮想化またはオールインワンZFSソリューションの場合、単一のデバイスを使用できます。

大規模または高性能のZFSソリューションでは、ZILまたはL2ARCの役割に特に適したデバイスを使用します。たとえば、ZIL用のSTEC ZeusRAMまたはDDRDrive、およびL2ARC用のエンタープライズSLCまたはMLC SAS SSD。

  • ZILデバイスは、高IOPSに対応した低容量で低遅延のデバイスである必要があります。通常、それらはミラーリングされます。
  • L2ARCデバイスは大容量である必要があります(理由:L2ARCサイズが大きくなるにつれてRAMを追加する必要があります)。ストライピングによってスケーリングします。

何してるの?


質問に背景を追加しました。この答えは理想的なようです–ありがとう–受け入れる前に数日間物事を開いたままにします。
グラハムペリン

リンクの目的:@ewwhite ZFSからの2011年の質問-ZILまたはL2ARC用にSSDを分割する方法 そして、受け入れられた答えの中で、「…プールごとの専用ZILおよびL2ARCデバイスが道です」。
グラハムペリン

6

ZILについて最初からいくつかの基本的な誤解があり、続行する前に修正する必要があります。

これを理解してください:「通常の」状況では、ZIL / SLOGは変更されません。

それはだだけ同期書き込みが指令されたときに書かれたか、もし同期=常に特定のプール/データセットで有効になっている(「ZFSが同期プール/データセットを取得します」)

ZILは通常の状況では決して読み取られません。これは災害復旧機能です。

IE:ZILは、電源がオフになったときにのみ存在します。データがプールにコミットされる前にOSに戻されたデータを再生するために使用されます。プールへのすべてのZFS書き込み(同期または非同期)は、メモリバッファからのものです。

通常の状況では、データがプールに到達すると、slogエントリの蒸発が許可されます。これは単なる大きな循環書き込みバッファであり、非常に大きくする必要はありません(ほとんどの状況で1GBでも過剰です)

非同期書き込みはRAMにバッファリングされ、適切なタイミングで照合されてディスクに書き込まれます。電源がオフになると、そのデータは失われますが、FSの整合性は維持されます(これが、sync = alwaysを設定する必要がある理由です)

一方、L2ARCは読み取りと書き込みの両方のレベルで大きく打撃を受けます。

l2arcにあるもののメタデータがARCラムから出てくるため(「l2arcが大きすぎる」など)。最終的に、l2arcの使用は、「使用可能なすべてのスペース」よりかなり下のレベルで横ばいになります

一部のメーカーの抗議にもかかわらず、l2arcサイズを増やすことでメモリ不足を補うことはできません(ZFSアプライアンスに分岐したハードウェアRAIDアレイのメーカーがこの仮定を立てています)

tl; dr:IO負荷がデータベースアクティビティである場合、ZILは激しく非難される可能性があります。それ以外の場合は、軽く触れるだけです。アクティビティの99.9%でZIL機能が作動しない可能性が高いです。

それを知ることで、ZILのSLOGパーティションが必要かどうか、l2arcパーティションと共存できるかどうか、またはスタンドアロンドライブが必要かどうか(およびスタンドアロンドライブのパフォーマンスレベル)を決定できます。

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