CloudStack 에서 원하는 Cluster Node에 VM 생성하기

Cloud Story/Cloud Stack 2013.11.27 11:40

기본적으로 Cloud Stack UI상에서 VM을 생성할 경우, Zone을 제외한 POD, Cluster, Cluster이하 상세 Hypervisor Node를 선택 할 수 없기 때문에 Resource 여유가 있는 Cluster에 랜덤하게 VM을 생성하게 됨.

 

관리 목적상 특정 C-NODE(Cluster Node) 에 VM을 생성해야 할 경우는 Cloud Stack 에서 제공하는 API를 통해 아래와 같이 생성 가능

 

 

 

curl -s 'http://192.168.0.10:8080/client/api?command=deployVirtualMachine&domainid=2&account=test01_account&zoneId=3&hostid=50&templateId=695&hypervisor=XenServer&serviceOfferingId=91&networkIds=380,213,578,600&displayname=TESTDB1-NEW&response=xml'

 

※ 각 파라메터에 들어가는 값은 아래 쿼리로 조회

 

1) 해당 Cloud Stack 계정의 Accound ID 조회 

SELECT id, account_name, domain_id FROM account where account_name="test01_account";

 

2) 샘플 VM에 대한 Accound ID이하 VM i_name 를 기준으로 정보조회

SELECT id, vm_template_id, pod_id, data_center_id, host_id, domain_id, service_offering_id from vm_instance WHERE account_id='70' AND instance_name='i-70-100-VM';

 

3) 샘플 VM이 속해있는 해당 Zone에 대한 Zone ID 조회

SELECT id, name FROM data_center WHERE name='SN-BACK-CS-PROD'

 

4) Cluster 이하 원하는 C-NODE의 IP를 기준으로 ID 조회

SELECT id FROM host WHERE private_ip_address='192.168.10.10'

 

5) Cloud Stack 상에서 해당 Account 이하에 생성한 Template ID 조회

SELECT id, name, account_id, created FROM vm_template WHERE account_id='70' ORDER BY created DESC;

 

6) CPU, RAM 할당을 위한 Service Offering 조회

SELECT id, cpu, ram_size, ha_enabled FROM service_offering WHERE cpu='12' AND ram_size='32768';

 

7) 기 생성된 VM과 Display name이 중복되지 않도록 VM Name 조회

SELECT * FROM user_vm WHERE display_name LIKE "%TestDB%";

 

8) 샘플 VM이 할당되어 있는 Zone 에 대한 Isolate network  ID 조회

SELECT id, name, display_text, broadcast_uri, cidr FROM networks WHERE account_id='70';

 

9) 샘플 VM이 할당되어 있는 Zone 에 대한 Shared Network ID 조회

SELECT id, name, display_text, broadcast_uri, cidr FROM networks WHERE name LIKE '%vlan200%' AND data_center_id='3';

 

 

tags : , , ,
Trackbacks 0 : Comments 0

Write a comment