15.5. メソッド

15.5.1. 仮想マシンの作成

新規仮想マシンの作成には nametemplatecluster の要素が必要です。template 要素と cluster 要素は id 属性または name 要素で特定します。CPU プロファイルの ID は cpuprofiles 属性で特定します。

例15.4 CD-ROM から起動する、512 MB の仮想マシンの作成

POST /api/vms HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
    <name>vm2</name>
    <description>Virtual Machine 2</description>
    <type>desktop</type>
    <memory>536870912</memory>
    <cluster>
        <name>default</name>
    </cluster>
    <template>
        <name>Blank</name>
    </template>
    <os>
        <boot dev="cdrom"/>
    </os>
    <cdroms>
        <cdrom>
            <file id="example_windows_7_x64_dvd_u_677543.iso"/>
        </cdrom>
    </cdroms>
    <cpu_profile id="0000001a-001a-001a-001a-00000000035e"/>
</vm>

例15.5 仮想ハードディスクから起動する 512 MB の仮想マシンの作成

POST /api/vms HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
    <name>vm2</name>
    <description>Virtual Machine 2</description>
    <type>desktop</type>
    <memory>536870912</memory>
    <cluster>
        <name>default</name>
    </cluster>
    <template>
        <name>Blank</name>
    </template>
    <os>
      <boot dev="hd"/>
    </os>
    <cpu_profile id="0000001a-001a-001a-001a-00000000035e"/>
</vm>

注記

上記の例のメモリーは、以下の計算式でバイト単位に換算します。
512MB * 1024 2 = 536870912 bytes

15.5.2. 仮想マシンの更新

namedescriptionclustertypememorycpuoshigh_availabilitydisplaytimezonedomainstatelessplacement_policymemory_policyusbpayloadsorigin、および custom_properties の各要素は作成後に更新が可能です。

例15.6 仮想マシンの搭載メモリーを 1 GB に更新

PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
    <memory>1073741824</memory>
</vm>

注記

上記の例のメモリーは、以下の計算式でバイト単位に換算します。
1024MB * 1024 2 = 1073741824 bytes

注記

メモリーのホットプラグは Red Hat Enterprise Virtualization 3.6 以降でサポートされます。上記の例を使用して、仮想マシンの実行中にメモリーを増加することができます。

例15.7 仮想 CPU のホットプラグ

仮想マシンを再起動する必要なしに、仮想 CPU を実行中の仮想マシンに追加します。以下の例では、ソケットの数は 2 に変更しています。
PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
    <cpu>
        <topology sockets="2" cores="1"/>
    </cpu>
</vm>

注記

CPU のホットアンプラグは現在、Red Hat Enterprise Virtualization ではサポートされていません。

例15.8 複数のホストへの仮想マシンの固定

複数のホストに固定された仮想マシンは、ライブマイグレーションできませんが、ホストに障害が発生した場合には、高可用性に設定された仮想マシンは、この仮想マシンが固定されている別のホスト上で再起動されます。たとえば、複数ホストの固定を使用すると、同じハードウェア設定が指定されたホストだけに仮想マシンを制限することができます。
PUT /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<vm>
    <high_availability>
        <enabled>true</enabled>
        <priority>1</priority>
    </high_availability>
    <placement_policy>
        <hosts>
            <host><name>Host1</name></host>
            <host><name>Host2</name></host>
        </hosts>
        <affinity>pinned</affinity>
    </placement_policy>
</vm>

15.5.3. 仮想マシンの削除

仮想マシンを削除するには DELETE 要求を実行する必要があります。

例15.9 仮想マシンの削除

DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1

HTTP/1.1 204 No Content

15.5.4. 仮想ディスクを削除せずに仮想マシンを削除する方法

仮想マシンを削除する前に仮想ディスクをデタッチしておきます。これにより、仮想ディスクが保持されます。仮想マシンの削除には DELETE 要求が必要です。

例15.10 仮想マシンの削除

DELETE /api/vms/082c794b-771f-452f-83c9-b2b5a19c0399 HTTP/1.1
Accept: application/xml
Content-type: application/xml

<action>
    <vm>
        <disks>
            <detach_only>true</detach_only>
        </disks>
    </vm>
</action>