セフ文書(http://docs.ceph.com/docs/jewel/start/hardware-recommendations/) は、クラスタが拡張するにつれて、より強力なハードウェアの必要性を強調します。
たとえば、必要なハードウェア仕様は次のとおりですceph-mon
。
プロセッサ
1x 64ビットAMD-64 / i386
1x 32ビットARMデュアルコア以上
1x i386デュアルコアメモリ
デーモン当たり1GB
ディスク容量
デーモンあたり10GB
ネットワーク
2×1GBイーサネットネットワークカード
デーモンあたりの数字はOSDあたりを意味すると仮定します。それぞれ4TBのベイ12個のJBODが複数ある場合、この数字は急速に大きくなる可能性があります。
RPIクラスターを使用してタスクを実行したい場合は、この要件を満たすために複数のノードに負荷を分散できますか、または各ceph-mon
ノードがこれらの最小値を満たすように要求できますか?
ceph-mds
より厳しい要件がある場合は、多くのコンパクトボード(例えばodroid XU4)でもサービスを提供できますか?
答え1
CephクラスタでRPiがどのように機能するかを説明することはできませんが、役に立つ場合は、本番クラスタの一部のデータを提供できます。 3つのMON、25個のOSD(ノードあたり4〜6個のOSD)があります。 MONは3つのMDSのうち2つと同様にOSDノードにデプロイされます(現在のMDSを専用サーバーにアウトソーシングしています)。
現在、リカバリ(I / O集約的)によるパフォーマンスデータはありませんが、正常なクラスタ内のデータはあります。 MON値は751804B(VIRT)と339848B(RSS)で、時間の経過とともに非常に安定しています。したがって、メモリ消費量はそれほど高くなく、1 GB RAMで十分で、Raspberry Piも処理できます。
MDSを見ると、すべてが要件と作業量によって異なると言うのは難しいです。クライアント数が少ない状況では、1〜2 GBのRAMで十分ですが、急速に増やすことができます。数字を知らせると、50のクライアント(またはより正確にはクライアント接続)の場合、アクティブMDSのmds_cache_memory_limitは6GBで、最近4GBから増えました。現在の使用量は7.7 GB(VIRT)6.9 GB(RSS)であり、MDSは設定されたものよりも少し使用する傾向があります。 MDS は、複数のアクティブな MDS デーモンとして実行できます。お読みください。これ複数のMDS設定に関する追加情報。それは言う:
より多くのデーモンを追加しても、すべてのワークロードのパフォーマンスが向上するわけではありません。通常、単一のクライアントで実行される単一のアプリケーションは、アプリケーションが並行して多数のメタデータ操作を実行しない限り、MDSデーモンを追加しても利点はありません。通常、多数のアクティブなMDSデーモンを介して利点を得るワークロードは、クライアントが多く、別々の複数のディレクトリで作業できるワークロードです。
少数のOSDで複数のノードを実行するとOSDへの負荷を分散できますが、OSD用のRAM容量が実際にRPiに適していないと思います。 Bluestore OSD(ログはSSDにあります)では約4 GB(VIRT)と2.8 GB(RSS)を消費するため、ここで説明したデーモンごとに1 GBは含まれず、すべて実際のワークロードによって異なります。
ワークロードの追加、OSDの追加、CephFSクライアントの追加などを実行しながら、クラスターを構築し、パフォーマンスデータを観察することをお勧めします。クラスタの制限と調整可能性をすばやく把握できます。