強健的雲端部署意味著擁有周詳的資料管理策略。在 CloudSigma,我們提供免費功能,例如快照以及分層儲存。因此,您可以實施出色的資料管理框架,以確保您儲存在雲端中的資料之可用性與完整性得到強力保護。
在這篇文章中,我們與您分享一個腳本,該腳本允許您自動將硬碟快照提升為完整硬碟。這非常適合備份您使用硬碟備份功能建立的各種還原點。此功能是使用 Python 腳本實現的,該腳本進一步利用了免費的 CloudSigma Python 函式庫(您可以從此處下載:這裡).
那麼,讓我們開始吧!
首先,如果您的本機電腦或伺服器上尚未安裝 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.
這’裡是與聖荷西(San Jose)資料中心「通訊」的範例檔案版本。如果您想改用蘇黎世(Zürich)資料中心,只需將 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 |
此腳本的主要目的是在儲存管理方面盡可能提供便利與簡單的操作,特別是對於新使用者以及比起圖形介面(GUI)更喜歡主控台(Console)的人 🙂
留言
目前尚無留言。成為第一個留言的人吧。