5.5 컴퓨팅 서버 증가 및 삭제 방법

5.5.1 OpenAPI 를 이용한 HPC 컴퓨팅 서버 증가 방법

ㅁ deployVirtualMachine API (deploy_hpc_add.py)

API 호출 시 account(고객 계정명), name(컴퓨팅서버명), zone id, serviceoffering id 를 수정해서 사용할 수있습니다. 최초 HPC 서비스를 신청(head 1 대, node001~node007)해서 사용 중이라면 node008 부터증설해서 사용할 수 있습니다. 아래 코드는 Python 으로 서비스 포탈의 OpenAPI 를 호출하는 예제입니다.4.1 과 4.2 에 나오는 Python 코드는 "서비스 포탈의 OpenAPI 호출" 부분만 수정해서 사용하면 됩니다.

#!/usr/bin/pythonimport CloudStackimport json, sys, timeurl = 'https://api.ucloudbiz.olleh.com/server/v1/client/api'# 고객 계정의 API key, Secret key: 포탈에서 확인apikey = 'paste_apikey_to_here'secret = 'paste_secret_to_here'## 서비스 포탈의 OpenAPI 호출cloudstack = CloudStack.Client(url, apikey, secret)node008 = cloudstack.deployVirtualMachine({ 'zoneid': '9845bd17-d438-4bde-816d-1b12f37d5080', # KOR-Central B zone 'serviceofferingid': '97359d1d-a7b1-49d9-b435-14608543f00b', # 4vCore, 4GB 'templateid': 'f102aa60-d7c7-40bf-8ce2-80780da32523', # 계산 노드 템플릿: 고정 'diskofferingid': '87c0a6f6-c684-4fbe-a393-d8412bcf788d', # Root: 20GB, Data: 80GB'name': 'node008'})print json.dumps( node008, ensure_ascii=False, indent=4 )				

 

ㅁ 생성 가능한 Zone 은 다음과 같습니다.

Zone Name Zone ID
KOR-Central A (kr-1) eceb5d65-6571-4696-875f-5a17949f3317
KOR-Central B (kr-2) 9845bd17-d438-4bde-816d-1b12f37d5080
KOR-Seoul M (kr-0) 95e2f517-d64a-4866-8585-5177c256f7c7
KOR-HA (kr-3) dfd6f03d-dae5-458e-a2ea-cb6a55d0d994

 

ㅁ 신청 가능한 Service Offering 은 다음과 같습니다

Service Offering Zone ID
4vCore 4GB 97359d1d-a7b1-49d9-b435-14608543f00b
4vCore 8GB 543b1f26-eddf-4521-9cbd-f3744aa2cc52
8vCore 8GB 049ab4c2-32ed-4310-83de-a3789d578e3c
8vCore 16GB 40b40978-e4d1-4f0c-bff4-053af7411fa1
12vCore 16GB d8de22c3-903a-4589-89a1-e76b7a5911b3
16vCore 32GB 8235e488-2fba-4b40-860e-7167976de148
 
ㅁ Head 서버에서 증설한 컴퓨팅 서버를 PBS 서버로 등록 및 확인

ㅇ Qmgr 사용법 : -c (command)

ㅇ qmgr -c "c(create) n(node) node008(nodename)"

ㅇ qmgr –c „p(print) n(node) node008(nodename)‟ 결과 화면에서 state=free 이면 정상 등록된 것입니다

[root@head1 ~]# qmgr -c 'c n node008'[root@head1 ~]# qmgr -c 'p n node008'## Create nodes and set their properties.### Create and define node node008#create node node008 Mom=node008.cs3e05cloud.internalset node node008 state = freeset node node008 resources_available.arch = linuxset node node008 resources_available.host = node008set node node008 resources_available.mem = 4194304kbset node node008 resources_available.ncpus = 4set node node008 resources_available.vnode = node008set node node008 resv_enable = Trueset node node008 sharing = default_shared				

 

5.5.2 OpenAPI 를 이용한 HPC 컴퓨팅 서버 삭제 방법

ㅁ Head 서버에서 컴퓨팅 서버의 PBS 서버 등록 해제

 ㅇQmgr 사용법 : -c (command)

 ㅇqmgr –c "d(delete) n(node) node008(nodename)"

[root@head1 ~]# qmgr -c 'd n node008'				

ㅁ stopVirtualMachine API (Python 코드 사용 방법 : 4.1.1 예제)

 ㅇ 컴퓨팅 서버를 삭제하기 이전에 stop 을 먼저 수행해야 합니다

stopnode008 = cloudstack.stopVirtualMachine({ 'id': '514a6225-e73c-4b94-bb07-37833640d858' # VM UUID})print json.dumps( stopnode008, ensure_ascii=False, indent=4 )				

ㅁ destroyVirtualMachine API (Python 코드 사용 방법 : 4.1.1 예제)

 ㅇ Stop 시킨 컴퓨팅 서버를 삭제합니다. 기존에 사용했던 컴퓨팅 서버명은 삭제한 지 24~25 시간 이후에 다시 사용할 수 있습니다.

destroynode008 = cloudstack.destroyVirtualMachine({ 'id': '514a6225-e73c-4b94-bb07-37833640d858' # VM UUID})print json.dumps( destroynode008, ensure_ascii=False, indent=4 )			

5.5.3 OpenAPI 를 이용한 HPC Hyperworks 컴퓨팅 서버 증가 및 삭제 방법

ㅁ Hyperworks 컴퓨팅 서버 증가 및 삭제 시 절차는 4.1, 4.2 절과 동일하며 다음과 같이 정보가 변경됩니다.

ㅁ Hyperworks 컴퓨팅 서버의 템플릿 ID 는 기존의 컴퓨팅 서버의 템플릿과 동일합니다.

ㅁ 생성 가능한 Zone 은 다음과 같습니다.

Zone Name Zone ID
KOR-Central A (kr-1) eceb5d65-6571-4696-875f-5a17949f3317
KOR-Central B (kr-2) 9845bd17-d438-4bde-816d-1b12f37d5080

 

ㅁ 신청 가능한 Hyperworks 컴퓨팅 서버의 Offering(Service, Disk)은 다음과 같습니다

Hyperworks 계산 노드 offering ID
Template (CentOS 6.4 64bit) f102aa60-d7c7-40bf-8ce2-80780da32523
Service offering (16vCore 96GB) edd6725c-d947-4340-96de-f0cb25c3bedb
Disk offering (SSD 480GB) 2f65d59b-f97c-45d7-b048-92dca0bfee3e