7 VM_MAKERコマンド・リファレンス

vm_makerユーティリティは、Oracle Linux KVMゲストの作成、破棄およびその他の操作に使用します。

7.1 vm_makerユーティリティについて

vm_makerコマンドライン・ユーティリティを使用して、Oracle Linux KVMゲストを管理できます。

vm_makerコマンドライン・ユーティリティは、各Oracle Linux KVMホストの/opt/exadata_ovm/vm_maker/vm_makerにあります。

構文

次に、vm_makerコマンドの一般的な構文を示します。次のトピックでは、個々のコマンドについて説明しています。

vm_maker --command --option [--option ...]

一部のコマンドまたはオプションには、ゲスト名などの引数を指定します。ゲスト名を一意に識別するために十分な文字のみが必要です。

ノート:

Oracle Exadata Deployment Assistant (OEDA)には、Oracle Linux KVMゲストを管理する代替のコマンドライン・ユーティリティを提供する、OEDAコマンドライン・インタフェース(OEDACLI)が含まれます。主な違いは、OEDACLIでは複数のゲストにわたって操作をオーケストレートできるのに対して、vm_makerでは、vm_makerが常駐するOracle Linux KVMホスト上での操作に制限される点です。使用するユーティリティを決定する前に、要件を検討してください。

7.2 attachコマンド

--attachコマンドを使用して、ディスク・イメージをゲストに接続します。

構文

vm_maker --attach --disk-image image_name --domain guest_name

オプション

  • --disk-image: 接続するディスク・イメージの名前。
  • --domain: ゲストの名前。

使用上のノート

  • ディスク・イメージは、/EXAVMIMAGESに存在する必要があります。
  • KVMゲストには、最大で112個のディスクを接続できます。

7.3 add-bonded-bridgeコマンド

--add-bonded-bridgeコマンドを使用して、結合イーサネット・インタフェース上にブリッジを追加します。

構文

vm_maker --add-bonded-bridge bridge_name --first-slave slave --second-slave slave 
[ --vlan vlanid ]

オプション

  • bridge_name: 新しいブリッジに使用する名前。ブリッジ名は、vmで始まり、vmeth1などのインタフェース名が続く必要があります。
  • --first-slave: ボンディングされたブリッジで構成されるインタフェース・ペアの最初の部分。
  • --second-slave: ボンディングされたブリッジで構成されるインタフェース・ペアの2つ目の部分。
  • --vlan: オプションで、ボンディングされたブリッジに使用するVLAN IDを指定します。

7.4 add-single-bridgeコマンド

--add-single-bridgeコマンドを使用して、単一のイーサネット・インタフェース上にブリッジを追加します。

構文

vm_maker --add-single-bridge bridge_name [ --vlan vlanid ]

オプション

  • bridge_name: 新しいブリッジに使用する名前。ブリッジ名は、vmで始まり、vmeth1などのインタフェース名が続く必要があります。
  • --vlan: オプションで、ブリッジに使用するVLAN IDを指定します。

7.5 autostartコマンド

--autostartコマンドを使用して、ゲストの自動起動を管理します。

構文

vm_maker --autostart guest_name { --enable | --disable }

オプション

  • guest_name: 構成するゲストの名前。
  • --enable: KVMホストの起動時に自動的に起動するように、ゲストを構成します。
  • --disable: KVMホストの起動時に自動的に起動しないように、ゲストを構成します。

7.6 checkコマンド

--checkコマンドを使用して、システムの構成ステータスを確認および表示します

構文

vm_maker --check

7.7 cleanup-ipコマンド

--cleanup-ipコマンドを使用して、--setup-ipコマンドによってplumbされたネットワーク・インタフェースを削除およびクリーン・アップします。

構文

vm_maker --cleanup-ip network_interface [ --vlan vlanid ]

オプション

  • network_interface: クリーン・アップするネットワーク・インタフェースの名前を指定します。
  • --vlan: オプションで、指定されたネットワーク・インタフェースとともに使用されるVLAN IDを指定します。

例7-1 ネットワーク・インタフェースのクリーン・アップ

次に、--cleanup-ipコマンドを使用して、--setup-ipコマンドによってplumbされたネットワーク・インタフェースを削除およびクリーン・アップする例を示します。

# ping 192.0.2.1
PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
From 10.32.106.12 icmp_seq=1 Destination Host Unreachable
^C
--- 192.0.2.1 ping statistics ---
2 packets transmitted, 0 received, +1 errors, 100% packet loss, time 999ms
# /opt/exadata_ovm/vm_maker --setup-ip 192.0.2.6 --interface eth3 --netmask 255.255.255.128 --gateway 192.0.2.1 --vlan 144
[INFO] Interface eth3 currently down
[INFO] Bringing up interface eth3
[INFO] Interface eth3.144 is plumbed.
# ping 192.0.2.1 
PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
64 bytes from 192.0.2.1: icmp_seq=2 ttl=255 time=0.317 ms
64 bytes from 192.0.2.1: icmp_seq=3 ttl=255 time=0.302 ms
64 bytes from 192.0.2.1: icmp_seq=4 ttl=255 time=0.307 ms
^C
--- 192.0.2.1 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3077ms
rtt min/avg/max/mdev = 0.302/0.308/0.317/0.021 ms
# ip rule 
0: from all lookup local 
32757: from 192.0.2.6 to 192.0.2.1 iif eth3.144 lookup main 
32758: from all to 10.32.96.5 lookup 220 
32759: from 10.32.96.5 lookup 220 
32760: from all to 10.32.106.0/23 lookup 210 
32761: from 10.32.106.0/23 lookup 210 
32762: from all to 192.168.0.4 lookup 181 
32763: from 192.168.0.4 lookup 181 
32764: from all to 192.168.0.3 lookup 180 
32765: from 192.168.0.3 lookup 180 
32766: from all lookup main 
32767: from all lookup default 
# ip a s | grep eth3
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
67: eth3.144@eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
 inet 192.0.2.6/25 scope global eth3.144
# /opt/exadata_ovm/vm_maker --cleanup-ip eth3 --vlan 144
[INFO] Deleting routing rules.
[INFO] Flushing ip-address from interface.
# ip a s | grep eth3
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

7.8 configure-systemコマンド

--configure-systemコマンドを使用して、システムを構成します。

構文

vm_maker --configure-system [ --no-build-base-image ]

使用上のノート

このコマンドにより、/EXAVMIMAGESが作成され、仮想機能が作成されます。--no-build-base-imageオプションを指定した場合、vm_makerはベース・イメージの存在をチェックしません。

7.9 createコマンド

--createコマンドを使用して、ディスク・イメージを作成します。

構文

vm_maker --create --disk-image image_name [ --size size ] [ --filesystem filesystem_type ] 
  [ --from-zip zipfile ] [ --attach --domain guest_name ]

オプション

  • --disk-image: 指定された名前を使用してディスク・イメージを作成します。
  • --size: オプションで、イメージのサイズを指定します。指定しない場合、デフォルト・サイズは50GBです。
  • --filesystem: ディスク・イメージに使用するファイル・システム・タイプを指定します。許可されるファイル・システム・タイプは、ext3ext4およびxfsです。
  • --from-zip: 指定されたZIPファイルからディスク・イメージを作成する必要があることを示します。
  • --attach: 作成後にディスク・イメージをゲストに直接接続するには、このオプションを使用します。このオプションを指定する場合は、--domainオプションも指定する必要があります。
  • --domain: 作成後にディスク・イメージを接続するゲストを指定するには、このオプションを使用します。

使用上のノート

  • ディスク・イメージ・ファイルは、別のサイズまたは単位が指定されていない場合、50GBのサイズで、KVMホスト/EXAVMIMAGESに作成されます。
  • KVMゲストには、最大で112個のディスクを接続できます。

7.10 detachコマンド

--detachコマンドを使用して、ディスク・イメージをゲストから切り離します。

構文

vm_maker --detach --disk-image image_name --domain guest_name [ --delete ]

オプション

  • --disk image: 切り離すディスク・イメージの名前。
  • --domain: ディスク・イメージを切り離すゲストの名前。
  • --delete: ディスク・イメージが他のゲストによって使用されていない場合、--deleteオプションを指定して、ディスク・イメージを/EXAVMIMAGESから削除できます。

7.11 dumpxmlコマンド

--dumpxmlコマンドを使用して、指定したゲストのXML定義を標準出力に送信します。

構文

vm_maker --dumpxml guest_name

使用上のノート

次のように、ファイルへの出力をパイプで連結することで、データを保存できます。
# vm_maker --dumpxml guest1.example.com > guest.xml

7.12 listコマンド

--listコマンドを使用して、ゲストに関する情報を表示します。

構文

ディスク・イメージに関する情報を表示するには:

vm_maker --list --disk-image [ --domain guest_name ]

ゲストに関する情報を表示するには:

vm_maker --list --domain [ guest_name [ --detail ]] 

ゲストの仮想CPU構成に関する情報を表示するには:

vm_maker --list --vcpu [ --domain guest_name ]

ゲストのメモリー構成に関する情報を表示するには:

vm_maker --list --memory [ --domain guest_name ]

オプション

  • --disk-image: /EXAVMIMAGES内のすべての共有ディスク・イメージをリストします。
  • –-domain: すべてのゲストとそのステータスをリストします。ゲスト名を指定すると、表示される情報はそのゲストに限定されます。
  • --vcpu: システム全体の仮想CPU使用率をリストします。
  • --memory: システム全体のメモリー使用量をリストします。

オプションの引数

  • --domain guest_name: 表示される情報を単一のゲストに限定します。
  • --detail: 詳細出力を有効にします。

7.13 list-domainsコマンド

--list-domainsコマンドを使用して、すべてのゲストをリストします。

構文

vm_maker --list-domains

7.14 network-discoveryコマンド

--network-discoveryコマンドを使用して、Oracle RAC単一クライアント・アクセス名(SCAN)などのインタフェース用のネットワークを識別します。

構文

vm_maker --network-discovery XML-config-file

使用上のノート

このコマンドでは、es.xmlなど、エンジニアド・システム用のXML構成ファイルを指定します。

7.15 rebootコマンド

--rebootコマンドを使用して、特定のゲストを再起動します。

構文

vm_maker --reboot guest_name

7.16 remove-bridgeコマンド

--remove-bridgeコマンドを使用して、ネットワーク・ブリッジを削除します。

構文

vm_maker --remove-bridge bridge_name [ --vlan vlanid ] [ --force ]

オプション

  • bridge_name: 削除するブリッジの名前。ブリッジ名は、vmで始まり、vmeth1などのインタフェース名が続きます。
  • --vlan: オプションで、ブリッジのVLAN IDを指定します。
  • --force: このオプションを使用してブリッジを強制的に削除します。

使用上のノート

ネットワーク・ブリッジは、KVMホストまたは他のゲストが使用していない場合にのみ削除できます。

7.17 remove-domainコマンド

--remove-domainコマンドを使用して、特定のゲストまたはすべてのゲストを停止および削除します。

構文

vm_maker --remove-domain { guest_name | --all [ --reset-kvmhost ]}

オプション

  • guest_name: 停止して削除する特定のゲストの名前。すべてのゲストを削除する場合は、単一のゲスト名のかわりに--allを使用できます。
  • --reset-kvmhost: KVMホストゲストがないときの状態にシステムをリセットします。このオプションは、ゲスト名に--allを指定した場合にのみ使用できます。

使用上のノート

--remove-domainコマンドを使用すると、vm_makerによってゲストが強制的に停止されて削除されます。ゲスト名に-- allが指定されている場合、コマンドによって、すべてのゲストと中間イメージ・ファイルが停止されて削除されます。基礎となるネットワーク・ブリッジは、使用されなくなった場合に削除されます。

オプション--reset-kvmhostを指定すると、ゲストが作成される前の状態にシステムがリセットされます。

7.18 setコマンド

--setコマンドを使用して、ゲストの仮想CPUまたはメモリーを構成します。

構文

ゲストの仮想CPUの数を構成するには:

vm_maker --set --vcpu vcpu [ --domain guest_name [ --config ] [ --force ]]

ゲストのメモリーを構成するには:

vm_maker --set --memory size --domain guest_name [ --restart-domain ] [ --force ]

指定したイーサネット・インタフェースのMACを構成するには:

vm_maker --set --mac mac_address --interface interface_name [ --restart-domain ]

オプション

  • --vcpu: ゲストの仮想CPUの数を指定します。
  • --memory: 指定したゲストのメモリー・サイズを設定します。メモリーは、KMまたはGを使用して指定できます(例: 40Gまたは25000M)。
  • --mac: 指定したネットワーク・インタフェースのメディア・アクセス制御(MAC)アドレスを設定します。
  • –-domain: --vcpuまたは--memoryとともに使用する場合、この引数は、設定が単一のゲストに適用されることを示します。それ以外の場合は、設定がすべてのゲストに適用されます。メモリー・サイズを変更するときは、--domainを使用する必要があります。

  • --config: ゲストを再起動するまで、仮想CPUの数を変更しないことを示します。このオプションは、単一のゲストを変更する場合のみ使用できます。
  • --interface: 構成するEthernetネットワーク・インタフェース。
  • --restart-domain: vm_makerによって構成が変更された後にゲストを自動的に再起動するには、このオプションを使用します。
  • --force: 新しい設定を強制的に実装します。このオプションは、単一のゲストを変更する場合のみ使用できます。

使用上のノート

  • ゲストの仮想CPU数の変更は、デフォルトではゲストを再起動せずに即時に実行されます。
  • メモリーの変更時は、設定を有効にする前にゲストを再起動する必要があります。

7.19 setup-ipコマンド

--setup-ipコマンドを使用して、KVMホストのネットワーク・インタフェースをplumbします。

構文

vm_maker --setup-ip ip_address --interface network_interface
  --netmask netmask --gateway gateway_address [ --vlan vlanid ]
vm_maker --setup-ip ip_address --netmask netmask 
  --discover --gateway gateway_address [ --vlan vlanid ]

オプション

  • ip_address: ネットワーク・インタフェースに使用するIPアドレスを指定します。
  • --interface: 使用するネットワーク・インタフェースの名前を指定します。
  • --netmask: インタフェースに使用するIPネットマスクを指定します。
  • --gateway: インタフェースに使用するIPネットワーク・ゲートウェイ・アドレスを指定します。
  • --vlan: オプションで、インタフェースに使用するVLAN IDを指定します。

使用上のノート

--setup-ipコマンドを使用して、テストおよびトラブルシューティングの目的で使用できるKVMホストのネットワーク・インタフェースをplumbします。--cleanup-ipコマンドを使用して、ネットワーク・インタフェースを削除およびクリーン・アップします。

例7-2 ネットワーク・インタフェースの設定

次に、--setup-ipコマンドを使用してネットワーク・インタフェースをplumbし、ネットワーク・ゲートウェイへのアクセスに使用する例を示します。

# ping 192.0.2.1
PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
From 10.32.106.12 icmp_seq=1 Destination Host Unreachable
^C
--- 192.0.2.1 ping statistics ---
2 packets transmitted, 0 received, +1 errors, 100% packet loss, time 999ms
# /opt/exadata_ovm/vm_maker --setup-ip 192.0.2.6 --interface eth3 --netmask 255.255.255.128 --gateway 192.0.2.1 --vlan 144
[INFO] Interface eth3 currently down
[INFO] Bringing up interface eth3
[INFO] Interface eth3.144 is plumbed.
# ping 192.0.2.1 
PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
64 bytes from 192.0.2.1: icmp_seq=2 ttl=255 time=0.317 ms
64 bytes from 192.0.2.1: icmp_seq=3 ttl=255 time=0.302 ms
64 bytes from 192.0.2.1: icmp_seq=4 ttl=255 time=0.307 ms
^C
--- 192.0.2.1 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3077ms
rtt min/avg/max/mdev = 0.302/0.308/0.317/0.021 ms
# ip rule 
0: from all lookup local 
32757: from 192.0.2.6 to 192.0.2.1 iif eth3.144 lookup main 
32758: from all to 10.32.96.5 lookup 220 
32759: from 10.32.96.5 lookup 220 
32760: from all to 10.32.106.0/23 lookup 210 
32761: from 10.32.106.0/23 lookup 210 
32762: from all to 192.168.0.4 lookup 181 
32763: from 192.168.0.4 lookup 181 
32764: from all to 192.168.0.3 lookup 180 
32765: from 192.168.0.3 lookup 180 
32766: from all lookup main 
32767: from all lookup default 
# ip a s | grep eth3
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
67: eth3.144@eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
 inet 192.0.2.6/25 scope global eth3.144
# /opt/exadata_ovm/vm_maker --cleanup-ip eth3 --vlan 144
[INFO] Deleting routing rules.
[INFO] Flushing ip-address from interface.
# ip a s | grep eth3
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

7.20 start-domainコマンド

--start-domainコマンドを使用して、Oracle Linux KVMゲストを作成および起動します。

構文

vm_maker --start-domain { guest_name | XML-config-file | --all } [ --no-discovery ]
  [ --keep ] [ --locked ] [ --ssh-key ] [ --console ]

オプション

  • guest_name: 起動する既存のゲストの名前。
  • XML-config-file: 新しいゲストを作成する場合のXML構成ファイルの完全なファイル名。
  • --all: 単一のゲストまたはXML構成ファイルを指定するかわりに、--allを使用して既存のすべてのドメインを起動できます。
  • --no-discovery: XML入力に基づいて、ゲストの作成時に検出操作が実行され、必要な場合にブリッジが作成されます。このオプションを指定すると、検出操作はスキップされます。
  • --keep: 最初の起動が失敗した場合でもゲストを削除しないことを示します。
  • --locked: ユーザーが初めてログインしたときに、新しいパスワードを選択するよう強制します。
  • --ssh-key: このオプションを指定すると、ゲストが作成されたときに、指定したファイル内のSSHキーについて、rootユーザーのログインが有効になります。
  • --console: このオプションを指定すると、vm_makerによって、既存のゲストの起動時にコンソール・メッセージが表示されます。--lockedオプションも指定すると、ゲストroot SSHアクセスは、指定されたSSHキーに限定されます。

7.21 stop-domainコマンド

--stop-domainコマンドを使用して、指定したOracle Linux KVMゲストを停止します。

構文

vm_maker --stop-domain { guest_name | --all }

オプション

  • guest_name: 停止するゲストの名前。
  • --all: 特定のゲストではなく、すべてのゲストを停止するには、このオプションを使用します。

7.22 validate-ipコマンド

--validate-ipコマンドを使用して、Oracle Linux KVMゲストの指定したネットワーク詳細を検証します。

構文

vm_maker --validate-ip ip_address --netmask netmask 
  --interface network_interface --gateway gateway_address [ --vlan vlanid ]
vm_maker --validate-ip ip_address --netmask netmask 
  --discover --gateway gateway_address [ --vlan vlanid ]

オプション

  • ip_address: 検証で使用するIPアドレスを指定します。
  • --netmask: 検証で使用するIPネットマスクを指定します。
  • --gateway: 検証で使用するIPネットワーク・ゲートウェイ・アドレスを指定します。
  • --vlan: オプションで、検証で使用するVLAN IDを指定します。
  • --interface: インタフェースの検証を実行するようvm_makerに指示し、検証で使用するネットワーク・インタフェースを指定します。
  • --discover: 検出の検証を実行するようvm_makerに指示します。

使用上のノート

--validate-ipコマンドを使用して、指定したネットワーク詳細がKVMゲストに使用できるかどうかを確認します。これは、KVMゲストのデプロイ中にトラブルシューティングの目的で使用できます。

検証には2つのタイプがあります。

  • --interfaceオプションを使用すると、vm_makerで、指定された詳細で、指定されたネットワークを一時的にplumbし、指定されたゲートウェイに到達できることを確認することで、指定されたインタフェースが検証されます。

  • --discoverオプションを使用すると、vm_makerで、指定された詳細で、指定されたネットワークが一時的にplumbされて、指定されたゲートウェイに到達可能なインタフェースが検出されます。

例7-3 インタフェースの検証

次に、--interfaceオプションを使用したインタフェースの検証の例を示します。

# /opt/exadata_ovm/vm_maker --validate-ip 192.0.2.34 --netmask 255.255.240.0 --interface eth1 --gateway 192.0.2.1
[INFO] Interface eth1 is part of bondeth0. Validating bondeth0.
[INFO] Validating network settings, this can take up to a minute.
[INFO] Interface bondeth0 with ip address 192.0.2.34 and netmask 255.255.240.0 can ping gateway 192.0.2.1

例7-4 検出の検証

次に、--discoverオプションを使用した検出の検証の例を示します。

# /opt/exadata_ovm/vm_maker --validate-ip 192.0.2.34 --netmask 255.255.240.0 --discover --gateway 192.0.2.1
[INFO] Potential interfaces for discovery: eth0 eth1 eth2 eth3 eth4
[INFO] Discovering interface eth0
[INFO] Discovering interface eth1
[INFO] Discovering interface eth2
[INFO] Discovering interface eth3
[INFO] Discovering interface eth4
[INFO] Interfaces found: eth1 eth2

7.23 vhostmdコマンド

--vhostmdコマンドを使用して、vhostmdサービスのステータスを有効化、無効化または表示します。

構文

vm_maker --vhostmd { enable | disable | status }