Además de vSphere Client, puede utilizar los comandos de la CLI del centro de datos (DCLI) para crear y administrar las clases de máquina virtual. Los comandos de la DCLI ofrecen más flexibilidad y acceso a las opciones de configuración de máquina virtual que no están disponibles en vSphere Client.
Requisitos previos
Inicie sesión en vCenter Server con la cuenta de usuario raíz y escriba dcli +i para utilizar DCLI en modo interactivo.
Para obtener información sobre los comandos de la DCLI, consulte Descripción de la ejecución de comandos de la DCLI.
Comandos de DCLI disponibles
Comando | Descripción |
---|---|
namespacemanagement virtualmachineclasses create | Cree un objeto de clase de máquina virtual. |
namespacemanagement virtualmachineclasses delete | Elimine el objeto de clase de máquina virtual. |
namespacemanagement virtualmachineclasses get | Devuelva información sobre una clase de máquina virtual. |
namespacemanagement virtualmachineclasses list | Devuelva información sobre todas las clases de máquina virtual. |
namespacemanagement virtualmachineclasses update | Actualice la configuración del objeto de clase de máquina virtual. |
Crear una clase de máquina virtual mediante la CLI del centro de datos
Como administrador de vSphere, utilice el comando com vmware vcenter namespacemanagement virtualmachineclasses create de la DCLI para crear una clase de máquina virtual. Puede configurar propiedades de máquina virtual como CPU, memoria, reservas de memoria, adaptadores de red, etc.
Argumento | Descripción |
---|---|
-h, --help | Muestra este mensaje de ayuda y sal. |
--config-spec CONFIG_SPEC | Una instancia de VirtualMachineConfigSpec asociada a la clase de máquina virtual (entrada json). |
--cpu-count CPU_COUNT | Requerido. Número de CPU configuradas para la máquina virtual de esta clase (entero). |
--cpu-reservation CPU_RESERVATION | Porcentaje del total de CPU disponibles reservado para una máquina virtual (entero). |
--description DESCRIPTION | Descripción de la clase de máquina virtual (cadena). |
--devices-dynamic-direct-path-io-devices DEVICES_DYNAMIC_DIRECT_PATH_IO_DEVICES | Lista de dispositivos de DirectPath I/O dinámicos (entrada json). |
--devices-vgpu-devices DEVICES_VGPU_DEVICES | Lista de dispositivos de vGPU (entrada json). |
--id ID | Requerido. Identificador de la clase de máquina virtual (cadena). |
--instance-storage-policy INSTANCE_STORAGE_POLICY | Directiva de almacenamiento correspondiente al almacenamiento de instancias (cadena). |
--instance-storage-volumes INSTANCE_STORAGE_VOLUMES | Lista de volúmenes de almacenamiento de instancias (entrada json). |
--memory-mb MEMORY_MB | Requerido. La cantidad de memoria en MB configurada para la máquina virtual de esta clase (entero). |
--memory-reservation MEMORY_RESERVATION | El porcentaje de memoria disponible reservado para una máquina virtual de esta clase. |
Utilice los siguientes ejemplos para crear clases de máquina virtual con propiedades diferentes.
CPU y memoria
com vmware vcenter namespacemanagement virtualmachineclasses create --id cpu-mem-class --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","numCPUs":2,"memoryMB":2048}'
La configuración de numCPUs
y memoryMB
en la especificación de configuración es opcional. Si decidió configurarlos, deben tener los mismos valores que los campos de vAPI --cpu-count
y --memory-mb
obligatorios.
Reservas de CPU y memoria
Cuando se crea una clase de máquina virtual mediante una especificación de configuración que tiene una reserva de CPU y memoria, el límite o la reserva de memoria se encuentra en MB para memoryAllocation y en MHz para cpuAllocation.
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
Adaptador de red
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
Almacenamiento de instancias
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"}}]}]}'
Actualizar una clase de máquina virtual mediante la CLI del centro de datos
Como administrador de vSphere, para modificar una clase de máquina virtual utilice el comando DCLI com vmware vcenter namespacemanagement virtualmachineclasses update.
Utilice lo siguiente como ejemplo.
Modificar CPU y memoria
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
Modificar reservas de CPU y memoria
Cuando se crea una clase de máquina virtual mediante una especificación de configuración que tiene una reserva de CPU y memoria, el límite o la reserva de memoria se encuentra en MB para memoryAllocation y en MHz para cpuAllocation.
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
También puede utilizar las especificaciones de configuración para actualizar las reservas de CPU y memoria. Se sobrescribirá cualquier reserva de CPU o memoria existente. Utilice lo siguiente como ejemplo:
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}}'
Agregar 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
Eliminar vGPU
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-1 --devices-vgpu-devices '[]' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-1
Agregar almacenamiento de instancias
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
Eliminar almacenamiento de instancias
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
Agregar adaptadores de red
Este comando agrega un almacenamiento de instancias y una NIC e1000 a la clase de máquina virtual.
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
Especificación de configuración vacía
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class class-w-e1000 --config-spec ''
Qué hacer a continuación
Las clases de máquinas virtuales que se crean con DCLI pasan a estar disponibles en vCenter Server. Puede utilizar vSphere Client para asignar estas clases de máquina virtual a un espacio de nombres. Consulte Asociar una clase de máquina virtual a un espacio de nombres mediante vSphere Client.