WBADMIN: Aclaraciones (vssFull vs vssCopy)

Si tu sistema tiene un motor de base de datos (por ejemplo, SQL Server, MySQL, PostgreSQL, etc.), la elección entre -vssFull y -vssCopy para realizar copias de seguridad con wbadmin depende de varios factores relacionados con la consistencia de los datos, el tipo de backup que estás buscando y los requerimientos de recuperación. Aquí tienes una recomendación dependiendo de algunos escenarios comunes:

Recomendación General para Bases de Datos:

  • Usa -vssCopy para asegurar que cada backup sea completo y consistente, sin afectar las marcas de respaldo de las bases de datos. Este método es más seguro en entornos de bases de datos donde cada backup completo debe ser independiente y autocontenido.

Detalle de las recomendaciones:

1. -vssCopy para copias completas e independientes (Recomendado):

  • Motivo: Las bases de datos suelen realizar sus propios backups y tienen sus propias estrategias de gestión de transacciones. Con -vssCopy, realizas una copia completa de todo el sistema sin modificar las marcas de respaldo de los archivos (incluyendo los archivos de la base de datos). Esto asegura que tu base de datos pueda seguir utilizando su propia política de backups, sin interferencias.
  • Escenarios comunes:
  • Si la base de datos realiza sus propios backups programados (por ejemplo, copias completas e incrementales internas).
  • Si quieres tener backups completos de todo el sistema, incluidos los archivos de la base de datos, para un posible desastre (backup bare-metal), pero no quieres interferir con el proceso de respaldo de la base de datos.
  • Garantiza que cada copia de seguridad sea completa e independiente, útil para una restauración completa del sistema.
  • Ventajas:
  • Evita interferencias con las copias de seguridad de la base de datos.
  • Ideal si deseas realizar backups completos periódicamente del sistema, ya que no marcará los archivos de la base de datos como respaldados.
  • Cada backup es completo, por lo que no dependes de otras copias de seguridad anteriores para la recuperación.
  • Desventajas:
  • Requiere más espacio de almacenamiento y tiempo para cada copia de seguridad, ya que siempre es una copia completa.

2. -vssFull para escenarios con optimización de espacio (Usar con precaución):

  • Motivo: Si utilizas -vssFull, marcarás los archivos respaldados (incluyendo archivos de bases de datos) como copiados, lo que puede interferir con los mecanismos de backup de la propia base de datos. Esto puede generar inconsistencia o afectar la política de retención de transacciones y registros de la base de datos.
  • Posible uso: Si estás buscando hacer backups incrementales de todo el sistema y la base de datos no está realizando sus propios backups internos, podrías considerar usar -vssFull, pero con mucha cautela. En la mayoría de los casos, no es recomendable utilizar esta opción en servidores con bases de datos sin tener en cuenta los mecanismos de backup de la base de datos.
  • Ventajas:
  • Ahorro de espacio en los backups, ya que solo copia los cambios desde el último backup.
  • Desventajas:
  • Peligro de inconsistencia en bases de datos: Al marcar los archivos como respaldados, podrías interferir con el manejo interno de los archivos de la base de datos, lo que puede provocar problemas de integridad o conflictos con sus propios mecanismos de respaldo.
  • Para garantizar la consistencia de los datos, tendrías que detener el motor de la base de datos durante la copia de seguridad, lo cual no es práctico en la mayoría de los entornos de producción.

Otros puntos a considerar:

  1. Backup en caliente y consistencia de bases de datos:
  • Las bases de datos generalmente manejan transacciones activas, y un simple backup de archivos de base de datos puede no ser consistente si el sistema está en uso (esto se denomina backup en caliente). A menos que la base de datos y el sistema de archivos estén en modo de «quiesce» (sin operaciones en curso), es mejor utilizar los mecanismos de respaldo nativos del motor de la base de datos.
  1. Complementar con backups específicos de la base de datos:
  • Para bases de datos, lo ideal es que utilices las herramientas nativas del motor de base de datos para realizar backups consistentes (por ejemplo, SQL Server Management Studio (SSMS), mysqldump, o las herramientas de PostgreSQL), además de utilizar wbadmin para hacer copias de seguridad completas del sistema.
  • De esta manera, tienes backups completos del sistema con wbadmin y backups consistentes y granulares de las bases de datos utilizando las herramientas propias de la base de datos.

Resumen:

  • Usa -vssCopy para garantizar que las copias de seguridad sean completas y no interfieran con los mecanismos de respaldo de la base de datos.
  • No es recomendable usar -vssFull en sistemas con bases de datos activas, ya que podría generar inconsistencias en los archivos de la base de datos o interferir con los mecanismos de respaldo del motor de la base de datos.
  • Complementa los backups del sistema con backups específicos de la base de datos usando las herramientas nativas del motor de la base de datos para garantizar la consistencia de los datos.

Caso de uso recomendado:

  • Opción ideal: Configura backups específicos de la base de datos usando las herramientas nativas de tu base de datos para hacer respaldos consistentes. Usa wbadmin -vssCopy para hacer backups completos del sistema sin interferir con esos procesos.

Con esta estrategia, estarás protegiendo tanto el sistema operativo como la base de datos de manera adecuada.