자체 관리형 독립형을 WiredTiger 로 변경
참고
WiredTiger로 업그레이드해야 합니다. MongoDB는 버전 4.2에서 더 이상 사용되지 않는 MMAPv1 스토리지 엔진을 제거했습니다.
이 튜토리얼을 사용하여 독립형 MongoDB 인스턴스의 스토리지 엔진을 WiredTiger로 변경하세요.
고려 사항
mongodump
및 mongorestore
이 튜토리얼에서는 mongodump
및 mongorestore
유틸리티를 사용하여 데이터를 내보내고 가져옵니다.
로컬 호스트에 기본 바인딩
2} 및mongod
mongos
MongoDB localhost
바이너리는 기본적으로 에 바인딩됩니다.
튜토리얼은 연결 중인 mongod
와 동일한 호스트에서
mongodump
및 mongorestore
를 실행합니다. 원격으로 실행되는 경우
mongodump
및 mongorestore
를 mongod
에 연결하려면 반드시 IP 주소 또는 관련 호스트 이름을 지정해야 합니다.
XFS 및 WiredTiger
WiredTiger 스토리지 엔진의 경우, Linux에서는 데이터 저장 노드에 XFS를 사용하는 것이 좋습니다. 자세한 내용은 커널 및 파일 시스템을 참조하세요.
MMAPv1 전용 제한 사항
WiredTiger로 업그레이드하면 WiredTiger 배포에는 다음과 같은 MMAPv1 전용 제한 사항이 적용되지 않습니다:
MMAPv1 제한 사항 | 짧은 설명 |
---|---|
네임스페이스 수 | MMAPv1의 경우 네임스페이스 수는 네임스페이스 파일 크기를 628로 나눈 값으로 제한됩니다. |
네임스페이스 파일 크기 | MMAPv1의 경우 네임스페이스 파일은 2047메가바이트를 넘지 않아야 합니다. |
데이터베이스 크기 | MMAPv1 스토리지 엔진은 각 데이터베이스를 16,000개 이하의 데이터 파일로 제한합니다. |
데이터 크기 | MMAPv1의 경우 단일 |
데이터베이스의 컬렉션 수 | MMAPv1 스토리지 엔진의 경우, 데이터베이스 내 컬렉션의 최대 수는 네임스페이스 파일의 크기와 데이터베이스 내 컬렉션의 인덱스 수에 따라 결정됩니다. |
절차
WiredTiger로 변경하려는 mongod
을(를) 시작합니다.
mongod
가 이미 실행 중이면 이 단계를 건너뛸 수 있습니다.
mongodump
를 사용하여 데이터를 내보냅니다.
mongodump --out=<exportDataDestination>
사용자 이름 및 비밀번호와 같은 추가 옵션을 적절하게 지정합니다(권한 부여가 활성화된 상태에서 실행되는 경우). 사용 가능한 옵션은 mongodump
에서 확인하세요.
WiredTiger로 실행되는 새 mongod
에 대한 데이터 디렉토리를 만듭니다.
WiredTiger 스토리지 엔진으로 실행할 새 mongod
인스턴스의 데이터 디렉토리를 만듭니다. mongod
는 이 디렉토리에 대한 읽기 및 쓰기 권한이 있어야 합니다.
WiredTiger 를 사용하는 mongod
는 다른 스토리지 엔진 으로 생성된 데이터 파일로 시작되지 않습니다.
WiredTiger의 구성을 업데이트합니다.
mongod
인스턴스 구성에서 모든 MMAPv1 구성 옵션을 제거하세요.
WiredTiger로 mongod
을(를) 시작합니다.
mongod
를 시작하여 wiredTiger
를 --storageEngine
으로 지정하고 WiredTiger를 위해 새로 만든 데이터 디렉토리를 --dbpath
로 지정합니다.
필요에 따라 추가 옵션을 지정합니다(예: --bind_ip
).
경고
로컬 호스트가 아닌 에 바인딩하기 전에(예: 공개적으로 액세스할 수 있는) IP 주소 인 경우 무단 액세스 로부터 클러스터 를 보호했는지 확인합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증 을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<hostname(s)|ip address(es)>
구성 파일에서 옵션을 지정할 수도 있습니다. 스토리지 엔진을 지정하려면 storage.engine
설정을 사용합니다.
mongorestore
을(를) 사용하여 내보낸 데이터를 업로드합니다.
mongorestore <exportDataDestination>
필요에 따라 추가 옵션을 지정합니다. 사용 가능한 옵션은 mongorestore
에서 확인하세요.