0. Host에 접근하기
XEN Server에 구축된 Host에게 접근하기 위해서는 기본적으로 3단계를 거칩니다..
1단계.
Connection c = new Connection(new URL("http://" + "ip")); // Host 주소에 Connection 객체 생성.
.
2단계.
Session.loginWithPassword(c, "id", "password", APIVersion.latest().toString()); // 해당 Connection 객체에 아이디, 비밀번호, API 버젼을 넣고 접속.
.
3단계.
클래스 객체명 = Host.메소드( c ) // Host의 메소드를 활용하여 return 타입에 맞는 클래스 객체를 할당받아서 정보를 활용.
예제 소스코드 ( Host 정보와 HostCpu, HostMemory 정보를 모두 출력하는 예제 소스코드 )
=============================================================================sampleCode/Xen/HostPrintTest.java
import java.net.URL; import java.util.Map; import com.xensource.xenapi.APIVersion; import com.xensource.xenapi.Connection; import com.xensource.xenapi.Host; import com.xensource.xenapi.HostCpu; import com.xensource.xenapi.HostMetrics; import com.xensource.xenapi.Session; public class Test { static Connection c; public static void main(String[] args) throws Exception { Session.loginWithPassword(c, "id" , "password" , APIVersion.latest ().toString()); // 필요시 해당 Key값의 Value만 출력해서 사용하면 됨. // Host의 관한 정보를 모두 출력 Map // Host의 모든 정보를 Map으로 for (Map.Entry System.out.println(e.getKey()); System.out.println(e.getValue()); } // HostCpu의 모든 스펙을 출력 Map // HostCpu의 모든 정보를 Map으로 for (Map.Entry System.out.println(e.getKey()); System.out.println(e.getValue()); } // Host의 메모리 Total, Space 출력(사용량은 Total - Space 으로 출력) Map // HostMetrics(메모리 정보)를 Map으로 for (Map.Entry System.out.println(e.getKey()); System.out.println(e.getValue()); } Session.logout(c); } } |
1. VM에 접근하기
XEN Server에 구축된 VM에게 접근하기 위해서는 기본적으로 3단계를 거칩니다..
1단계.
Connection c = new Connection(new URL("http://" + "ip")); // Host 주소에 Connection 객체 생성.
.
2단계.
Session.loginWithPassword(c, "id", "password", APIVersion.latest().toString()); // 해당 Connection 객체에 아이디, 비밀번호, API 버젼을 넣고 접속.
.
3단계.
클래스 객체명 = VM.메소드( c ) // Host의 메소드를 활용하여 return 타입에 맞는 클래스 객체를 할당받아서 정보를 활용.
예제 소스코드 ( VM의 정보를 모두 출력하는 예제 소스코드 )
=============================================================================sampleCode/Xen/VMPrintTest.java
import java.net.URL; import java.util.Map; import com.xensource.xenapi.APIVersion; import com.xensource.xenapi.Connection; import com.xensource.xenapi.Session; import com.xensource.xenapi.VM; import com.xensource.xenapi.VMGuestMetrics; import com.xensource.xenapi.VMMetrics; public class VmPrintTest { static Connection c; public static void main(String[] args) throws Exception { Session.loginWithPassword(c, "id" , "password" , APIVersion.latest ().toString()); // 필요시 해당 Key값의 Value만 출력해서 사용하면 됨. // XenServer가 가질 수 있는 모든 VM이 가지고 있는 기본 정보에 대한 출력 System.out.println( "Get all the VM Records" ); Map for (Map.Entry if (e.getKey().getPowerState(c).toString().matches( "RUNNING" )){ // 현재 RUNNING되고 있는 VM의 정보만 (Host 포함) System.out.println(e.getKey()); System.out.println(e.getValue()); } } // XenServer가 가질 수 있는 모든 VM이 가지고 있는 Metrics에 대해 출력. System.out.println( "Get all the VMMetrics Records" ); Map for (Map.Entry if (!e.getKey().getMemoryActual(c).toString().matches( "0" )){ // ActualMemory가 0이 아닌 VMMetrics만 추출. System.out.println(e.getKey()); System.out.println(e.getValue()); } } Session.logout(c); // 현재 Guest로 올라와 있는 GuestOS의 대한 Metric System.out.println( "Get all the VMGuestMetrics Records" ); Map for (Map.Entry System.out.println(e.getKey()); System.out.println(e.getValue()); } } } |
댓글 없음:
댓글 쓰기