systemadmin.es > DBA > Problemas de hacer backups de MySQL con snapshots

Problemas de hacer backups de MySQL con snapshots

Otras veces hemos hablado de las ventajas de hacer backups en bases de datos MySQL usando snapshots: Son mucho menos intrusivos y se reduce el tiempo de bloqueo. ¿Es oro todo lo que reluce?

Ciertamente no, también tiene sus inconvenientes. Primero de todo si los datos no están ya en un LVM no hay una forma fácil de convertir un sistema de ficheros sobre un disco (sda1 para entendernos) a un sistema de ficheros encima de un logical volume de LVM. En el caso que dispongamos ya de la base de datos encima de un LVM, deberemos tener cierto espacio libre en el volume group para el snapshot ya que si tenemos espacio en otro volume group no nos va a servir.

LVM de por si no añade mucha latencia en el acceso a disco por el hecho de acceder a través de él comparado con el acceso directo al dispositivo físico, pero en el caso de tener activo un snapshot resulta evidente que al tener que guardar las dos copias (bloque modificado y bloque no modificado) añade una cierta laténcia. Además, el acceso al disco deja de ser lineal para el snapshot, ya que los bloques modificados no se encuentran contiguos con el resto.

Para la base de datos, depende del tipo de carga también puede resultar un problema. Para el caso de una página web todas las consultas deberían tardar un tiempo inferior a 1 segundo. De esta forma, en general, el tiempo de hacer el LOCK TABLES para hacer el snapshot debería ser muy pequeño. En el caso que exista una query que tarde mucho, por decir algo, la generación de unas estadísticas o un UPDATE masivo el LOCK TABLES nos va a bloquear las tablas y a esperar a esta query que termine antes de hacer el snapshot: Notaríamos que el backup es intrusivo ya que nos quedaría la base de datos bloqueada de la misma forma que si usásemos un mysqldump cuando en otras ocasiones podríamos haber hecho un backup con la base de datos funcionando a pleno rendimiento.

Los backups de MySQL con snapshots tienen muchas ventajas pero también algunos inconvenientes de los que deberemos ser conscientes antes de implementarlos. Por otro lado, también es muy importante informar a todo el personal implicado para que sean conscientes de que pueden y que no pueden hacer en el momento que se va a lanzar un backup con snapshot.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>