Reiser5 がバースト バッファー (データ階層化) のサポートを発表

エドゥアルド・シシキン 発表の Reiser5 プロジェクトの枠組みの中で開発された新しい機会。 ライザー5 それは表し ReiserFS ファイル システムの大幅に再設計されたバージョン。並列スケーラブル論理ボリュームのサポートがブロック デバイス レベルではなくファイル システム レベルで実装され、論理ボリューム全体にデータを効率的に分散できます。

最近開発されたイノベーションの中には、
ユーザーが小さな高性能機能を追加する機会
ブロックデバイス (NVRAM など) が呼び出されました プロキシディスク〜へ
低速で構成される比較的大きな論理ボリューム
予算が推進します。 これにより、すべてが
ボリュームは同じ高価な高性能で構成されています
「プロキシ ディスク」などのデバイス。

実装された方法は、実際にはディスクへの書き込みが継続的に行われるわけではなく、I/O 負荷曲線がピークの形状をしているという単純な観察に基づいています。 このような「ピーク」の間では、プロキシ ディスクからデータをリセットすることが常に可能であり、バックグラウンドですべてのデータ (または一部のみ) をメインの「低速」ストレージに再書き込みします。 したがって、プロキシ ディスクは常にデータの新しい部分を受信できる状態にあります。

このテクニック (バースト バッファとして知られています) はもともと、
ハイ パフォーマンス コンピューティング (HPC) の分野。 しかし、通常のアプリケーション、特にデータの整合性に対する要求が高まるアプリケーション (通常はさまざまな種類のデータベース) でも需要があることが判明しました。 このようなアプリケーションは、ファイルに対するあらゆる変更をアトミックな方法で実行します。つまり、次のようになります。

  • まず、変更されたデータを含む新しいファイルが作成されます。
  • この新しいファイルは、fsync(2) を使用してディスクに書き込まれます。
  • その後、新しいファイルの名前が古いファイルに自動的に変更されます。
    古いデータが占有しているブロックを解放します。

    これらすべての手順は、程度の差こそあれ、重大な問題を引き起こします。
    どのファイル システムでもパフォーマンスが低下します。 状況
    新しいファイルが最初に割り当てられたファイルに書き込まれると改善されます
    高性能デバイス、まさにそれが起こります
    バーストバッファをサポートするファイルシステム。

    Reiser5では、オプションで送信するだけでなく、
    ファイルの新しい論理ブロックだけでなく、一般にすべてのダーティ ページも対象となります。 さらに、
    データを含むページだけでなく、メタデータも含まれます。
    手順(2)と(3)に書きます。

    プロキシ ディスクのサポートは、通常の作業のコンテキストで実行されます。
    Reiser5 論理ボリューム、 発表された 年の初めに。 あれは、
    集約システム「プロキシディスク - メインストレージ」は正常です
    論理ボリュームの唯一の違いは、プロキシ ディスクが優先されることです。
    ディスクアドレス割り当てポリシーの他のボリュームコンポーネントの中でも特に重要です。

    プロキシ ディスクを論理ボリュームに追加しても、何も行われません。
    データのリバランスとその削除は、
    通常のディスクを削除します。 すべてのプロキシ ディスク操作はアトミックです。
    エラー処理とシステム展開 (システムクラッシュ後を含む) は、プロキシ ディスクが通常のコンポーネントである場合とまったく同じ方法で行われます。
    論理ボリューム。

    プロキシディスク追加後の論理ボリュームの総容量
    このディスクの容量だけ増加します。 空き領域の監視
    プロキシ ディスクは、他のボリューム コンポーネントの場合と同じ方法で実行されます。 volume.reiser4(8) ユーティリティを使用します。

    プロキシ ディスクは定期的にクリーニングする必要があります。 ~からのデータをリセット
    それをメインストレージに置きます。 Reiser5 ベータ版の安定性に達した後
    清掃は自動化される予定です(管理は自動化されます)。
    特別なカーネルスレッド)。 この段階では掃除の責任が発生します。
    ユーザーに委ねられます。 プロキシ ディスクからメイン ディスクへのデータのリセット
    ストレージは、オプションを指定して volume.reiser4 ユーティリティを呼び出すだけで作成されます。
    「-b」。 引数として、論理的なマウントポイントを指定する必要があります。
    ボリュームもちろん定期的に掃除をすることも忘れずに。 のために
    これを行うための簡単なシェル スクリプトを作成できます。

    プロキシ ディスクに空き領域がない場合、すべてのデータが
    メインストレージに自動的に書き込まれます。 同時に、デフォルトでは、
    FS の全体的なパフォーマンスが低下します (継続的な呼び出しにより)
    すべての既存のトランザクションをコミットする手順)。 オプションで設定できます
    パフォーマンスを損なうことのないモード。 ただし、この場合、ディスクは
    プロキシ デバイスのスペースの使用効率が低下します。
    メタデータ サブセクション (ブリック) が十分に高性能なブロック デバイス上に作成されている場合、メタデータ サブセクション (ブリック) をプロキシ ディスクとして使用すると便利です。

    出所: オープンネット.ru

  • コメントを追加します