In aggiunta a vSphere Client, è possibile utilizzare i comandi della CLI del data center (DCLI) per creare e gestire le classi di macchine virtuali. I comandi della DCLI offrono maggiore flessibilità e accesso alle opzioni di configurazione della macchina virtuale non disponibili in vSphere Client.
Prerequisiti
Accedere a vCenter Server utilizzando l'account utente root e digitare dcli +i per utilizzare la DCLI in modalità interattiva.
Per informazioni sui comandi della DCLI, vedere Panoramica dell'esecuzione dei comandi della DCLI.
Comandi della DCLI disponibili
Comando | Descrizione |
---|---|
namespacemanagement virtualmachineclasses create | Creare un oggetto classe di macchine virtuali. |
namespacemanagement virtualmachineclasses delete | Eliminare l'oggetto classe di macchine virtuali. |
namespacemanagement virtualmachineclasses get | Restituire informazioni su una classe di macchine virtuali. |
namespacemanagement virtualmachineclasses list | Restituire informazioni su tutte le classi di macchine virtuali. |
namespacemanagement virtualmachineclasses update | Aggiornare la configurazione dell'oggetto classe di macchine virtuali. |
Creazione di una classe di macchine virtuali utilizzando la CLI del data center
In qualità di amministratore vSphere, utilizzare il comando com vmware vcenter namespacemanagement virtualmachineclasses create della DCLI per creare una classe di macchine virtuali. È possibile configurare tali proprietà della macchina virtuale come CPU, memoria, prenotazioni di memoria, schede di rete e così via.
Argomento | Descrizione |
---|---|
-h, --help | Mostra questo messaggio di aiuto ed esci. |
--config-spec CONFIG_SPEC | Una VirtualMachineConfigSpec associata alla classe di macchine virtuali (input JSON). |
--cpu-count CPU_COUNT | Obbligatorio. Numero di CPU configurate per la macchina virtuale di questa classe (integer). |
--cpu-reservation CPU_RESERVATION | Percentuale di CPU totali disponibili riservate per una macchina virtuale (numero intero). |
--description DESCRIPTION | Descrizione della classe di macchine virtuali (stringa). |
--devices-dynamic-direct-path-io-devices DEVICES_DYNAMIC_DIRECT_PATH_IO_DEVICES | Elenco di dispositivi I/O DirectPath dinamico (input JSON). |
--devices-vgpu-devices DEVICES_VGPU_DEVICES | Elenco di dispositivi vGPU (input JSON). |
--id ID | Obbligatorio. Identificatore della classe di macchine virtuali (stringa). |
--instance-storage-policy INSTANCE_STORAGE_POLICY | Criterio di storage corrispondente allo storage delle istanze (stringa). |
--instance-storage-volumes INSTANCE_STORAGE_VOLUMES | Elenco dei volumi di storage delle istanze (input JSON). |
--memory-mb MEMORY_MB | Obbligatorio. Quantità di memoria in MB configurata per la macchina virtuale di questa classe (numero intero). |
--memory-reservation MEMORY_RESERVATION | La percentuale di memoria disponibile riservata per una macchina virtuale di questa classe. |
Utilizzare gli esempi seguenti per creare classi di macchine virtuali con proprietà diverse.
CPU e 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}'
L'impostazione di numCPUs
e memoryMB
nella specifica di configurazione è facoltativa. Se si sceglie di impostarli, devono avere gli stessi valori dei campi vAPI --cpu-count
e --memory-mb
obbligatori.
Prenotazioni di CPU e di memoria
Quando si crea una classe di macchine virtuali utilizzando una specifica di configurazione con prenotazione di CPU e memoria, la prenotazione o il limite della memoria è in MB per memoryAllocation e in MHz per 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
Scheda di rete
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
Storage istanze
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"}}]}]}'
Aggiornamento di una classe di macchine virtuali utilizzando la CLI del data center
In qualità di amministratore vSphere, utilizzare il comando com vmware vcenter namespacemanagement virtualmachineclasses update della DCLI per modificare una classe di macchine virtuali.
Utilizzare quanto segue come esempio.
Modifica CPU e 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
Modificare prenotazioni di CPU e di memoria
Quando si crea una classe di macchine virtuali utilizzando una specifica di configurazione con prenotazione di CPU e memoria, la prenotazione o il limite della memoria è in MB per memoryAllocation e in MHz per 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
È inoltre possibile utilizzare la specifica di configurazione per aggiornare le prenotazioni di CPU e di memoria. Tutte le prenotazioni di CPU o di memoria esistenti verranno sovrascritte. Utilizzare il seguente come esempio:
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}}'
Aggiungere 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
Rimuovere vGPU
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class vmclass-1 --devices-vgpu-devices '[]' com vmware vcenter namespacemanagement virtualmachineclasses get --vm-class vmclass-1
Aggiungi storage istanze
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
Rimuovere storage istanze
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
Aggiungi schede di rete
Questo comando aggiunge sia uno storage di istanze sia una scheda NIC e1000 alla classe di macchine virtuali.
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
Specifica di configurazione vuota
com vmware vcenter namespacemanagement virtualmachineclasses update --vm-class class-w-e1000 --config-spec ''
Passaggi successivi
Le classi di macchine virtuali create con la DCLI diventano disponibili in vCenter Server. È possibile utilizzare il vSphere Client per assegnare queste classi di macchine virtuali a uno spazio dei nomi. Vedere Associazione di una classe di macchine virtuali a uno spazio dei nomi mediante il vSphere Client.