3GBのジャーナルファイルなしでMongoDB構成サーバーを実行する


9

本番に分割されたMongoDBインストールでは、3つの構成サーバーが必要です。ドキュメントによると、「config server mongodプロセスはかなり軽量で、他の作業を実行しているマシンで実行できます」。ただし、デフォルトの構成では、それらすべてでジャーナリングが有効になっています。事前割り当てを使用すると、3 GBのディスク容量が必要になります。設定サーバーの実際のデータとトランザクション量はかなり小さいと思いますので、これは少し多すぎるようです。

ジャーナルのディスク使用量をはるかに少なくして、これらの構成サーバーを(安全に)実行する方法はありますか?構成サーバーでジャーナリングは必要ですか?ジャーナルサイズを小さく設定できますか?

回答:


10

はい-いくつかの注意事項に従って、ジャーナルファイルのデフォルトサイズを最小化する方法があります。MongoDBのコンフィギュレーションマニュアル

ディスク使用量に対するジャーナリングの影響を減らすには、ジャーナルを有効にしたまま、smallfilesをtrueに設定して、データとジャーナルファイルのサイズを減らします。

ここにsmallfiles設定情報があります:

より小さなデフォルトのデータファイルサイズを使用するようにMongoDBを変更するには、trueに設定します。具体的には、smallfilesはデータファイルの初期サイズを縮小し、512メガバイトに制限します。smallfiles設定は、各ジャーナルファイルのサイズを1ギガバイトから128メガバイトに減らします。

それぞれが少量のデータを保持するデータベースが多数ある場合は、smallfiles設定を使用します。smallfiles設定は、mongodが多くのファイルを作成する原因となり、大規模なデータベースのパフォーマンスに影響を与える可能性があります。


0

レプリケーションの一部のメンバーは、ジャーナリングを使用でき、その他のメンバーは使用できません。[1]

コマンドライン "--smallfiles"を使用して、結合サイズを小さく設定できます。[2]


そして、これはお勧めですか?
ティロ

MongoDBは、後で時間を浪費する必要がないように、ジャーナルファイルを事前に割り当てます。パフォーマンスよりもディスク容量が心配な場合は、オプションです。すべてのマシンでジャーナリングをオンにしておくことをお勧めします。クラッシュがいつどのように発生するかはわかりません。あなたは決して安全すぎることはできません。
Nican

1
これはもちろん良いガイドラインです。ただし、問い合わせサーバーは、構成サーバーに3 GBのジャーナルを必要とするトランザクションボリュームがあるかどうか、およびクラッシュ後の起動時間を短縮する以外にジャーナルを使用することの利点があるかどうかを知りたい(3つの構成サーバーでは、ジャーナリングがなくても、データが失われる可能性はありますよね?)少量の構成専用データを使用すると、どれほど高速になるでしょう。ここでのルールは、レプリカノードと構成サーバーでは異なるはずです。たとえば、「1日でそれらの1つを回復できれば問題ない」とドキュメントは言っています。
Thilo

0

--nojournalオプションを使用してmongodを起動できますが、構成サーバーのバックアップについては確信があります。


1
3台の異なるマシンに3台の構成サーバーを配置するよりも、どれほど確実である必要がありますか?また、設定サーバーのバックアップを作成する手順は何ですか?すべての変更(たとえば、コレクションの追加やシャーディングイベントなど)の後にバックアップを行わない場合、これらの古いバックアップから回復できませんよね?
ティロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.