이 장에서는 백업 사용자가 Rackspace 스토리지 컨테이너에 백업할 수 있도록 Rackspace에서 컨테이너 할당량을 설정하는 방법을 보여줍니다.
Rackspace를 처음 사용하는 경우 http://support.rackspace.com/에서 제공되는 일반 설정에 대한 설명서를 확인해야 합니다.
이전에 Rackspace를 사용해 본 적이 있다면 백업 사용자를 위한 스토리지 설정 단계를 따를 수 있습니다. 다음 단계를 완료하도록 안내해 드립니다:
이 단계를 완료하면 컨테이너 할당량을 설정할 수 있습니다.
아래 단계에서 스토리지 할당량을 설정하기 전에 백업 클라이언트가 Rackspace에 스토리지를 이미 생성했다고 가정했습니다. 컨테이너의 이름은 "mybackup-
"사용자 관리" > "사용자 이름"(API 키를 받으려면 사용자 이름을 클릭하십시오.) > "로그인 정보" > "API 키"에서 사용자의 API 키를 수집하십시오.
마스킹된 키를 표시하려면 "표시"를 클릭하십시오.
curl 패키지를 사용하여 Linux 시스템에 연결합니다. 액세스 토큰을 얻으려면 curl 명령을 사용하여 요청을 Rackspace 서버에 게시해야 합니다.
사용법: curl -v -k -s https://identity.api.rackspacecloud.com/v2.0/tokens -X "POST" -d "{\"auth\":{\"RAX-KSKEY:apiKeyCredentials\":{\"username\":\"<user name>\", \"apiKey\":\"<API Key>\"}}}" -H "Content-Type: application/json"
참고: 이전 단계에서 API 키를 수집할 수 있습니다..
---------------------------------------------------------------------------------------------------- [root@os ~]# curl -v -k -s https://identity.api.rackspacecloud.com/v2.0/tokens - X "POST" -d "{\"auth\":{\"RAX-KSKEY:apiKeyCredentials\":{\"username\":\"DavidCha n\", \"apiKey\":\"778b2d84b63334e36a2d841339663446\"}}}" -H "Content-Type: appli cation/json" * About to connect() to identity.api.rackspacecloud.com port 443 (#0) * Trying 72.3.138.129... connected * Connected to identity.api.rackspacecloud.com (72.3.138.129) port 443 (#0) : : : Trimmed : : : {"access":{"token":{"id":"e85127fa63824a9f85ba437d1061b5c0","expires":"2014-11-1 8T07:26:16.071Z","tenant":{"id":"926819","name":"926819"},"RAX-AUTH:authenticate dBy":["APIKEY"]},"serviceCatalog":[{"name":"cloudFilesCDN","endpoints":{"region" :"HKG","tenantId":"MossoCloudFS_926819","publicURL":"https:\/\/cdn6.clouddrive.c om\/v1\/MossoCloudFS_926819"},{"region":"SYD","tenantId":"MossoCloudFS_926819"," publicURL":"https:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_926819"},{"region":" DFW","tenantId":"MossoCloudFS_926819","publicURL":"https:\/\/cdn1.clouddrive.com \/v1\/MossoCloudFS_926819"},{"region":"IAD","tenantId":"MossoCloudFS_926819","pu blicURL":"https:\/\/cdn5.clouddrive.com\/v1\/MossoCloudFS_926819"},{"region":"OR D","tenantId":"MossoCloudFS_926819","publicURL":"https:\/\/cdn2.clouddrive.com\/ v1\/MossoCloudFS_926819"}],"type":"rax:object-cdn"},{"name":"cloudFiles","endpoi nts":[{"region":"HKG","tenantId":"MossoCloudFS_926819","publicURL":"https:\/\/st orage101.hkg1.clouddrive.com\/v1\/MossoCloudFS_926819","internalURL":"https:\/\/ snet-storage101.hkg1.clouddrive.com\/v1\/MossoCloudFS_926819"}, : : : Trimmed : : : "user":{"id":"0c3001f01cb94856a87f8653ab875117","roles":[{"id":"10000256","descr iption":"Object Store Admin Role for Account User","name":"object-store:admin"}, {"tenant* Connection #0 to host identity.api.rackspacecloud.com left intact * Cl osing connection #0 Id":"926819","id":"6","description":"A Role that allows a us er access to keystone Service methods","name":"compute:default"},{"tenantId":"Mo ssoCloudFS_926819","id":"5","description":"A Role that allows a user access to k eystone Service methods","name":"object-store:default"},{"id":"2","description": "Default Role.","name":"identity:default"}],"name":"DavidChan","RAX-AUTH:default Region":"HKG"}}}[root@os ~]# [root@os ~]# ----------------------------------------------------------------------------------------------------
위의 강조 표시된 값은 할당량을 설정하기 위해 다른 curl 명령을 제출하기 전에 수집하는 데 필요합니다. 반환된 문자열이 정보가 분산되어 길기 때문에 JSON 뷰어와 같은 타사 파서를 사용하여 위 문자열을 해석할 수도 있습니다.
참고:
위의 예는 이 문서에 맞게 잘립니다.
JSON 뷰어를 사용하는 경우 다음 문자열을 복사해야 합니다
{"access":{"token ......Trimmed...... defaultRegion":"HKG"}}}, 그리고 JSON 뷰어에 표시합니다.
할당량을 구성하려면 이전 단계에서 반환된 문자열에서 다음 3가지 정보를 추출해야 합니다.
Rackspace Cloud Control Panel에서 컨테이너 이름을 수집합니다.
3.1 토큰 ID
토큰 ID는 토큰 개체에서 수집할 수 있습니다.
e.g. e85127fa63824a9f85ba437d1051b5c0
---------------------------------------------------------------------------------------------------- : : : {"access":{"token":{"id":"e85127fa63824a9f85ba437d1061b5c0","expires":"2014-11-1 8T07:26:16.071Z","tenant":{"id":"926819","name":"926819"},"RAX-AUTH:authenticate dBy":["APIKEY"]} : : : ----------------------------------------------------------------------------------------------------
JSON 뷰어로부터:
3.2 RAX-AUTH:defaultRegion
기본 지역은 사용자 개체에서 수집할 수 있습니다.
e.g. 홍콩
---------------------------------------------------------------------------------------------------- : : : "user":{"id":"0c3001f01cb94856a87f8653ab875117","roles":[{"id":"10000256","descr iption":"Object Store Admin Role for Account User","name":"object-store:admin"}, {"tenant* Connection #0 to host identity.api.rackspacecloud.com left intact * Cl osing connection #0 Id":"926819","id":"6","description":"A Role that allows a us er access to keystone Service methods","name":"compute:default"},"tenantId":"Mos soCloudFS_926819","id":"5","description":"A Role that allows a user access to ke ystone Service methods","name":"object-store:default"},{"id":"2","description":" Default Role.","name":"identity:default"}],"name":"DavidChan","RAX-AUTH:defaultR egion":"HKG"}} : : : ----------------------------------------------------------------------------------------------------
JSON 뷰어로부터:
3.3 엔드포인트 공개 URL
"cloudFiles"라는 하위 개체 이름이 있는 serviceCatalog 개체에서 엔드포인트 공용 URL을 찾고 기본 지역(예: HKG)이 있는 엔드포인트 내부를 검색하면 공용 URL 경로를 찾을 수 있습니다.
예. https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_926819
---------------------------------------------------------------------------------------------------- : : : "serviceCatalog":[{"name":"cloudFilesCDN","endpoints":[{"region":"HKG","tenantId ":"MossoCloudFS_926819","publicURL":"https:\/\/cdn6.clouddrive.com\/v1\/MossoClo udFS_926819"},{"region":"SYD","tenantId":"MossoCloudFS_926819","publicURL":"http s:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_926819"},{"region":"DFW","tenantId": "MossoCloudFS_926819","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloud FS_926819"},{"region":"IAD","tenantId":"MossoCloudFS_926819","publicURL":"https: \/\/cdn5.clouddrive.com\/v1\/MossoCloudFS_926819"},{"region":"ORD","tenantId":"M ossoCloudFS_926819","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS _926819"}],"type":"rax:object-cdn"},{"name":"cloudFiles","endpoints":[{"region": "HKG","tenantId":"MossoCloudFS_926819","publicURL":"https:\/\/storage101.hkg1.cl ouddrive.com\/v1\/MossoCloudFS_926819","internalURL":"https:\/\/snet-storage101. hkg1.clouddrive.com\/v1\/MossoCloudFS_926819"}, : : : ----------------------------------------------------------------------------------------------------
JSON 뷰어로부터:
3.4 컨테이너 이름
백업 클라이언트에서 백업 세트가 생성된 후 컨테이너 이름은 Rackspace Cloud Control Panel의 "Files" 태그에서 찾을 수 있습니다.
예: mybackup-davidchan
이 예에서는 컨테이너의 할당량을 2MB(2097152바이트)로 설정합니다.
사용법: curl -v -k -X PUT -H "X-Container-Meta-Quota-Bytes: <quota>" -H "X-Auth-Token: <token id>" <endpoints public URL>/<container name>
참고:
Rackspace 컨테이너 URL은 엔드포인트 공개 URL 및 사용자를 위해 생성된 컨테이너 이름입니다. 이것은
https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_926819 및 mybackup-davidchan
두 값 사이에 슬래시 "/"를 넣어야 합니다.
예: https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_926819/mybackup-davidchan
---------------------------------------------------------------------------------------------------- [root@os ~]# curl -v -k -X PUT -H "X-Container-Meta-Quota-Bytes: 2097152" -H "X- Auth-Token: e85127fa63824a9f85ba437d1061b5c0" https://storage101.hkg1.clouddrive .com/v1/MossoCloudFS_926819/mybackup-davidchan * About to connect() to storage101.hkg1.clouddrive.com port 443 (#0) * Trying 119.9.64.232... connected * Connected to storage101.hkg1.clouddrive.com (119.9.64.232) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * warning: ignoring value of ssl.verifyhost * skipping SSL peer certificate verification * SSL connection using TLS_DHE_RSA_WITH_AES_256_CBC_SHA * Server certificate: * subject: CN=storage101.hkg1.clouddrive.com,OU=Domain Validated,OU=Thawte SSL123 certificate,OU=Go to https://www.thawte.com/repository/index.html * start date: Aug 15 00:00:00 2013 GMT * expire date: Aug 15 23:59:59 2015 GMT * common name: storage101.hkg1.clouddrive.com * issuer: CN=Thawte DV SSL CA,OU=Domain Validated SSL,O="Thawte, Inc.",C=U S > PUT /v1/MossoCloudFS_926819/mybackup-davidchan HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zl ib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: storage101.hkg1.clouddrive.com > Accept: */* > X-Container-Meta-Quota-Bytes: 2097152 > X-Auth-Token: e85127fa63824a9f85ba437d1061b5c0 > < HTTP/1.1 202 Accepted < Content-Length: 76 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx682827faeba84b3bba3ee-005469b15ahkg1 < Date: Mon, 17 Nov 2014 08:27:06 GMT < * Connection #0 to host storage101.hkg1.clouddrive.com left intact * Closing connection #0 <html><h1>Accepted</h1><p>The request is accepted for processing.</p></html>[roo t@os ~]# [root@os ~]# ----------------------------------------------------------------------------------------------------
"수락됨" 메시지가 반환되면 2MB 할당량이 성공적으로 설정된 것입니다.