문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ /

자체 관리형 배포서버를 위한 저널링 구성

이 페이지의 내용

  • 절차

MongoDB는 쓰기 작업 내구성을 보장하기 위해 온디스크 저널 에 미리 쓰기 로깅 을 사용합니다.

WiredTiger 스토리지 엔진은 크래시 후 일관된 상태를 보장하기 위해 저널링이 필요하지 않습니다. 데이터베이스는 복구 중에 일관된 마지막 체크포인트로 복원됩니다. 그러나 체크포인트 사이에 MongoDB가 예기치 않게 종료되면, 마지막 체크포인트 이후에 발생한 기록을 복구하기 위해 저널링이 필요합니다.

mongod가 예기치 않게 중지되면 저널에 기록된 모든 내용을 복구할 수 있습니다. MongoDB는 다시 시작할 때 쓰기 연산을 다시 적용하고 일관된 상태를 유지합니다. 기본적으로 저널에 작성되지 않은 쓰기 손실의 최대 범위는 지난 100밀리초 내에 이루어진 쓰기에 실제 저널 쓰기를 수행하는 데 걸리는 시간을 더한 값입니다. 기본값에 대한 자세한 내용은commitIntervalMs를 참조하세요.

쓰기 고려j 옵션을 사용하여 커밋 승인을 받을 수 있습니다. 자세한 내용은 쓰기 고려를 참조하세요.

serverStatus 명령/db.serverStatus() 메서드는 저널에 대한 통계가 포함된 wiredTiger.log를 반환합니다.

충돌 후 다시 시작하면 MongoDB는 서버를 사용할 수 있게 되기 전에 저널 디렉토리에 있는 모든 저널 파일을 재생합니다. MongoDB가 저널 파일을 재생해야 하는 경우 mongod는 로그 출력에 이러한 이벤트를 기록합니다.

--repair를 실행할 이유가 없습니다.

WiredTiger 스토리지 엔진을 사용하는 경우 MongoDB는 기본적으로 저널에 snappy 압축기를 사용합니다. mongod 인스턴스에 대해 다른 압축 알고리즘 또는 압축 없음을 지정하려면 다음을 수행해야 합니다.

이 절차 중에 mongod 오류가 잘못 종료되는 경우 이전 압축기 설정을 사용하여 저널 파일을 사용하여 복구해야 합니다. 복구가 완료되면 절차를 다시 시도할 수 있습니다.

독립형 mongod 인스턴스에 대한 저널 압축기를 변경하려면 다음 절차를 따르세요.

  1. storage.wiredTiger.engineConfig.journalCompressor을(를) 새 값으로 업데이트합니다.

    구성 파일 대신 명령줄 옵션을 사용하는 경우 아래 재시작 시 --wiredTigerJournalCompressor 명령줄 옵션을 업데이트해야 합니다.

  2. mongod 인스턴스를 완전히 종료합니다. 예를 들어 mongosh 를 인스턴스에 연결하고 db.shutdownServer() 를 실행합니다.

    db.getSiblingDB('admin').shutdownServer()
  3. 프로세스가 더 이상 실행되지 않는 것을 확인했으면 mongod 다음과 같이 인스턴스를 다시 시작합니다.

    • 구성 파일을 사용하는 경우:

      mongod -f <path/to/myconfig.conf>
    • 구성 파일 대신 명령줄 옵션을 사용하는 경우 --wiredTigerJournalCompressor을(를) 새 값으로 업데이트합니다.

      mongod --wiredTigerJournalCompressor <differentCompressor|none> ...

복제본 세트 멤버에 대한 저널 압축기를 변경하려면 다음 절차를 따르세요.

  1. mongod 인스턴스를 완전히 종료합니다. 예를 들어 mongosh 를 인스턴스에 연결하고 db.shutdownServer() 를 실행합니다.

    db.getSiblingDB('admin').shutdownServer()
  2. storage.wiredTiger.engineConfig.journalCompressor을(를) 새 값으로 업데이트합니다.

    구성 파일 대신 명령줄 옵션을 사용하는 경우 아래 재시작 중에 명령줄 옵션을 업데이트해야 합니다.

  3. mongod 인스턴스를 다시 시작합니다.

    • 구성 파일을 사용하는 경우:

      mongod -f <path/to/myconfig.conf>
    • 구성 파일 대신 명령줄 옵션을 사용하는 경우 --wiredTigerJournalCompressor을(를) 새 값으로 업데이트합니다.

      mongod --wiredTigerJournalCompressor <differentCompressor|none> ...

샤드 복제본 세트 또는 config 서버 복제본 세트의 멤버에 대한 저널 압축기를 변경하려면 다음 절차를 따르세요.

  1. mongod 인스턴스를 완전히 종료합니다. 예를 들어 mongosh 를 인스턴스에 연결하고 db.shutdownServer() 를 실행합니다.

    db.getSiblingDB('admin').shutdownServer()
  2. storage.wiredTiger.engineConfig.journalCompressor을(를) 새 값으로 업데이트합니다.

    구성 파일 대신 명령줄 옵션을 사용하는 경우 아래 재시작 중에 명령줄 옵션을 업데이트해야 합니다.

  3. mongod 인스턴스를 다시 시작합니다.

    • 구성 파일을 사용하는 경우:

      mongod -f <path/to/myconfig.conf>
    • 구성 파일 대신 명령줄 옵션을 사용하는 경우 --wiredTigerJournalCompressor을(를) 새 값으로 업데이트합니다.

      mongod --shardsvr --wiredTigerJournalCompressor <differentCompressor|none> --replSet ...

돌아가기

인메모리

이 페이지의 내용