Uma implantação robusta na nuvem significa ter uma estratégia de gerenciamento de dados bem pensada. Na CloudSigma, oferecemos funcionalidades gratuitas, como a criação de snapshots, bem como armazenamento em camadas. Portanto, é possível implementar uma excelente estrutura de gerenciamento de dados para garantir uma forte proteção para a disponibilidade e integridade dos dados que você armazena na nuvem.
Neste post, compartilhamos com você um script que permite automatizar a promoção de um snapshot de um disco para um disco completo. Isso é ótimo para fazer backup de vários pontos de restauração que você criou com a funcionalidade de backup de disco. Essa funcionalidade é alcançada usando um script python, que por sua vez aproveita a biblioteca gratuita CloudSigma Python Library (você pode baixá-la de aqui).
Então, vamos começar!
Primeiro, você precisa instalar o python em sua máquina local ou servidor, caso ainda não o tenha. Instalar o Python geralmente é fácil e, hoje em dia, muitas distribuições Linux e UNIX incluem uma versão recente do Python por padrão. Até mesmo alguns computadores Windows já vêm com o Python instalado. Aqui está uma breve visão geral da instalação do Python para vários sistemas operacionais.
Instalação por SO
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 o módulo CloudSigma, primeiro você precisa instalar o repositório EPEL para poder instalar o PIP. As instruções abaixo são para RHEL 6.x / CentOS 6.x. Para mais detalhes sobre a instalação do repositório, visite o site do EPEL em aqui.
|
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 |
Configuração do Python e do Script
Agora vamos verificar se o python está instalado corretamente com este comando simples:
|
1 |
python --version |
A versão de saída do comando acima deve ser semelhante a: Python 2.7.10
Depois de ter o python instalado em sua máquina, podemos prosseguir com a py-cloudsigma configuração.
Para que a biblioteca CloudSigma interaja com a API, você precisa fornecer suas credenciais.
Estas são definidas no arquivo ~/.cloudsigma.conf.
Aqui está uma versão de exemplo do arquivo que se “comunica” com o data center de San Jose. Se, em vez disso, você quiser usar o datacenter de Zurique, basta substituir sjc por zrh no api_endpoint e 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 = |
Como este arquivo inclui credenciais, é altamente recomendável que você defina a permissão do arquivo como chmod 600 para que este arquivo só possa ser lido pelo proprietário:
|
1 |
chmod 600 ~/.cloudsigma.conf |
Agora estamos prontos para criar e executar o script python. Incluímos o código-fonte completo abaixo, então basta abrir seu editor de texto favorito e colá-lo lá ou usar o link de download aqui
Por favor, esteja ciente de que a extensão do arquivo deve ser .py quando você for salvar o arquivo.
|
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 do Snapshot: ") 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 "Concluído" drive.delete(ssd_drive['uuid']) else: time.sleep(1) |
Execute o script através do seguinte comando:
|
1 |
.py |
O principal objetivo deste script é tornar as coisas o mais convenientes e fáceis possível no lado do gerenciamento de armazenamento, especialmente para novos usuários e para aqueles que gostam mais do console do que da GUI 🙂
Comentários
Nenhum comentário ainda. Seja o primeiro.