3GB의 저널 파일없이 MongoDB 구성 서버를 실행하십시오.


9

프로덕션 샤드 MongoDB 설치에는 3 개의 구성 서버가 필요합니다. 문서에 따르면 "구성 서버 mongod 프로세스는 상당히 가벼우 며 다른 작업을 수행하는 컴퓨터에서 실행할 수 있습니다". 그러나 기본 구성에서는 저널링이 모두 사용 가능하며 사전 할당시 3GB의 디스크 공간이 필요합니다. 구성 서버의 실제 데이터 및 트랜잭션 볼륨이 매우 작기 때문에 이것이 너무 많은 것으로 보입니다.

저널에 디스크를 훨씬 적게 사용하여 이러한 구성 서버를 (안전하게) 실행할 수있는 방법이 있습니까? 구성 서버에서 저널링이 전혀 필요합니까? 저널 크기를 더 작게 설정할 수 있습니까?

답변:


10

예-몇 가지주의 사항에 따라 저널 파일의 기본 크기를 최소화하는 방법이 있습니다. 로부터 MongoDB의 구성 문서 :

디스크 사용에 대한 저널링의 영향을 줄이려면 저널을 사용 가능하게하고 작은 파일을 true로 설정하여 데이터 및 저널 파일의 크기를 줄이십시오.

smallfiles구성 정보 는 다음과 같습니다 .

더 작은 기본 데이터 파일 크기를 사용하도록 MongoDB를 수정하려면 true로 설정하십시오. 특히 작은 파일은 데이터 파일의 초기 크기를 줄이고 512MB로 제한합니다. smallfiles 설정은 또한 각 저널 파일의 크기를 1 기가 바이트에서 128 메가 바이트로 줄입니다.

각각 소량의 데이터를 보유하는 많은 데이터베이스가있는 경우 smallfiles 설정을 사용하십시오. smallfiles 설정은 mongod가 많은 파일을 작성하게하여 큰 데이터베이스의 성능에 영향을 줄 수 있습니다.


0

복제의 일부 구성원은 저널링을 사용하고 다른 구성원은 사용하지 않을 수 있습니다. [1]

명령 행 "--smallfiles"를 사용하여 jounral 크기를 더 작게 설정할 수 있습니다. [2]


그리고이 중 하나가 권장됩니까?
Thilo

MongoDB는 나중에 시간을 낭비하지 않도록 저널 파일을 사전 할당합니다. 디스크 공간이 성능보다 더 걱정된다면 옵션입니다. 모든 시스템에서 저널링을 유지하는 것이 좋습니다. 충돌이 언제 어떻게 발생하는지 알 수 없습니다. 당신은 너무 안전 할 수 없습니다.
니칸

1
물론 좋은 지침입니다. 그러나 궁금한 점은 구성 서버에 3GB의 저널이 필요한 트랜잭션 볼륨이 있는지, 충돌 후 시작 시간이 더 빠른 것 이외의 다른 저널에 이점이 있는지 알고 싶어합니다 (3 개의 구성 서버의 경우 저널링 없이도 데이터 손실이 발생할 수 있습니다.) 소량의 구성 전용 데이터를 사용하면 속도가 훨씬 빨라집니다. 여기의 규칙은 복제본 노드 및 구성 서버마다 달라야합니다. 문서는 예를 들어 "하루 안에 복구 할 수 있으면 좋을 것"이라고 말합니다.
Thilo

0

--nojournal 옵션으로 mongod를 시작할 수 있지만 구성 서버 백업에 대해서는 매우 확신합니다.


1
세 대의 다른 컴퓨터에 세 개의 구성 서버를 설치하는 것보다 얼마나 더 확실해야합니까? 또한 구성 서버를 백업하는 절차는 무엇입니까? 모든 변경 (예 : 컬렉션 추가 또는 샤딩 이벤트) 후에 백업하지 않으면 오래된 백업에서 복구 할 수 없습니다.
Thilo November
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.