堅牢なクラウド展開とは、十分に考え抜かれたデータ管理戦略を持つことを意味します。CloudSigmaでは、スナップショット作成や階層型ストレージなどの無料機能を提供しています。そのため、クラウドに保存するデータの可用性と整合性を強力に保護するための、優れたデータ管理フレームワークを実装することが可能です。
この投稿では、ドライブのスナップショットを完全なドライブに昇格させる作業を自動化するスクリプトをご紹介します。これは、ドライブバックアップ機能で作成したさまざまな復元ポイントをバックアップするのに最適です。この機能はPythonスクリプトを使用して実現されており、このスクリプトは無料のCloudSigma Pythonライブラリを活用しています(ダウンロードはこちらから)).
それでは始めましょう!
まず、ローカルマシンまたはサーバーにPythonがまだインストールされていない場合は、インストールする必要があります。Pythonのインストールは一般的に簡単で、現在では多くのLinuxおよびUNIXディストリビューションに最新のPythonバージョンがデフォルトで含まれています。一部のWindowsコンピュータにも、すでにPythonがインストールされているものがあります。以下は、さまざまなオペレーティングシステムへのPythonインストールの簡単な概要です。
OS別のインストール
Mac OS X
|
1 |
sudo pip install cloudsigma |
Ubuntu
|
1 2 |
sudo apt-get -y install python-pip pip install cloudsigma |
CentOS / RHEL
CloudSigmaモジュールをインストールするには、まずPIPをインストールするためにEPELリポジトリをインストールする必要があります。以下の手順は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 "Done" drive.delete(ssd_drive['uuid']) else: time.sleep(1) |
次のコマンドを実行してスクリプトを実行します:
|
1 |
.py |
このスクリプトの主な目的は、ストレージ管理の側面において、特に新規ユーザーやGUIよりもコンソールを好むユーザーにとって、できるだけ便利で簡単に行えるようにすることです 🙂
コメント
コメントはまだありません。最初のコメントを投稿しましょう。