如何下载Rackspace云服务器中保存的图片?

如何下载Rackspace云服务器中保存的图片?

我想知道是否有人知道如何下载 Rackspace 云服务器中保存的服务器映像。我一直在搜索,但在 Rackspace 知识库中也没有找到任何内容。我知道它存储在文件系统中,但它到底在哪里?

如果我从服务器下载图片,我可以节省磁盘空间,如果有一天(我希望永远)我真的需要从图片中恢复,我可以轻松地将图片上传回来。但 Rackspace 中的这些信息太模糊了。我只是不想开一张票/支持来问这个问题,我希望其他人也遇到过同样的问题并能帮助我。

我使用的是 centOS 6.4,任何帮助我都会非常感激。我的意思是,如果你们知道镜像存储在文件系统的哪个位置,这就是我需要知道的全部。

干杯!;)

答案1

目前还没有办法下载服务器图像。

你现在可以做的是创建服务器的图像(存储在已保存的图像部分),然后从那里恢复图像。这不是你想要的,但这是目前的限制。

图像存储是 OpenStack 项目的一部分,称为一瞥和 OpenStack Swift(实际上它们存储到 CloudFiles)。虽然此功能存在,但目前 Rackspace 尚未公开/实现。

答案2

步骤1,在 Rackspace 云控制面板内的存储 > 文件下创建一个名为“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 Cloud 导出云服务器镜像

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


您还可以使用一个名为“Pitchfork”的工具。使用您的用户名和 API 密钥登录 Pitchfork 后,您将导航到“图像”部分并选择“导出”。运行该 API 调用后,需要一段时间才能在一个或多个云文件容器中看到图像。

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

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

2)从云文件下载图片

您可以使用 Swiftly 从 Cloud Files 下载镜像。Cloud files 中的对象不能大于 5GB。如果您的镜像大于此值,它将被分成多个 Cloud files 对象,可以使用 Swiftly 在本地下载并重新组装。

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

答案3

Rackspace 目前没有提供下载服务器映像的功能,但这并不意味着您永远无法获得它。

Rackspace 根本没有记录这一点,但是过去他们曾根据其他客户的要求这样做过:

如果您的服务器没有响应并且您输入了支持票,Rackspace 通常可以对您的服务器进行紧急快照并为您提供下载链接。对于 Linux 实例,Rackspace 将提供您的磁盘/分区的 gzip 原始映像;对于 Windows 实例您将收到一个 VHD。

答案4

将图像导出到云文件后(我使用了另一个答案中描述的 Pitchfork),现在可以轻松下载它:

在此处输入图片描述

相关内容