Volver al blog

Gestión de almacenamiento con instantáneas periódicas automáticas

Gestión de almacenamiento con instantáneas periódicas automáticas

Hace un tiempo, introdujimos la capacidad de realizar instantáneas de una unidad. Esta es una función muy útil que le permite guardar de forma rápida y eficiente los estados de la unidad, incluso en sistemas activos.

Gracias a ZFS, las instantáneas automáticas solo consumirán el delta entre el estado actual y el momento en que se tomó la instantánea. Esto significa que si su unidad original era de 15 GB y solo ha cambiado 1 MB de datos entre la instantánea y el estado actual, el tamaño de la instantánea sería de 1 MB. Si escribe otro megabyte en el disco, la instantánea crecerá otro megabyte.

Otra de las ventajas de este sistema es que cualquier instantánea se puede promocionar (clonar) a una unidad de disco completa. Esto significa que puede crear una copia independiente que se puede montar en un servidor, potencialmente en un sistema de almacenamiento completamente diferente. Como tal, esto constituye la base de una estrategia de gestión del almacenamiento (según su carga de trabajo).

Una advertencia

Si bien el uso de instantáneas periódicas puede formar parte de su estrategia de copia de seguridad, no es prudente confiar en las instantáneas como su única estrategia.

También existen numerosas situaciones en las que el uso de estas instantáneas no funcionará, como realizar una instantánea de un servidor de base de datos en ejecución. La funcionalidad de instantánea aún puede ser útil en servidores de bases de datos detenidos (para crear una restauración a un punto en el tiempo), pero, una vez más, no debería ser su única estrategia de copia de seguridad.

Creación de instantáneas automáticas

Utilizando nuestra biblioteca de Python, automatizar las instantáneas es realmente sencillo. Sin embargo, dado que necesitamos almacenar las credenciales de CloudSigma en el sistema que activa las instantáneas, le desaconsejamos encarecidamente exponer las credenciales del servicio de producción de forma insegura. Si desea ejecutar esto en un servidor en la nube, por ejemplo, asegúrese de que esté aislado del resto de la infraestructura (como mediante el uso de nuestra función de políticas de red) y que esté completamente bloqueado.

Después de instalar la biblioteca de Python, puede descargar y ejecutar el script de la siguiente manera:

[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot.py
$ python snapshot.py drive-uuid my-snapshot
[/bash]

snapshot.py toma dos argumentos:

  • El UUID de la unidad de la que desea realizar una instantánea
  • Un nombre descriptivo para la instantánea

Después de haber creado manualmente una instantánea y verificado que funciona (puede ver esto en la sección ‘instantánea’ de la unidad), ahora podemos automatizar esto.

La forma más adecuada y estandarizada de ejecutar una tarea como esta sería en el crontab (asumiendo que está en Linux o Mac OS X).

Con el mismo usuario con el que creó la instantánea anterior, ejecute:
[bash light=”true”] $ crontab -e
[/bash]

Si desea realizar una instantánea todas las noches a la 1:00 a. m., agregue la siguiente línea:

También notará que el script registrará en un archivo llamado snapshot.log en el directorio de inicio del usuario que ejecuta el script.

Purga automática de instantáneas

Dado que las instantáneas crecen con el tiempo, es probable que desee eliminarlas después de un tiempo. Para resolver este problema, hemos creado otro script que puede hacer esto por usted. El script se llama snapshot_purge.py y toma dos argumentos:

  • El UUID de la unidad
  • La cantidad de días de instantáneas que desea conservar

Por ejemplo, si desea conservar 30 días de instantáneas, simplemente puede ejecutar:
[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot_purge.py
$ python snapshot_purge.py drive-uuid 30
[/bash]

Por supuesto, también puede automatizar esto. Por ejemplo, si queremos purgar las instantáneas con más de 30 días de antigüedad, podemos agregar lo siguiente a nuestro crontab (que se ejecutará a la 1:30 a. m.):

En resumen

Eso es todo, amigos. Con estos dos scripts, podrá automatizar las instantáneas de sus unidades. Si necesita realizar instantáneas de varias unidades, simplemente agregue más líneas de snapshot.py a su crontab con diferentes UUID.

Por supuesto, solo estamos arañando la superficie de lo que podemos hacer con las instantáneas, pero espero que esto sirva como un curso intensivo rápido sobre el uso de instantáneas para sus rutinas de administración de almacenamiento.

Si tiene necesidades de retención de datos más sofisticadas, con suerte podrá reutilizar parte del código de los scripts anteriores.

author

Viktor Petersson

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.