6.286. VMs
이름 | 요약 |
---|---|
| 새 가상 머신을 생성합니다. |
| 시스템의 가상 시스템 목록을 반환합니다. |
6.286.1. POST추가
새 가상 머신을 생성합니다.
가상 머신은 다양한 방법으로 생성할 수 있습니다.
- 템플릿에서 다음을 수행합니다. 이 경우 템플릿의 식별자 또는 이름을 제공해야 합니다. 예를 들어 일반 쉘 스크립트 및 XML을 사용합니다.
#!/bin/sh -ex url="https://engine.example.com/ovirt-engine/api" user="admin@internal" password="..." curl \ --verbose \ --cacert /etc/pki/ovirt-engine/ca.pem \ --user "${user}:${password}" \ --request POST \ --header "Version: 4" \ --header "Content-Type: application/xml" \ --header "Accept: application/xml" \ --data ' <vm> <name>myvm</name> <template> <name>Blank</name> </template> <cluster> <name>mycluster</name> </cluster> </vm> ' \ "${url}/vms"
- 스냅샷에서 다음을 수행합니다. 이 경우 스냅샷의 식별자를 제공해야 합니다. 예를 들어 일반 shel 스크립트 및 XML을 사용합니다.
#!/bin/sh -ex url="https://engine.example.com/ovirt-engine/api" user="admin@internal" password="..." curl \ --verbose \ --cacert /etc/pki/ovirt-engine/ca.pem \ --user "${user}:${password}" \ --request POST \ --header "Content-Type: application/xml" \ --header "Accept: application/xml" \ --data ' <vm> <name>myvm</name> <snapshots> <snapshot id="266742a5-6a65-483c-816d-d2ce49746680"/> </snapshots> <cluster> <name>mycluster</name> </cluster> </vm> ' \ "${url}/vms"
템플릿 또는 스냅샷에서 가상 시스템을 생성할 때 가상 시스템의 디스크를 생성할 스토리지 도메인을 명시적으로 지정하는 것이 일반적으로 유용합니다. 템플릿에서 가상 머신이 생성되는 경우 매핑을 나타내는 disk_attachment
요소 세트를 전달합니다.
<vm> ... <disk_attachments> <disk_attachment> <disk id="8d4bd566-6c86-4592-a4a7-912dbf93c298"> <storage_domains> <storage_domain id="9cb6cb0a-cf1d-41c2-92ca-5a6d665649c9"/> </storage_domains> </disk> <disk_attachment> </disk_attachments> </vm>
스냅샷에서 가상 시스템을 생성하는 경우 이 디스크 집합이 약간 다르면 id
대신 image_id
특성을 사용합니다.
<vm> ... <disk_attachments> <disk_attachment> <disk> <image_id>8d4bd566-6c86-4592-a4a7-912dbf93c298</image_id> <storage_domains> <storage_domain id="9cb6cb0a-cf1d-41c2-92ca-5a6d665649c9"/> </storage_domains> </disk> <disk_attachment> </disk_attachments> </vm>
다음과 같이 추가 가상 머신 매개변수(예: 데스크탑
유형의 가상 머신)를 2GiB RAM과 추가 설명을 추가할 수 있습니다.
<vm> <name>myvm</name> <description>My Desktop Virtual Machine</description> <type>desktop</type> <memory>2147483648</memory> ... </vm>
부팅 가능한 CDROM 장치는 다음과 같이 설정할 수 있습니다.
<vm> ... <os> <boot dev="cdrom"/> </os> </vm>
CDROM에서 부팅하려면 먼저 CDROM 서비스에 설명된 대로 디스크를 삽입해야 합니다. 그런 다음 os.boot.devices
특성을 사용하여 해당 CDROM에서 부팅할 수 있습니다.
<vm> ... <os> <boot> <devices> <device>cdrom</device> </devices> </boot> </os> </vm>
모든 경우 가상 시스템이 생성될 클러스터의 이름 또는 식별자가 필요합니다.
이름 | 유형 | 방향 | 요약 |
---|---|---|---|
| in | 자동 CPU 및 NUMA 구성 적용 여부를 지정합니다. | |
| in | 가상 시스템이 템플릿과 독립적이어야 하는지 여부를 지정합니다. | |
| in | 템플릿의 권한을 가상 머신에 복사해야 하는지 여부를 지정합니다. | |
| in | admin 사용자만 사용할 수 있습니다. | |
| in | 가상 머신이 생성된 후 밀봉되어야 하는지 여부를 지정합니다. | |
| in/Out |
6.286.1.1. auto_pinning_policy
자동 CPU 및 NUMA 구성 적용 여부를 지정합니다.
엔진의 버전 4.5 이후 이 작업은 더 이상 사용되지 않으며 이전 버전과의 호환성을 위해서만 유지됩니다. 이는 향후 삭제될 예정입니다. 대신 POST 다음에 추가 작업을 사용하십시오.
요청의 예는 다음과 같습니다.
POST /ovirt-engine/api/vms?auto_pinning_policy=existing/adjust
다음과 같이 요청 본문이 있는 경우:
<vm> <name>myvm<name> <template> <name>mytemplate<name> </template> <cluster> <name>mycluster<name> </cluster> <placement_policy> <hosts> <host> <name>myhost</name> </host> </hosts> </placement_policy> </vm>
6.286.1.2. clone
가상 시스템이 템플릿과 독립적이어야 하는지 여부를 지정합니다.
기본적으로 템플릿에서 가상 머신을 생성하는 경우 가상 머신의 디스크가 템플릿 디스크에 따라 달라지는 경우 템플릿의 차이점만 실제 스토리지 공간을 차지하도록 쓰기 메커니즘에서 복사본 을 사용합니다. 이 매개 변수가 지정되고 값이 true
이면 생성된 가상 시스템의 디스크가 복제 되고 템플릿에 독립적으로 사용됩니다. 예를 들어, 독립 가상 머신을 생성하려면 다음과 같은 요청을 보냅니다.
POST /ovirt-engine/vms?clone=true
다음과 같이 요청 본문이 있는 경우:
<vm> <name>myvm<name> <template> <name>mytemplate<name> </template> <cluster> <name>mycluster<name> </cluster> </vm>
이 매개 변수가 true
인 경우 clone_permissions=true
를 사용하는 경우와 같이 템플릿의 권한도 복사됩니다.
6.286.1.3. clone_permissions
템플릿의 권한을 가상 머신에 복사해야 하는지 여부를 지정합니다.
이 선택적 매개 변수가 제공되고 해당 값이 true
이면 템플릿의 권한(수신된 매개 변수만 해당)이 생성된 가상 시스템에 복사됩니다. 예를 들어, 권한을 복사하는 mytemplate
템플릿에서 가상 머신을 생성하려면 다음과 같은 요청을 보냅니다.
POST /ovirt-engine/api/vms?clone_permissions=true
다음과 같이 요청 본문이 있는 경우:
<vm> <name>myvm<name> <template> <name>mytemplate<name> </template> <cluster> <name>mycluster<name> </cluster> </vm>
6.286.1.4. filter
admin 사용자만 사용할 수 있습니다. 이 사용자에 대해 생성된 가상 시스템에 UserVmManager 역할을 할당할지 여부를 나타냅니다. 이렇게 하면 사용자가 관리자가 아닌 사용자인 것처럼 가상 머신에 나중에 액세스할 수 있으며 관리자 권한을 계속할 수 있습니다( filter=true 제공).
admin-as-user (meaning providing filter=true) POST 요청은 관리자가 이전에 사용자( filter=true로 표시)로 생성한 경우가 아니면 기존 가상 머신의 POST 요청이 실패합니다.
6.286.1.5. seal
가상 머신이 생성된 후 밀봉되어야 하는지 여부를 지정합니다.
이 선택적 매개 변수가 제공되며 해당 값이 true
이면 생성 후 가상 머신이 봉인됩니다. 값이 'false'이면 가상 머신이 봉인되지 않습니다. 매개 변수를 제공하지 않으면 가상 머신이 봉인된 템플릿에서 생성되고 게스트 OS가 Windows로 설정되지 않은 경우에만 가상 머신이 봉인됩니다.
예를 들어 mytemplate
템플릿에서 가상 시스템을 생성하고 봉인하려면 다음과 같은 요청을 보냅니다.
POST /ovirt-engine/api/vms?seal=true
다음과 같이 요청 본문이 있는 경우:
<vm> <name>myvm<name> <template> <name>mytemplate<name> </template> <cluster> <name>mycluster<name> </cluster> </vm>
6.286.2. GET나열
시스템의 가상 시스템 목록을 반환합니다.
반환된 가상 머신 목록의 순서는 sortby
절이 검색
매개 변수에 포함된 경우에만 보장됩니다.
이름 | 유형 | 방향 | 요약 |
---|---|---|---|
| in | 응답에 가상 머신의 모든 속성을 포함해야 하는지 여부를 나타냅니다. | |
| in |
검색 매개 변수를 사용하여 수행된 검색이 대소문자를 고려하여 수행해야 하는지 여부를 나타냅니다. | |
| in | 사용자의 권한에 따라 결과를 필터링해야 하는지 여부를 나타냅니다. | |
| in | 따라야 할 내부 링크를 나타냅니다. | |
| in | 반환할 최대 결과 수입니다. | |
| in | 해당 VM의 OVA 파일에 결과가 OVF를 노출해야 하는지 여부를 나타냅니다. | |
| in | 반환된 가상 머신을 제한하는 데 사용되는 쿼리 문자열입니다. | |
| Vm[] | Out |
6.286.2.1. all_content
응답에 가상 머신의 모든 속성을 포함해야 하는지 여부를 나타냅니다.
기본적으로 다음 속성은 제외됩니다.
-
console
-
initialization.configuration.data
- 가상 머신을 설명하는 OVF 문서입니다. -
rng_source
-
soundcard
-
virtio_scsi
예를 들어 가상 머신의 전체 표시를 검색하려면 다음과 같은 요청을 보냅니다.
GET /ovirt-engine/api/vms?all_content=true
이러한 속성을 포함하지 않는 이유는 성능은 거의 사용되지 않으며 데이터베이스에 대한 추가 쿼리가 필요합니다. 이 매개 변수가 실제로 필요한 경우에만 사용하십시오.
6.286.2.2. case_sensitive
검색 매개 변수를 사용하여 수행된 검색이 대소문자를 고려하여 수행해야 하는지 여부를 나타냅니다. 기본값은
true
입니다. 즉, 해당 케이스가 고려됩니다. 대소문자를 무시하고자 하는 경우 false
로 설정합니다.
6.286.2.3. 팔로우
따라야 할 내부 링크를 나타냅니다. 이러한 링크에서 참조하는 오브젝트는 현재 요청의 일부로 가져옵니다. 자세한 내용은 여기를 참조하십시오.
6.286.2.4. ovf_as_ova
해당 VM의 OVA 파일에 결과가 OVF를 노출해야 하는지 여부를 나타냅니다. 가상 머신을 설명하는 OVF 문서입니다. 이 매개변수는 all_content=True가 설정된 경우에만 작동합니다. OVF가 initialization.configuration.data
에 표시됩니다.
예를 들어 다음과 같습니다.
GET /vms?all_content=true&ovf_as_ova=true