数ヶ月前、私たちはブログでここで話しました Reiser5どれ ファイルシステムです エドワード・シシュキンによって維持され、 並列スケーリングにイノベーションを含めることで際立っています。 これはブロックレベルではなく、ファイルシステムを介して実行されます。
Reiser5は、ReiserFSファイルシステムの大幅に改訂されたバージョンであり、並列スケーラブル論理ボリュームのサポートが実装されています。 論理ボリューム全体にデータを効率的に分散できます。
さて、最近のニュースで、EduardShishkinはReiser5プロジェクトの一部として開発されている新機能を発表しました。
最近のイノベーションのうち、 ユーザーが小型の高性能ブロックデバイスを追加できることが確認されています プロキシディスクと呼ばれる、低予算のディスクで構成される比較的大きな論理ボリュームへの(NVRAMなど)。 これにより、ボリューム全体が「プロキシディスク」と同じ高性能デバイスで構成されているように見えます。
実装された方法は、単純な観察に基づいていました それは、実際には、 ディスクへの書き込みは常に実行されるわけではなく、曲線 I / O負荷 くちばしの形をしています。 このような「スパイク」の合間に、バックグラウンドの「遅い」メインストレージ上のすべてのデータ(またはその一部)を上書きすることにより、プロキシディスクからデータをダンプする機会が常にあります。 したがって、プロキシユニットは常に新しいデータを受信する準備ができています。
最初は、このテクニック (バーストバッファーとして知られています) ハイパフォーマンスコンピューティングの分野で生まれました (HPC)。 しかし、通常のアプリケーション、特にデータの整合性に高い要求を課すアプリケーションも要求されることが判明しました(これは通常、別の種類のデータベースです)。 これらの変更は、任意のファイル内の任意のアプリケーションによってアトミックに行われます。
- 最初に、変更されたデータを含む新しいファイルが作成されます。
- 次に、この新しいファイルはfsync(2)を使用してディスクに書き込まれます。
- その後、新しいファイルの名前が古いファイルに変更され、古いデータが占めていたブロックが自動的に解放されます。
これらの手順はすべて、ある程度まで、ファイルシステムのパフォーマンスを大幅に低下させます。 新しいファイルが最初に専用の高性能デバイスに書き込まれると、状況は改善されます。 これはまさにバーストバッファファイルシステムで起こることです。
Reiser5では、オプションで新しいロジックブロックだけでなく送信する予定です。■ファイルからプロキシディスクへ、 だけでなく、一般的にすべての汚れたページ。 また、データを含むページだけでなく、ステップ(2)および(3)で記録されるメタデータも含まれます。
プロキシディスクは、論理ボリュームを使用した通常の作業のコンテキストでサポートされます Reiser5は今年初めに発表されました。 つまり、集約システム「プロキシディスク-プライマリストレージ」は通常の論理ボリュームですが、ディスクアドレス指定ポリシーでプロキシディスクがボリュームの他のコンポーネントよりも優先されるという唯一の違いがあります。
プロキシディスクを論理ボリュームに追加する場合、データのリバランスは必要ありません。その削除は、通常のディスクを削除するのと同じ方法で行われます。 すべてのプロキシディスク操作はアトミックです。
プロキシディスクを追加すると、論理ボリュームの総容量はこのディスクの容量だけ増加します.
プロキシディスクは定期的にクリーニングする必要があります。つまり、プロキシディスクからメインストレージにデータをダンプします。 Reiser5ベータ安定性に達した後、クリーニングを自動化する予定です(特別なコアスレッドによって処理されます)。 この段階では、クリーニングの責任はユーザーにあります。
プロキシディスクに空き容量がない場合、すべてのデータが自動的にメインストレージに書き込まれます。 同時に、FSの全体的なパフォーマンスはデフォルトで低下します (利用可能なすべてのトランザクションの確認手順が常に呼び出されるため)。
ハンスによって行われたことによって引き起こされた中断の後、ReiserFSがまだアクティブであることを私は知りませんでした、、
静かに保たれていますが、開発は続いています。