문서 메뉴

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

복제본 세트 이름 바꾸기

이 페이지의 내용

  • 전제 조건
  • 절차

복제본 세트의 이름을 바꾸려면 복제본 세트의 모든 멤버를 종료한 다음 각 멤버의 local 데이터베이스를 새 복제본 세트 이름으로 구성해야 합니다.

이 절차를 수행하려면 다운타임이 필요합니다.

  • 복제본 세트가 샤딩되지 않았는지 확인합니다. 이름 변경 절차는 샤딩되지 않은 복제본 세트에만 적용됩니다.

  • 복제본 세트의 이름을 변경하기 전에 MongoDB deployment 전체 백업을 수행하세요.

  • 인증이 활성화된 경우, 사용자 역할에 각 구성원의 local 데이터베이스에 있는 system.replset collection에 대한 find, insertremove 권한이 있는지 확인해야 합니다.

    showPrivilegesshowBuiltinRoles 필드를 모두 true로 설정한 상태에서 rolesInfo명령을 실행하여 역할에 대한 권한을 볼 수 있습니다.

1

복제본 세트 종료 절차에 따라 복제본 세트 멤버가 종료되었는지 확인합니다.

경고

이 단계에서는 모든 복제본 멤버를 종료해야 하므로 다운타임이 필요합니다.

2

각 복제본 세트 멤버에 대해 다음 단계를 수행합니다.

  1. --replSet 옵션 없이 다른 포트에서 복제본 세트 멤버를 시작하세요.

  2. 복제본 세트 이름을 업데이트합니다.

    • 구성 파일을 사용하는 경우, replication.replSetName을 새 이름으로 설정합니다.

    • --replSet 옵션과 함께 mongod 스타트업 명령을 사용하는 경우, 사용하는 경우 f 단계에서 사용할 새 복제본 세트 이름을 기록해 두세요.

  3. 복제본 세트 멤버에 연결합니다.

  4. 다음 명령을 사용하여 로컬 데이터베이스에서 복제본 세트 이름을 업데이트해야 합니다.

    /* Set `newId` to the new replica set name */
    var newId = '<new replica set name>'
    var doc = db.getSiblingDB("local").system.replset.findOne()
    var oldId = doc._id
    doc._id = newId
    db.getSiblingDB("local").system.replset.insertOne(doc)
    db.getSiblingDB("local").system.replset.deleteOne({_id: oldId})
  5. 복제본 세트 멤버를 종료합니다.

    참고

    Ops Manager

    Ops Manager를 사용하는 경우 복제본 세트 멤버를 종료하기 전에 Ops Manager가 복제본 세트 관리를 중지해야 합니다. 이 절차에 대한 자세한 내용은 운영 관리에서 프로세스 제거를 참조하세요.

  6. 기존 포트에서 복제본 세트 멤버를 시작합니다.

    • 구성 파일을 사용하는 경우 replication.replSetName 새 복제본 세트 이름으로 설정되어 있는지 확인합니다.

    • mongod 스타트업 명령을 --replSet 옵션과 함께 사용하는 경우 복제본 세트의 새 이름을 --replSet 옵션에 전달하세요.

← 보조 동기화 대상 구성하기

이 페이지의 내용