Linux

如何在 Rackspace 雲伺服器中下載保存的圖像?

  • January 26, 2019

我想知道是否有人知道我如何將保存的伺服器圖像下載到 Rackspace 雲伺服器中。我一直在搜尋,即使在 Rackspace 知識庫中也沒有找到任何東西。我知道它儲存在文件系統中,但它到底在哪裡?

如果我從伺服器下載我的圖像,我可以節省磁碟空間,如果有一天(我希望永遠不會)我真的需要從圖像中恢復,我可以輕鬆地將圖像上傳回來。但是 Rackspace 中的這些資訊非常模糊。我只是不想開票/支持只問這個問題,我希望其他人也有同樣的問題並幫助我。

我正在使用centOS 6.4,任何幫助我都會非常感謝。我的意思是,如果你們知道圖像儲存在文件系統中的哪個位置,這就是我需要知道的全部內容。

乾杯! ;)

目前沒有辦法下載伺服器圖像。

您現在可以做的是創建伺服器的圖像(儲存在“*保存的圖像”*部分中),然後從那裡恢復圖像。這不是您要的,但這是目前的限制。

圖像儲存是 OpenStack 項目的一部分,稱為Glance和 OpenStack Swift(實際上它們儲存到 CloudFiles)。雖然此功能存在,但目前 Rackspace 並未公開/實施。

**步驟 1,**在 rackspace 雲控制面板中的 Storage > Files 下創建一個名為“export”的容器。

**第 2 步,**自定義此腳本並在任何 unix 機器上執行它,或者閱讀它下面的文件以查看其他方法。

#!/bin/bash
sudo apt-get install python-dev gcc python-pip
sudo pip install swiftly eventlet


SWIFTLY_AUTH_URL=https://identity.api.rackspacecloud.com/v2.0

# your Rackspace cloud username
# Username used to login to control panel
SWIFTLY_AUTH_USER=myuser      
CUSTOMERID=123456798

# your Rackspace cloud API key
# Find the APIKey in the 'account settings' part of the menu of the control panel
APIKEY='fake0u23jiofds9032ijofds09823rijpo'
SWIFTLY_AUTH_KEY=$APIKEY       
# 3 char region code for where your exported image is located (e.g., ORD)
SWIFTLY_REGION=DFW        
REGION_EXPORTING_FROM=dfw
# what you want the downloaded image file to be named
LOCALFILENAME=MyDownloadedServer    
# the container in Cloud Files containing your exported image
CONTAINER=export

# Find the image ID you'd like to make available on cloud files
# set the image id below of the image you want to copy to cloud files, see in control panel
IMAGEID=fake581e-c14561-3c46-45687-e045646675
IMAGEFILENAME=$IMAGEID    # the name of your exported image in Cloud Files

# This section simply retrieves the TOKEN
TOKEN=$(curl -s https://identity.api.rackspacecloud.com/v2.0/tokens -X POST -d '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"'${SWIFTLY_AUTH_USER}'","apiKey":"'${APIKEY}'"}}}' -H "Content-type: application/json" | python -c 'import json, sys; data = json.loads(sys.stdin.read()); print data["access"]["token"]["id"]')

# IMPORTANT: change receiving_swift_container to whatever $CONTAINER is
# This section requests the Glance API to copy the cloud server image uuid to a cloud files container called export
curl "https://$REGION_EXPORTING_FROM.images.api.rackspacecloud.com/v2/$CUSTOMERID/tasks" -X POST -H "X-Auth-Token: $TOKEN" -H "Content-Type: application/json" -d '{"type": "export", "input": {"image_uuid": "'"$IMAGEID"'", "receiving_swift_container": "export"}}'

# The above command simply set a pending command. Go play a game while it finishes.
sleep 4h;

swiftly   --auth-url=$SWIFTLY_AUTH_URL  --auth-user=$SWIFTLY_AUTH_USER   --auth-key=$SWIFTLY_AUTH_KEY   --region=$SWIFTLY_REGION   --verbose   get    --output=${LOCALFILENAME}  ${CONTAINER}/${IMAGEFILENAME}

欲了解更多資訊;

  1. 將圖像導出到雲文件

您可以使用 API 將圖像從 Rackspace 導出到您的 Cloud Files 容器。下面的文章可以指導您完成該過程。

從 Rackspace 雲導出雲伺服器映像

https://community.rackspace.com/products/f/25/t/7089?_ga=1.161905660.1332227198.1487618904


您還可以使用一個名為“Pitchfork”的工具。使用您的使用者名和 API 密鑰登錄 Pitchfork 後,您將導航到“圖像”部分並選擇“導出”。執行該 API 呼叫後,需要一段時間才能在一個或多個 Cloud Files 容器中看到圖像。

乾草叉:https ://pitchfork.rax.io/

https://community.rackspace.com/products/f/25/t/6432?_ga=1.161936636.1332227198.1487618904

  1. 從雲文件下載圖像

您可以使用 Swiftly 從 Cloud Files 下載圖像。雲文件中的對像不能大於 5GB。如果你的圖片大於這個,它會被分割成多個雲文件對象,可以使用 Swiftly 下載並在本地重新組裝。

https://support.rackspace.com/how-to/use-swiftly-to-download-an-exported-image/

引用自:https://serverfault.com/questions/562858