小さいファイルのためのCephか。

小さいファイルのためのCephか。

現在、私のデータセンターには6つの専用サーバーがあります。両方のサーバーは、eximとdovecot(Maildir)を実行するメールサーバーと4つのWebサーバーです。各サーバーには2つの3TBハードドライブがあります。

現在の問題は、現在、ビデオ制作チームがあり、ストレージが必要なことです。拡張可能なストレージスペースがある可能性があります。現在、どのサーバーに十分な空き容量があるかを確認する必要があります。これが私が解決したい問題です。

だから私の考えはCephを使って2つのことをすることです。まず、メールとWebサーバーのフェイルオーバーソリューションを作成します。したがって、サーバーに障害が発生すると、ロードバランサーはファイルも利用可能な他のサーバーに簡単に切り替えます。

2つ目は、スケーラブルなビデオファイルストレージを確保し、ビデオチームがファイルサイズを心配する必要がないことです。そのファイル構造は1つのシステムにあり、そのファイルはこの「システム」で処理できます。さらにストレージが必要な場合は、他の専用サーバーをリースして「クラスタ」に追加するだけです。

だからCephが良いアイデアかどうか尋ねたかったのです。それとも他のより良い提案がありますか?

答え1

通常、Cephはあなたのユースケースに適しています。私は「大容量ビデオファイル」の状況を間違いなくうまく処理できます。

しかし、あなたはどれだけの小さなファイルを持っているのか、どれくらい小さいかは言わなかった。

ファイルが数百万個しかない場合、すべてが正常です。

しかし、小さすぎる大量の回転ディスクに小ファイルが多すぎると、操作上の問題が発生する可能性があります。、定期的な整合性チェックを実行するCephおよびほとんどのストレージシステムに適しています。

ロータリーディスクHDDでCephを使用する場合は、次の点を理解することが重要です。

  • CephFSは各ファイルを1つ以上のオブジェクト(「RADOSオブジェクト」)として保存します。
  • これらのオブジェクトの操作にはディスクの検索が必要です。これらのタスクには以下が含まれます。
    • ミサイル発射停止:ビットロットを防ぎ、故障したディスクを検出するための自動周期チェックサムチェック
    • また覆う: ディスクに障害が発生した場合
    • バランス: クラスタにディスクを追加する場合
  • HDDは毎秒約100の検索しか実行できません。
  • したがって、小さなファイル(5億個など)が多い場合は、これらの作業(一部のディスク損失回復など)には、次のような時間がかかります500000000 objects / 100 seeks-per-second / 3600 s / 24 h60日行って終わります。時間がかかりすぎると、別のディスクに再びエラーが発生する可能性があります。
  • Cephには現在、小さなファイルをより効率的に処理する機能はありません。他のファイルシステムには次の機能もあります。
    • ZFS(非分散ファイルシステム)には、非順次クリーンアップと再同期機能があります。私のコメントをご覧ください。このブログ、そしてこのOpenZFS実装するこれで犯罪。私Cephは同じ機能要求をサポートします。
    • SeaweedFS(Cephなどの分散型)は、複数の小さなファイルをより大きな「ボリューム」ファイルにまとめます。その結果、ファイルをすぐに削除することはできません。代わりに、大容量ファイルの領域を削除済みとしてマークし、後でガベージコレクションでその領域をクリーンアップして大容量ファイル全体を再作成します。また、セフほど戦闘テストと文書化されていません。私の投稿をご覧ください。ここ

Cephの場合、ファイルを分割できる場合(たとえば、あるディレクトリの大きなファイル、別のディレクトリの小さなファイル)、サーバーにいくつかのSSDを追加すると、次のことができます。CephFSに教えてくださいどのディレクトリにどのデバイスタイプが使用されますか?

関連情報