Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

설정 기능 호환성 버전

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 행동
  • 예시
setFeatureCompatibilityVersion

이전 버전의 MongoDB와 호환되지 않는 데이터를 유지하는 기능을 활성화하거나 비활성화합니다. admin 데이터베이스에 대해서만 setFeatureCompatibilityVersion을(를) 발행할 수 있습니다.

경고

이전 버전과 호환되지 않는 기능을 활성화하면 다운그레이드하기 전에 지속되는 이전 버전과 호환되지 않는 기능을 제거해야 하므로 다운그레이드 프로세스가 복잡해질 수 있습니다.

업그레이드 후에는 다운그레이드 가능성을 최소화하기 위해 번인 기간 동안 이전 버전과 호환되지 않는 기능을 활성화하지 않고 배포를 실행하도록 허용하는 것이 좋습니다. 다운그레이드 가능성이 매우 낮다고 확신하는 경우 이 기능을 활성화합니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

명령은 다음과 같은 형식을 취합니다.

db.adminCommand( {
setFeatureCompatibilityVersion: <version>,
writeConcern: { wtimeout: <timeout> }
} )

version 의 값은 다음과 같습니다.

버전
설명

"5.0"

MongoDB 5.0 에서 사용 가능 배포

MongoDB 4.4와 호환되지 않는 데이터를 보존하는 5.0 기능을 활성화합니다.

"4.4"

MongoDB 4.4 및 5.0 배포에서 사용 가능

MongoDB 4.2 과 호환되지 않는 데이터를 유지하는 4.4 기능을 활성화합니다.

"4.2"

MongoDB 4.4 배포에서 사용 가능

MongoDB 4.2 과 호환되지 않는 데이터를 유지하는 4.4 기능을 비활성화합니다.

옵션

writeConcern은 쓰기 고려 wtimeout 값을 밀리초 단위로 지정합니다.

  • 프라이머리가 복제본 세트 멤버 과반수의 승인을 기다리는 기간입니다. 해당 기간 내에 승인을 받지 못하면 작업이 실패합니다.

  • 기본값은 60000밀리초입니다. 복제본 세트의 세컨더리 멤버에 wtimeout 기본값을 초과하는 지연이 있는 경우 더 긴 기간을 사용합니다.

참고

  • 독립형의 경우, 독립형 mongod 인스턴스에서 명령을 실행합니다.

  • 복제본 세트의 경우 프라이머리에서 명령을 실행합니다. 데이터를 포함하는 멤버의 대부분을 사용할 수 있어야 합니다.

  • 샤딩된 클러스터의 경우 mongos 인스턴스에서 명령을 실행합니다.

특정 백그라운드 작업으로 인해 setFeatureCompatibilityVersion이 실행되지 않을 수 있습니다. currentOp를 사용하여 진행 중인 작업을 식별하세요.

초기 동기화 중에 setFeatureCompatibilityVersion 변경 사항을 트리거하면 oplog 애플리케이션 단계에서 항목을 재생할 때 OplogOperationUnsupported 오류 메시지와 함께 동기화가 실패할 수 있습니다. 이 시도 이후의 동기화는 작업 단계에서 더 이상 작업을 재생하지 않기 때문에 성공합니다.

배포
featureCompatibilityVersion

새로운 5.0 배포의 경우

"5.0"

4.4에서 업그레이드된 5.0 배포의 경우

"4.4" 에서 으로 전환될 setFeatureCompatibilityVersion 때까지."5.0"

이 명령은 내부 시스템 컬렉션에 대한 쓰기를 수행해야 합니다. 어떤 이유로든 명령이 성공적으로 완료되지 않는 경우 작업이 무력하므로 명령을 안전하게 다시 시도할 수 있습니다.

중재자는 admin.system.version 컬렉션을 복제하지 않습니다. 이로 인해 중재자는 복제본 세트의 FCV 값에 관계없이 바이너리의 다운그레이드 버전과 동일한 기능 호환성 버전을 항상 갖게 됩니다.

그 예로 MongoDB 5.0 클러스터에 속한 중재자의 FCV 값은 4.4입니다.

mongod 인스턴스 의 featureCompatibilityVersion 를 보려면 mongod 인스턴스 에서 다음 명령을 실행 합니다.

참고

작업이 mongos 인스턴스에서 정의되지 않았습니다. 액세스 제어가 활성화된 샤드 클러스터의 경우, 샤드 복제본 세트의 멤버에 대해 명령을 실행하려면 샤드 로컬 사용자로 멤버에 연결해야 합니다.

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

이 명령의 출력은 mongod 의 현재 상태에 따라 다음 중 하나와 유사합니다.

  • 배포에 기본 featureCompatibilityVersion 가 있거나 배포에 대해 setFeatureCompatibilityVersion 명령이 성공적으로 실행된 경우 featureCompatibilityVersion 형식은 다음과 같습니다.

    "featureCompatibilityVersion" : {
    "version" : <version>
    }
  • mongod 가 부분적으로 업그레이드되거나 다운그레이드된 상태인 경우 featureCompatibilityVersion 는 다음과 같은 형식을 갖습니다.

    "featureCompatibilityVersion" : {
    "version" : <version> ,
    "targetVersion" : <target version>
    }

    예를 들어, 샤드 클러스터에 에 대해 명령을 실행할 때 읽기 setFeatureCompatibilityVersion mongos 전용인 샤드 복제본 세트가 있는 경우, 명령은 featureCompatibilityVersion 실패하고 config targetVersion 서버의 에 필드가 포함됩니다. .

    또는 setFeatureCompatibilityVersion 가 실행되는 동안 복제본 세트가 읽기 전용이 되면 명령이 실패하고 복제본 세트의 featureCompatibilityVersiontargetVersion 필드도 포함됩니다.

MongoDB 4.4와 호환되지 않는 데이터를 유지하는 5.0 기능을 활성화하려면 MongoDB 5.0 배포에서 기능 호환성을 "5.0"으로 설정합니다.

참고

admin 데이터베이스에 대해 setFeatureCompatibilityVersion 명령을 실행합니다.

  • 독립형의 경우, 독립형 mongod 인스턴스에서 명령을 실행합니다.

  • 복제본 세트의 경우 프라이머리에서 명령을 실행합니다. 데이터를 포함하는 멤버의 대부분을 사용할 수 있어야 합니다.

  • 샤딩된 클러스터의 경우 mongos 인스턴스에서 명령을 실행합니다.

db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )

MongoDB 4.4와 호환되지 않는 데이터를 유지하는 5.0 기능을 비활성화하려면 MongoDB 5.0 배포에서 기능 호환성을 "4.4"으로 설정합니다.

참고

admin 데이터베이스에 대해 setFeatureCompatibilityVersion 명령을 실행합니다.

  • 독립형의 경우, 독립형 mongod 인스턴스에서 명령을 실행합니다.

  • 복제본 세트의 경우 프라이머리에서 명령을 실행합니다. 데이터를 포함하는 멤버의 대부분을 사용할 수 있어야 합니다.

  • 샤딩된 클러스터의 경우 mongos 인스턴스에서 명령을 실행합니다.

  • "4.4" featureCompatibilityVersion은 MongoDB 4.4 및 MongoDB 5.0 배포에서만 지원됩니다.

db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )

MongoDB 5.0에서 4.4로 다운그레이드하는 downgrade 프로세스의 일부로 실행하는 경우, 4.4와 호환되지 않는 모든 영구 기능도 제거해야 합니다. 적절한 다운그레이드 절차를 참조하세요.

다음 예시에서는 선택적 쓰기 고려 wtimeout 필드를 5000(5초)으로 설정합니다.

참고

admin 데이터베이스에 대해 setFeatureCompatibilityVersion 명령을 실행합니다.

  • 독립형의 경우, 독립형 mongod 인스턴스에서 명령을 실행합니다.

  • 복제본 세트의 경우 프라이머리에서 명령을 실행합니다. 데이터를 포함하는 멤버의 대부분을 사용할 수 있어야 합니다.

  • 샤딩된 클러스터의 경우 mongos 인스턴스에서 명령을 실행합니다.

db.adminCommand( {
setFeatureCompatibilityVersion: "5.0",
writeConcern: { wtimeout: 5000 }
} )

돌아가기

setAuditConfig

이 페이지의 내용