Jalankan server konfigurasi MongoDB tanpa 3GB file jurnal

9

Untuk instalasi MongoDB produksi sharded kita perlu 3 server konfigurasi. Menurut dokumentasi "proses mongod server konfigurasi cukup ringan dan dapat dijalankan pada mesin yang melakukan pekerjaan lain". Namun, dalam konfigurasi default, mereka semua memiliki penjurnalan diaktifkan, dan dengan pra-alokasi ini membutuhkan ruang disk 3 GB. Saya berasumsi bahwa data aktual dan volume transaksi server konfigurasi cukup kecil, sehingga ini tampaknya agak terlalu banyak.

Apakah ada cara untuk (aman!) Menjalankan server konfigurasi ini dengan penggunaan disk jauh lebih sedikit untuk jurnal? Apakah saya perlu penjurnalan sama sekali di server konfigurasi? Bisakah saya mengatur ukuran jurnal menjadi lebih kecil?

Thilo
sumber

Jawaban:

10

Ya - ada cara untuk meminimalkan ukuran default dari file jurnal, tunduk pada beberapa peringatan. Dari dokumentasi konfigurasi MongoDB :

Untuk mengurangi dampak penjurnalan pada penggunaan disk, Anda dapat membiarkan jurnal diaktifkan, dan mengatur file kecil menjadi true untuk mengurangi ukuran data dan file jurnal.

Berikut adalah smallfilesinformasi konfigurasi:

Setel ke true untuk memodifikasi MongoDB untuk menggunakan ukuran file data standar yang lebih kecil. Secara khusus, file kecil mengurangi ukuran awal untuk file data dan membatasi mereka ke 512 megabyte. Pengaturan smallfiles juga mengurangi ukuran setiap file jurnal dari 1 gigabyte menjadi 128 megabyte.

Gunakan pengaturan file kecil jika Anda memiliki sejumlah besar basis data yang masing-masing menampung sejumlah kecil data. Pengaturan file kecil dapat menyebabkan mongod untuk membuat banyak file, yang dapat mempengaruhi kinerja untuk database yang lebih besar.

platform
sumber
0

Anda dapat beberapa anggota, dari replikasi , menggunakan penjurnalan dan yang lainnya tidak. [1]

Anda dapat mengatur ukuran jounral menjadi lebih kecil dengan menggunakan baris perintah "--smallfiles". [2]

Nican
sumber
Dan apakah ini direkomendasikan?
Thilo
MongoDB melakukan pra-alokasi dengan file jurnal untuk menghindari keharusan membuang waktu dengannya. Jika Anda khawatir tentang ruang disk lebih dari kinerja, itu adalah opsi. Saya akan merekomendasikan meninggalkan penjurnalan dengan semua mesin, Anda tidak pernah tahu kapan dan bagaimana crash bisa terjadi. Anda tidak pernah bisa terlalu aman.
Nican
1
Itu tentu saja pedoman yang bagus. Tetapi pikiran yang ingin tahu ingin tahu apakah server konfigurasi memiliki volume transaksi yang membutuhkan 3GB jurnal, dan jika ada manfaat untuk memiliki jurnal sama sekali selain waktu startup yang lebih cepat setelah crash (perhatikan bahwa dengan 3 server konfigurasi, seharusnya tidak ada kehilangan data apa pun, bahkan tanpa penjurnalan, kan?) Dan seberapa cepat pula dengan sedikit data konfigurasi saja. Tampak bagi saya bahwa aturan di sini harus berbeda untuk node replika dan server konfigurasi. Docs mengatakan bahwa "Anda harus baik-baik saja jika Anda dapat memulihkan salah satunya dalam sehari" misalnya.
Thilo
0

Anda dapat memulai mongod dengan opsi --nojournal, tetapi saya akan sangat yakin tentang cadangan server konfigurasi Anda.

gWaldo
sumber
1
Seberapa jauh saya harus yakin daripada memiliki tiga server konfigurasi pada tiga mesin yang berbeda? Juga, bagaimana prosedur untuk membuat cadangan dari server konfigurasi? Jika saya tidak membuat cadangan setelah setiap perubahan (mis. Acara pengumpulan ditambahkan atau beling), maka saya tidak dapat memulihkan dari cadangan usang ini, kan?
Thilo