仮想マシン クラスの作成と管理には、vSphere Client に加え、Data Center CLI (DCLI) コマンドを使用することもできます。DCLI コマンドを使用すると、vSphere Client では使用できない仮想マシン構成オプションも柔軟に利用することができます。
前提条件
root ユーザー アカウントを使用して vCenter Server にログインし、dcli +i と入力して DCLI を対話モードで使用します。
DCLI コマンドについては、「Overview of Running DCLI Commands」を参照してください。
使用可能な DCLI コマンド
コマンド | 説明 |
---|---|
namespacemanagement virtualmachineclasses create | 仮想マシン クラス オブジェクトを作成します。 |
namespacemanagement virtualmachineclasses delete | 仮想マシン クラス オブジェクトを削除します。 |
namespacemanagement virtualmachineclasses get | 仮想マシン クラスに関する情報を返します。 |
namespacemanagement virtualmachineclasses list | すべての仮想マシン クラスに関する情報を返します。 |
namespacemanagement virtualmachineclasses update | 仮想マシン クラス オブジェクトの構成を更新します。 |
Data Center CLI を使用した仮想マシン クラスの作成
vSphere 管理者として、DCLI com vmware vcenter namespacemanagement virtualmachineclasses create コマンドを使用して仮想マシン クラスを作成します。CPU、メモリ、メモリ予約、ネットワーク アダプタなどの仮想マシン プロパティを構成できます。
引数 | 説明 |
---|---|
-h、--help | このヘルプ メッセージを表示して終了します。 |
--config-spec CONFIG_SPEC | 仮想マシン クラスに関連付けられた VirtualMachineConfigSpec(json 入力)。 |
--cpu-count CPU_COUNT | 必須。このクラスの仮想マシン用に構成される CPU の数(整数)。 |
--cpu-reservation CPU_RESERVATION | 仮想マシン用に予約されている使用可能な CPU の合計の割合(整数)。 |
--description DESCRIPTION | 仮想マシン クラスの説明(文字列)。 |
--devices-dynamic-direct-path-io-devices DEVICES_DYNAMIC_DIRECT_PATH_IO_DEVICES | 動的 DirectPath I/O デバイスのリスト(json 入力)。 |
--devices-vgpu-devices DEVICES_VGPU_DEVICES | vGPU デバイスのリスト(json 入力)。 |
--id ID | 必須。仮想マシン クラスの識別子(文字列)。 |
--instance-storage-policy INSTANCE_STORAGE_POLICY | インスタンス ストレージに対応するストレージ ポリシー(文字列)。 |
--instance-storage-volumes INSTANCE_STORAGE_VOLUMES | インスタンス ストレージ ボリュームのリスト(json 入力)。 |
--memory-mb MEMORY_MB | 必須。このクラスの仮想マシン用に構成されたメモリ量 (MB)。 |
--memory-reservation MEMORY_RESERVATION | このクラスの仮想マシン用に予約される使用可能なメモリの割合。 |
さまざまなプロパティを持つ仮想マシン クラスの作成例を次に示します。
CPU およびメモリ
com vmware vcenter namespacemanagement virtualmachineclasses create --id cpu-mem-class --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","numCPUs":2,"memoryMB":2048}'
Config Spec での numCPUs
と memoryMB
の設定はオプションです。これらを設定する場合は、必須の vAPI フィールドである --cpu-count
および --memory-mb
と同じ値を使用する必要があります。
CPU およびメモリの予約
CPU とメモリの予約が含まれる Config Spec を使用して仮想マシン クラスを作成すると、memoryAllocation でのメモリの予約または制限は MB 単位、cpuAllocation は MHz 単位になります。
com vmware vcenter namespacemanagement virtualmachineclasses create --id cpu-res-class-1 --config-spec '{"_typeName":"VirtualMachineConfigSpec","numCPUs":2,"memoryMB":2048,"cpuAllocation":{"_typeName":"ResourceAllocationInfo","reservation":200,"limit":200},"memoryAllocation":{"_typeName":"ResourceAllocationInfo","reservation":200,"limit":200}}' --cpu-count 2 --memory-mb 2048
ネットワーク アダプタ
com vmware vcenter namespacemanagement virtualmachineclasses create --id class-w-e1000 --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualE1000","key":-100}}]}'
vGPU
com vmware vcenter namespacemanagement virtualmachineclasses create --id vmclass-1 --devices-vgpu-devices '[{"profile_name": "mockup-vmiop-8c"}]' --memory-reservation 100 --cpu-count 2 --memory-mb 4096
com vmware vcenter namespacemanagement virtualmachineclasses create --id vmclass-2 --cpu-count 2 --memory-mb 4096 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop-8c"}}}]}' --memory-reservation 100
インスタンス ストレージ
com vmware vcenter namespacemanagement virtualmachineclasses create --id vmclass-ist-1 --instance-storage-volumes '[{"size":47}]' --instance-storage-policy "e28d4352-1d1e-431b-b3f7-528bef5838a0" --cpu-count 2 --memory-mb 4096
com vmware vcenter namespacemanagement virtualmachineclasses create --id vmclass-ist-2 --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","fileOperation":"create","device":{"_typeName":"VirtualDisk","key":0,"backing":{"_typeName":"VirtualDiskFlatVer2BackingInfo","fileName":"","diskMode":"","thinProvisioned":false},"capacityInKB":0,"capacityInBytes":49283072,"vDiskId":{"_typeName":"ID","id":"e28d4352-1d1e-431b-b3f7-528bef5838a0"}},"profile":[{"_typeName":"VirtualMachineDefinedProfileSpec","profileId":"e28d4352-1d1e-431b-b3f7-528bef5838a0","profileData":{"_typeName":"VirtualMachineProfileRawData","extensionKey":"com.vmware.vim.sps"}}]}]}'
データセンター CLI を使用した仮想マシン クラスの更新
vSphere 管理者は、DCLI com vmware vcenter namespacemanagement virtualmachineclasses update コマンドを使用して仮想マシン クラスを変更します。
次に例を示します。
CPU およびメモリの変更
com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class cpu-mem-class com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class cpu-mem-class --cpu-count 4 --memory-mb 4096
CPU およびメモリ予約の変更
CPU とメモリの予約が含まれる Config Spec を使用して仮想マシン クラスを作成すると、memoryAllocation でのメモリの予約または制限は MB 単位、cpuAllocation は MHz 単位になります。
com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class cpu-res-class-1 com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class cpu-res-class-1 --cpu-reservation 100 --memory-reservation 100 com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class cpu-res-class-1
構成仕様を使用して CPU およびメモリの予約を更新することもできます。既存の CPU またはメモリの予約はすべて上書きされます。次に例を示します。
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class cpu-res-class-1 --config-spec '{"_typeName":"VirtualMachineConfigSpec","cpuAllocation":{"_typeName":"ResourceAllocationInfo","reservation":200,"limit":200},"memoryAllocation":{"_typeName":"ResourceAllocationInfo","reservation":200,"limit":200}}'
vGPU の追加
com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class class-w-e1000 com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class class-w-e1000 --devices-vgpu-devices '[{"profile_name": "mockup-vmiop-8c"}]' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class class-w-e1000
com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-1 com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-1 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop-8c"}}},{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop"}}}]}' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-1
vGPU の削除
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-1 --devices-vgpu-devices '[]' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-1
インスタンス ストレージの追加
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-1 --instance-storage-volumes '[{"size":47}]' --instance-storage-policy "e28d4352-1d1e-431b-b3f7-528bef5838a0" com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-1
com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-ist-2 com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-ist-2 --instance-storage-volumes '[{"size":51},{"size":50}]' --instance-storage-policy "e28d4352-1d1e-431b-b3f7-528bef5838a0" com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-ist-2 com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-ist-2 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","fileOperation":"create","device":{"_typeName":"VirtualDisk","key":0,"backing":{"_typeName":"VirtualDiskFlatVer2BackingInfo","fileName":"","diskMode":"","thinProvisioned":false},"capacityInKB":0,"capacityInBytes":52428800,"vDiskId":{"_typeName":"ID","id":"cc737f33-2aa3-4594-aa60-df7d6d4cb984"}},"profile":[{"_typeName":"VirtualMachineDefinedProfileSpec","profileId":"e28d4352-1d1e-431b-b3f7-528bef5838a0","profileData":{"_typeName":"VirtualMachineProfileRawData","extensionKey":"com.vmware.vim.sps"}}]}]}' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-ist-2
インスタンス ストレージの削除
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-ist-1 --instance-storage-volumes '[]' --instance-storage-policy "" com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-ist-1
ネットワーク アダプタの追加
このコマンドを使用すると、インスタンス ストレージと e1000 NIC の両方が仮想マシン クラスに追加されます。
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-ist-2 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","fileOperation":"create","device":{"_typeName":"VirtualDisk","key":0,"backing":{"_typeName":"VirtualDiskFlatVer2BackingInfo","fileName":"","diskMode":"","thinProvisioned":false},"capacityInKB":0,"capacityInBytes":52428800,"vDiskId":{"_typeName":"ID","id":"cc737f33-2aa3-4594-aa60-df7d6d4cb984"}},"profile":[{"_typeName":"VirtualMachineDefinedProfileSpec","profileId":"e28d4352-1d1e-431b-b3f7-528bef5838a0","profileData":{"_typeName":"VirtualMachineProfileRawData","extensionKey":"com.vmware.vim.sps"}}]},{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualE1000","key":-100}}]}' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-ist-2
構成仕様を空にする
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class class-w-e1000 --config-spec ''
次の手順
DCLI を使用して作成した仮想マシン クラスは、vCenter Server で使用できるようになります。vSphere Client を使用して、これらの仮想マシン クラスを名前空間に割り当てることができます。vSphere Client を使用した仮想マシン クラスと名前空間の関連付けを参照してください。