Надежное облачное развертывание означает наличие хорошо продуманной стратегии управления данными. В CloudSigma мы предлагаем бесплатные функции, такие как создание моментальных снимков (снапшотов), а также многоуровневое хранение. Таким образом, можно внедрить отличную структуру управления данными для обеспечения надежной защиты доступности и целостности данных, которые вы храните в облаке.
В этой статье мы делимся с вами скриптом, который позволяет автоматизировать преобразование моментального снимка диска в полноценный диск. Это отлично подходит для резервного копирования различных точек восстановления, созданных вами с помощью функции резервного копирования дисков. Эта функциональность реализуется с помощью скрипта на Python, который, в свою очередь, использует бесплатную библиотеку CloudSigma Python Library (вы можете скачать ее здесь).
Итак, начнем!
Сначала вам нужно установить Python на свой локальный компьютер или сервер, если он еще не установлен. Установка Python, как правило, проста, и сегодня многие дистрибутивы Linux и UNIX по умолчанию включают в себя последнюю версию Python. Даже некоторые компьютеры с Windows теперь поставляются с уже установленным Python. Ниже приведен краткий обзор установки Python для различных операционных систем.
Установка по ОС
Mac OS X
|
1 |
sudo pip install cloudsigma |
Ubuntu
|
1 2 |
sudo apt-get -y install python-pip pip install cloudsigma |
CentOS / RHEL
Чтобы установить модуль CloudSigma, вам сначала необходимо установить репозиторий EPEL для последующей установки PIP. Инструкции ниже приведены для RHEL 6.x / CentOS 6.x. Для получения более подробной информации об установке репозитория посетите сайт EPEL здесь.
|
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 |
Настройка Python и скрипта
Теперь давайте проверим, правильно ли установлен Python, с помощью этой простой команды:
|
1 |
python --version |
Вывод версии вышеуказанной команды должен быть похож на: Python 2.7.10
После того, как на вашем компьютере будет установлен Python, мы сможем продолжить настройку py-cloudsigma.
Чтобы библиотека CloudSigma могла взаимодействовать с API, вам необходимо предоставить свои учетные данные.
Они задаются в файле ~/.cloudsigma.conf.
Вот пример версии файла, который «связывается» с дата-центром в Сан-Хосе. Если вместо этого вы хотите использовать дата-центр в Цюрихе, просто замените sjc на zrh в api_endpoint и 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 = |
Поскольку этот файл содержит учетные данные, настоятельно рекомендуется установить права доступа к файлу на chmod 600, чтобы этот файл мог читать только его владелец:
|
1 |
chmod 600 ~/.cloudsigma.conf |
Теперь мы готовы создать и запустить скрипт на Python. Ниже мы приводим полный исходный код, так что просто откройте ваш любимый текстовый редактор и вставьте его туда или воспользуйтесь ссылкой для скачивания здесь
Обратите внимание, что при сохранении файла его расширение должно быть .py.
|
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 снимка: ") 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 "Готово" drive.delete(ssd_drive['uuid']) else: time.sleep(1) |
Запустите скрипт с помощью следующей команды:
|
1 |
.py |
Основная цель этого скрипта — сделать управление хранилищем максимально удобным и простым, особенно для новых пользователей и для тех, кто предпочитает консоль графическому интерфейсу 🙂
Комментарии
Комментариев пока нет. Будьте первым.