문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

Oplog의 크기 변경

이 페이지의 내용

  • A. 복제본 세트 멤버에 연결
  • B. (선택 사항) oplog의 현재 크기 확인
  • C. 복제본 세트 멤버의 oplog 크기 변경
  • D. (선택 사항) oplog.rs를 압축하여 디스크 공간 확보

경고

MongoDB 버전 3.4 이하에서는 local.oplog.rs 컬렉션을 삭제하고 다시 생성하여 oplog의 크기를 조정했습니다.

MongoDB 버전 3.6 이상에서는 replSetResizeOplog 명령을 사용하여 이 튜토리얼에 표시된 대로 oplog의 크기를 조정합니다.

MongoDB 4.0부터 MongoDB는 local.oplog.rs 컬렉션 삭제를 금지합니다. 이 제한에 대한 자세한 내용은 Oplog 수집 동작을 참조하십시오.

이 절차는 replSetResizeOplog 명령을 사용하여 복제본 세트의 각 멤버에 대한 oplog[1]의 크기를 변경하며, 이때 프라이머리 멤버로 진행하기 전에 세컨더리 멤버부터 시작합니다.

먼저세컨더리 복제본 세트 멤버에 대해 이 단계를 수행합니다. 모든 세컨더리 멤버의 oplog 크기를 변경한 후에는 프라이머리 멤버에 대해 이 단계를 수행합니다.

mongosh 를 사용하여 복제본 세트 멤버에 연결합니다.

mongosh --host <hostname>:<port>

참고

복제본 세트에서 인증을 적용하는 경우, clusterManager 또는 clusterAdmin 역할과 같이 local 데이터베이스를 수정할 수 있는 권한이 있는 사용자로 인증해야 합니다.

oplog의 현재 크기를 보려면 local 데이터베이스로 전환하고 oplog.rs 컬렉션에 대해 db.collection.stats()를 실행합니다. stats()는 oplog 크기를 maxSize로 표시합니다.

use local
db.oplog.rs.stats().maxSize

maxSize 필드는 컬렉션 크기를 바이트 단위로 표시합니다.

replSetResizeOplog 명령을 사용하여 oplog의 크기를 조정합니다. size 는 두 배이며 990 메가바이트보다 커야 합니다. mongosh 에서 oplog size 를 명시적으로 캐스팅하려면 Double() 생성자를 사용합니다.

다음 작업은 복제본 세트 멤버의 oplog 크기를 16GB 또는 16,000MB로 변경합니다.

db.adminCommand({replSetResizeOplog: 1, size: Double(16000)})
[1] 2}가 삭제되는 것을 방지하기 위해 oplog가 구성된 크기 제한을 초과하여 커질 수 majority commit point 있습니다.

oplog의 크기를 줄여도 원래 oplog 크기에 할당된 디스크 공간이 자동으로 회수되지는 않습니다 . 디스크 공간을 다시 확보하려면 local 데이터베이스의 oplog.rs 컬렉션에 대해 compact를 실행해야 합니다. oplog 크기를 늘린 후 oplog.rs 컬렉션에서 compact를 실행해도 아무런 이점이 없습니다.

중요

복제본 세트 멤버는 compact 작업이 진행되는 동안 oplog 항목을 복제할 수 있습니다. 결과적으로, 압축하는 동안 oplog 복제가 정상적으로 계속될 수 있으므로 더 이상 oplog의 압축 작업을 유지 관리 기간으로 제한할 필요가 없습니다.

프라이머리 복제본 세트 멤버에 대해 compact실행하지 마세요. mongo 셸을 (복제본 세트가 아니라) 프라이머리에 직접 연결하고 rs.stepDown()을 실행합니다. 성공하면 프라이머리가 강등됩니다. mongo 셸에서 이제 세컨더리 멤버가 된 멤버에 대해 compact 명령을 실행합니다.

다음 작업은 oplog.rs 컬렉션에서 compact 명령을 실행합니다.

use local
db.runCommand({ "compact" : "oplog.rs" } )

인증을 적용하는 클러스터의 경우, local 데이터베이스 및 oplog.rs 컬렉션에서 compact 권한 작업을 가진 사용자로 인증해야 합니다. compact 인증 요구 사항에 관한 전체 문서는 compact 필수 권한에서 확인하세요.

← 복제본 세트 유지 관리 튜토리얼