탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle VM Server for SPARC 2.2 관리 설명서 Oracle VM Server for SPARC (한국어) |
제1부Oracle VM Server for SPARC 2.2 소프트웨어
1. Oracle VM Server for SPARC 소프트웨어 개요
3. Oracle VM Server for SPARC 보안
제2부선택적 Oracle VM Server for SPARC 소프트웨어
13. Oracle VM Server for SPARC Physical-to-Virtual 변환 도구
14. Oracle VM Server for SPARC Configuration Assistant(Oracle Solaris 10)
15. Oracle VM Server for SPARC Management Information Base 소프트웨어 사용
16. Logical Domains Manager 검색
17. Logical Domains Manager에서 XML 인터페이스 사용
Logical Domains Manager 리소스 및 등록 정보
통신 초기화가 완료되면 Logical Domains에서 정의한 XML 메시지가 전송됩니다. 다음 두 가지 유형의 XML 메시지가 있습니다.
요청 및 응답 메시지는 <LDM_interface> 태그를 사용합니다. 이 유형의 XML 메시지는 CLI(명령줄 인터페이스)를 사용하여 명령을 실행하는 것과 비슷하게, 명령을 전달하고 Logical Domains Manager에서 다시 결과를 가져오는 데 사용됩니다. 이 태그는 이벤트 등록 및 등록 해제에도 사용됩니다.
이벤트 메시지는 <LDM_event> 태그를 사용합니다. 이 유형의 XML 메시지는 Logical Domains Manager에서 게시한 이벤트를 비동기적으로 보고하는 데 사용됩니다.
Logical Domains에 대한 XML 인터페이스는 두 가지 형식입니다.
한 형식은 명령을 Logical Domains Manager로 전송하는 데 사용됩니다.
다른 형식은 Logical Domains Manager가 수신 메시지의 상태 및 해당 메시지 내에서 요청된 작업에 대해 응답하는 데 사용됩니다.
이 두 형식은 여러 가지 공통 XML 구조를 공유하지만, 두 형식의 차이점을 보다 잘 이해할 수 있도록 여기서는 개별적으로 설명합니다.
가장 기본적인 레벨의 Logical Domains Manager로 들어오는 XML 요청에는 단일 객체에 대해 작동하는 단일 명령에 대한 설명이 포함됩니다. 보다 복잡한 요청은 여러 개의 명령과 명령당 여러 개의 객체를 처리할 수 있습니다. 기본 XML 명령의 구조는 다음과 같습니다.
예 17-1 단일 객체에 대해 작동하는 단일 명령의 형식
<LDM_interface version="1.3"> <cmd> <action>Place command here</action> <option>Place options for certain commands here</option> <data version="3.0"> <Envelope> <References/> <!-- Note a <Section> section can be here instead of <Content> --> <Content xsi:type="ovf:VirtualSystem_Type" id="Domain name"> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType>LDom Resource Type</rasd:OtherResourceType> <gprop:GenericProperty key="Property name">Property Value</gprop:GenericProperty> </Item> </Section> <!-- Note: More Sections sections can be placed here --> </Content> </Envelope> </data> <!-- Note: More Data sections can be placed here --> </cmd> <!-- Note: More Commands sections can be placed here --> </LDM_interface>
Logical Domains Manager로 전송되는 모든 명령은 <LDM_interface> 태그로 시작해야 합니다. Logical Domains Manager로 전송되는 모든 문서는 <LDM_interface> 태그를 한 개만 포함해야 합니다. <LDM_interface> 태그에는 예 17-1에 표시된 것과 같이 버전 속성이 포함되어야 합니다.
<LDM_interface> 태그 내에서 문서는 <cmd> 태그를 적어도 한 개 포함해야 합니다. 각 <cmd> 섹션에는 <action> 태그가 한 개만 있어야 합니다. <action> 태그는 실행할 명령을 설명하는 데 사용됩니다. 각 <cmd> 태그는 명령이 작동할 객체를 설명하는 <data> 태그를 적어도 한 개 포함해야 합니다.
<cmd> 태그는 또한 일부 명령과 연관된 옵션과 플래그에 사용되는 <option> 태그도 포함할 수 있습니다. 옵션을 사용하는 명령은 다음과 같습니다.
remove-domain 명령은 -a 옵션을 사용할 수 있습니다.
stop-domain 명령은 -f 옵션을 사용할 수 있습니다.
cancel-operation 명령은 migration 또는 reconf 옵션을 사용할 수 있습니다.
add-spconfig 명령은 -r autosave-name 옵션을 사용할 수 있습니다.
remove-spconfig 명령은 -r 옵션을 사용할 수 있습니다.
list-spconfig 명령은 -r [autosave-name] 옵션을 사용할 수 있습니다.
각 <data> 섹션은 지정된 명령과 관련된 객체에 대한 설명을 포함할 수 있습니다. 데이터 섹션의 형식은 OVF(Open Virtualization Format) 드래프트 사양의 XML 스키마 부분을 토대로 합니다. 해당 스키마는 <References> 태그(Logical Domains에서 사용하지 않음)와 <Content> 및 <Section> 섹션을 포함하는 <Envelope> 섹션을 정의합니다.
Logical Domains의 경우, <Content> 섹션은 특정 도메인을 식별하고 설명하는 데 사용됩니다. <Content> 노드의 id= 속성에 있는 도메인 이름으로 도메인을 식별합니다. <Content> 섹션 내에는 특정 명령에 필요한 도메인의 리소스를 설명하는 하나 이상의 <Section> 섹션이 있습니다.
도메인 이름만 식별해야 하는 경우에는 <Section> 태그를 사용할 필요가 없습니다. 반대로, 명령에 도메인 식별자가 필요하지 않은 경우 명령에 필요한 리소스를 설명하는 <Section> 섹션을 <Content> 섹션 외부에 제공할 필요는 없지만, <Envelope> 섹션 내에는 제공해야 합니다.
객체 정보를 추론할 수 있는 경우 <data> 섹션은 <Envelope> 태그를 포함할 필요가 없습니다. 이러한 상황은 작업에 해당하는 모든 객체를 모니터링하는 요청, 이벤트 등록 및 등록 해제 요청에 주로 적용됩니다.
OVF 사양의 스키마를 사용하여 모든 유형의 객체를 적절하게 정의할 수 있으려면 다음 두 가지의 OVF 유형을 추가로 정의해야 합니다.
<gprop:GenericProperty> 태그
<Binding> 태그
<gprop:GenericProperty> 태그는 OVF 사양에 정의가 없는 객체 등록 정보를 처리하기 위해 정의되었습니다. 등록 정보 이름은 노드의 key= 속성에 정의되며 등록 정보 값은 노드 컨텐츠입니다. <binding> 태그는 다른 리소스에 바인드된 리소스를 정의하기 위해 list-bindings 하위 명령 출력에 사용됩니다.
발신 XML 응답은 포함된 명령과 객체의 관점에서 수신 요청의 구조와 일치하지만, 요청에 대한 전체 <Response> 섹션과 지정된 각 객체와 명령에 대한 <Response> 섹션이 추가됩니다. <Response> 섹션은 예 17-2에 설명된 것과 같이 상태 및 메시지 정보를 제공합니다. 기본 XML 요청에 대한 응답의 구조는 다음과 같습니다.
예 17-2 단일 객체에 대해 작동하는 단일 명령에 대한 응답의 형식
<LDM_interface version="1.3"> <cmd> <action>Place command here</action> <data version="3.0"> <Envelope> <References/> <!-- Note a <Section> section can be here instead of <Content> --> <Content xsi:type="ovf:VirtualSystem_Type" id="Domain name"> <Section xsi:type="ovf:ResourceAllocationSection_type"> <Item> <rasd:OtherResourceType> LDom Resource Type </rasd:OtherResourceType> <gprop:GenericProperty key="Property name"> Property Value </gprop:GenericProperty> </Item> </Section> <!-- Note: More <Section> sections can be placed here --> </Content> </Envelope> <response> <status>success or failure</status> <resp_msg>Reason for failure</resp_msg> </response> </data> <!-- Note: More Data sections can be placed here --> <response> <status>success or failure</status> <resp_msg>Reason for failure</resp_msg> </response> </cmd> <!-- Note: More Command sections can be placed here --> <response> <status>success or failure</status> <resp_msg>Reason for failure</resp_msg> </response> </LDM_interface>
<response> 섹션은 <LDM_interface> 섹션의 직속 하위로, 전체 요청의 전반적인 성공 또는 실패를 나타냅니다. 수신 XML 문서의 형식이 잘못된 경우가 아니라면 <response> 섹션에는 <status> 태그만 포함됩니다. 이 응답 상태가 성공을 나타낸다면 모든 객체에 대한 모든 명령이 성공한 것입니다. 이 응답 상태가 실패이고 <resp_msg> 태그가 없는 경우 원래 요청에 포함된 명령 중 하나가 실패한 것입니다. <resp_msg> 태그는 XML 문서 자체와 관련된 문제를 설명하는 데만 사용됩니다.
<cmd> 섹션 아래에 있는 <response> 섹션은 사용자에게 특정 명령의 성공이나 실패에 대해 알립니다. <status> 태그는 명령의 성공 또는 실패 여부를 표시합니다. 전체 응답의 경우와 마찬가지로, 명령이 실패하면 요청의 <cmd> 섹션 컨텐츠의 형식이 잘못된 경우 <response> 섹션에는 <resp_msg> 태그만 포함됩니다. 그렇지 않은 경우 실패 상태는 명령이 실행된 객체 중 하나에서 오류가 발생했음을 의미합니다.
끝으로, <cmd> 섹션에 있는 각 <data> 섹션에도 <response> 섹션이 있습니다. 이 섹션에는 특정 객체에 대해 실행된 명령이 성공 또는 실패했는지 여부가 표시됩니다. 응답 상태가 SUCCESS일 경우, <response> 섹션에 <resp_msg> 태그가 없습니다. 상태가 FAILURE일 경우, 객체에 대해 명령을 실행 중일 때 발생한 오류에 따라 <response> 필드에 <resp_msg> 태그가 하나 이상 있습니다. 객체 오류는 명령 실행 시 발견된 문제 또는 형식이 잘못되었거나 알 수 없는 객체로 인해 발생할 수 있습니다.
<data> 섹션은 <response> 섹션 이외에 다른 정보를 포함할 수 있습니다. 이 정보는 오류가 발생한 객체를 설명하는 수신 <data> 필드와 같은 형식으로 되어 있습니다. <data> 태그를 참조하십시오. 이 추가 정보는 특히 다음과 같은 경우에 유용합니다.
명령이 특정 <data> 섹션에 대해 실패하지만 추가 <data> 섹션에 대해 성공하는 경우
빈 <data> 섹션이 명령에 전달되어 어떤 도메인에서는 실패하고 다른 도메인에서는 성공하는 경우