Saltar al contenido principal

feature-compatibility-version


path: databases/mongodb/feature-compatibility-version.mdx title: Feature Compatibility Version (FCV) slug: feature-compatibility-version pagination_next: null pagination_prev: null sidebar_position: 1 description: >- Este artículo explica el parámetro FCV (Feature Compatibility Version), que proporciona compatibilidad con versiones anteriores al actualizar nodos de MongoDB. keywords:

  • Passwork
  • MongoDB
  • FCV
  • component
  • update
  • upgrade

Descripción general

Feature Compatibility Version (FCV) define qué funciones de MongoDB están habilitadas. Se almacena en la colección admin.system.version y tiene como valor predeterminado la versión en la que se implementó la base de datos por primera vez.

FCV permite que un conjunto de réplicas opere temporalmente en modo de compatibilidad con una versión anterior de MongoDB, incluso después de actualizar los archivos binarios. Esto proporciona la capacidad de actualizar los nodos del conjunto de réplicas paso a paso sin requerir tiempo de inactividad.

peligro

Nota: FCV solo admite una versión anterior. Por ejemplo, MongoDB 7.0 puede tener FCV configurado como "6.0" o "7.0", pero no "5.0". Por lo tanto, las actualizaciones deben realizarse paso a paso: 6.0 → 7.0, luego 7.0 → 8.0, y así sucesivamente.

Para instancias independientes de MongoDB, FCV no desempeña un papel significativo — las actualizaciones se realizan directamente sin considerar FCV.

Verificar y configurar el parámetro FCV

peligro

Antes de realizar cualquier operación que pueda afectar a MongoDB, debe crear una copia de seguridad de su base de datos. Sin una copia de seguridad de la base de datos, la recuperación de datos puede ser imposible, y nuestro equipo de soporte no podrá ayudar en caso de fallo o interrupción inesperada.
Ejemplos de creación y restauración de copias de seguridad

Verificación de FCV antes de actualizar:

  1. Conéctese a su conjunto de réplicas utilizando una cuenta de usuario con acceso a la base de datos admin:
mongosh "mongodb://your_admin_user:your_password@node1:27017,node2:27017,node3:27017/?replicaSet=your_replicaset_name"
  1. Obtenga el valor actual de FCV:
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
  1. Si el valor de FCV es inferior a la versión actual de MongoDB, actualícelo para que coincida con la versión que está utilizando:
db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })

Procedimiento de actualización paso a paso para conjuntos de réplicas

  1. Detenga un nodo secondary, actualícelo a la siguiente versión principal de MongoDB e inícielo de nuevo.
  2. Espere hasta que el nodo actualizado se sincronice completamente con su conjunto de réplicas:
rs.status()
  1. Repita el proceso para los nodos secondary restantes.
  2. Degrade su primary actual y promueva uno de los nodos secondary actualizados a primary:
rs.stepDown()
  1. Asegúrese de que su antiguo primary se haya convertido en secondary:
rs.status()
  1. Actualice el antiguo nodo primary a la versión de destino.
  2. Una vez que todos los miembros del conjunto de réplicas hayan sido actualizados, eleve el FCV a la nueva versión.
db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })