Una implementación en la nube robusta significa tener una estrategia de gestión de datos bien pensada. En CloudSigma ofrecemos funcionalidades gratuitas como la creación de instantáneas (snapshots), así como almacenamiento por niveles. Por lo tanto, es posible implementar un excelente marco de gestión de datos para garantizar una sólida protección de la disponibilidad e integridad de los datos que almacena en la nube.
En esta publicación compartimos con usted un script que le permite automatizar la promoción de una instantánea (snapshot) de un disco a un disco completo. Esto es ideal para respaldar varios puntos de restauración que haya creado con la funcionalidad de copia de seguridad de disco. Esta funcionalidad se logra mediante un script de Python, que a su vez aprovecha la biblioteca gratuita de CloudSigma para Python (puede descargarla desde aquí).
¡Así que empecemos!
Primero debe instalar Python en su máquina local o servidor si aún no lo tiene. Instalar Python generalmente es fácil, y hoy en día muchas distribuciones de Linux y UNIX incluyen una versión reciente de Python por defecto. Incluso algunas computadoras con Windows ya vienen con Python instalado. Aquí tiene un breve resumen de cómo instalar Python para varios sistemas operativos.
Instalación por sistema operativo
Mac OS X
|
1 |
sudo pip install cloudsigma |
Ubuntu
|
1 2 |
sudo apt-get -y install python-pip pip install cloudsigma |
CentOS / RHEL
Para instalar el módulo de CloudSigma, primero debe instalar el repositorio EPEL para poder instalar PIP. Las instrucciones a continuación son para RHEL 6.x / CentOS 6.x. Para obtener más detalles sobre la instalación del repositorio, visite el sitio de EPEL en aquí.
|
1 2 3 4 5 |
yum install -y wget wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh epel-release-6-8.noarch.rpm yum install -y python-pip pip install cloudsigma |
Configuración de Python y del script
Ahora verifiquemos que Python esté instalado correctamente con este sencillo comando:
|
1 |
python --version |
La versión de salida del comando anterior debería ser similar a: Python 2.7.10
Una vez que tenga Python instalado en su máquina, podemos proceder con la configuración de py-cloudsigma.
Para que la biblioteca de CloudSigma interactúe con la API, debe proporcionar sus credenciales.
Estas se configuran en el archivo ~/.cloudsigma.conf.
Aquí tiene una versión de muestra del archivo que se «comunica» con el centro de datos de San José. Si en su lugar desea utilizar el centro de datos de Zúrich, simplemente reemplace sjc por zrh en api_endpoint y ws_endpoint.
|
1 2 3 4 |
api_endpoint = https://sjc.cloudsigma.com/api/2.0/ ws_endpoint = wss://direct.sjc.cloudsigma.com/websocket username = password = |
Dado que este archivo incluye credenciales, se recomienda encarecidamente establecer los permisos del archivo en chmod 600 para que este archivo solo pueda ser leído por el propietario:
|
1 |
chmod 600 ~/.cloudsigma.conf |
Ahora estamos listos para crear y ejecutar el script de Python. Incluimos el código fuente completo a continuación, así que simplemente abra su editor de texto favorito y péguelo allí o use el enlace de descarga aquí
Tenga en cuenta que la extensión del archivo debe ser .py al guardar el archivo.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/python import cloudsigma from pprint import pprint import time uid = raw_input("UUID de la instantánea: ") snapshots = cloudsigma.resource.Snapshot() ssd_drive = snapshots.clone(uid) pprint(ssd_drive) time.sleep(10) drive = cloudsigma.resource.Drive() zadara_drive = drive.clone((ssd_drive['uuid']), {'storage_type': 'zadara'}) pprint(zadara_drive) zadara_ready = False while not zadara_ready: if drive.get(zadara_drive['uuid'])['status'] == 'unmounted': zadara_ready = True print "Hecho" drive.delete(ssd_drive['uuid']) else: time.sleep(1) |
Ejecuta el script mediante el siguiente comando:
|
1 |
.py |
El objetivo principal de este script es hacer las cosas lo más cómodas y sencillas posible en lo que respecta a la gestión del almacenamiento, especialmente para los nuevos usuarios y para aquellos que prefieren la consola antes que la interfaz gráfica de usuario (GUI) 🙂
Comentarios
Aún no hay comentarios. Sea el primero.