単一システムに小規模なCEPHクラスタを構築しようとしています。大規模なプロジェクトに移行する前に、ラボでテストしてみましょう。記憶力に問題があり、それを制御する方法が見つかりません。
私たちは古いCore2Duo CPU、4GBのRAMを持っています。 3つのローカル8TBディスクを使用して3つのOSDを作成します。
ceph-deployは、3つのOSDのそれぞれに対して2GBのサイズの1つのtmpfsパーティションを作成し、最大50GBのデータをCephFS Bluestoreにコピーした後、ボックスがRAMを積極的に使用し始め、最終的にすべてのスワップを使用することを除くそしてすべてがうまく動作するようにします。 OSDプロセスで使用できるRAMの量を制御する正しい設定が見つかりませんでした。
RAMよりもIOをもっと使っても大丈夫です。助けてください(可能な場合)。 :) Centos 7ですべてを構築しています。
答え1
セフ 13.2.2リリースノート次のように教えてください...
bluestore_cache_*オプションはもう必要ありません。これは4GBのデフォルト値のosd_memory_targetに置き換えられます。 BlueStoreは、この制限内を維持するためにキャッシュを拡張および縮小します。アップグレードユーザーは、このデフォルト値が以前のbluestore_cache_sizeである1 GBを超えるため、BlueStoreを使用するOSDはデフォルトでより多くのメモリを使用することに注意してください。詳細については、BlueStoreのマニュアルを参照してください。
私はこれが私を驚かせた。私のOSDは常駐メモリ使用量のために狂っています。カーネルがosdプロセスを終了しています。
新しいキーに切り替えてosdプロセスをバウンスすると、堅牢なパフォーマンスが得られました。
答え2
これはよくある質問であり、cephメーリングリストはこれらの質問に非常に便利なアーカイブです。これ。 bluestore_cache_sizeの値を減らすことができます。デフォルトはSSDの場合は3GB、HDD OSDの場合は1GBです。
# If bluestore_cache_size is zero, bluestore_cache_size_hdd or bluestore_cache_size_ssd will be used instead.
host1:~ # ceph daemon osd.3 config show | grep bluestore_cache_size
"bluestore_cache_size": "0",
"bluestore_cache_size_hdd": "1073741824",
"bluestore_cache_size_ssd": "3221225472",
ただし、本番クラスタで監視した結果、HDD-OSDの残りのメモリは約3GBであるため、必要に応じてこの値を調整する必要があります。構成リファレンスはここ。
まず、1つのOSDで始まり、ノードのパフォーマンスを観察することをお勧めします。メモリ(または他の測定)が正常な場合は、別のOSDを追加してください。 1つまたは2つのOSD制限に達した場合は、必要に応じて構成を調整する必要があります。この値はオンラインに変更できます。
host1:~ # ceph daemon osd.<ID> config set bluestore_cache_size[_hdd|_ssd] <VALUE>
設定に対する永続的な変更は/etc/ceph/ceph.confに保存する必要があります。