Controller SCSI e altri tipi di controller VMware

I controller di storage collegano le unità disco a un computer. Esistono diversi standard e tipi di controller di storage, come i controller IDE, SATA e SCSI. Nelle VM, i controller di storage virtuali collegano i dischi virtuali e fisici a queste macchine. Esistono diversi tipi di controller di archiviazione disponibili per le VM VMware per collegare dischi e unità CD/DVD.

Ogni tipo di controller di archiviazione ha i propri vantaggi e limiti, ma questo post del blog si concentra principalmente sui controller SCSI. Quindi confronto i controller SCSI con altri tipi di controller di archiviazione disponibili nelle impostazioni delle VM VMware vSphere per scoprire quale controller di archiviazione sarebbe il migliore per una determinata situazione.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

Informazioni generali sui controller di archiviazione

Quando si crea una VM VMware vSphere, nella configurazione della VM viene creato per impostazione predefinita almeno un controller di archiviazione virtuale. Se un disco virtuale e un’unità CD/DVD sono collegati a controller di archiviazione diversi, dopo aver creato la VM è possibile disporre di due controller di archiviazione. È anche possibile aggiungere altri controller di archiviazione per collegare unità disco durante la creazione della VM.

Quando si crea una VM su un host VMware ESXi utilizzando VMware Host Client o VMware vSphere Client, oppure in VMware Workstation, viene selezionato automaticamente il controller di archiviazione ottimale per fornire le migliori prestazioni per il sistema operativo guest selezionato. Come vedremo, questo rende la selezione del sistema operativo guest appropriato nella procedura guidata di creazione della VM un’operazione molto importante.

L’importanza di selezionare il controller di archiviazione corretto non può essere sottolineata abbastanza. I tipi di controller di archiviazione più recenti potrebbero non essere supportati nei sistemi operativi meno recenti. Per questo motivo, è necessario tenere conto dei driver inclusi nel sistema operativo guest scelto per selezionare il controller predefinito migliore. Anche la compatibilità hardware della VM (versione hardware VMware) e il tipo di dispositivo (disco rigido virtuale o DVD-ROM) sono fattori importanti. Le versioni hardware più recenti supportano un numero maggiore di controller di archiviazione.

The LSI Logic SAS SCSI controller is selected by default during the creation of an Ubuntu VM

Prima di cambiare il controller di storage utilizzato per un disco di avvio, è necessario assicurarsi che il sistema operativo guest (OS) supporti questo tipo di controller e che i driver appropriati siano installati nel sistema operativo guest. Quando si collegano dispositivi di storage a più controller di storage, è possibile aumentare le prestazioni di input/output rispetto al collegamento di tutte le unità disco a un unico controller di storage. Pertanto, se per una VM viene utilizzato più di un controller SCSI, la pratica consigliata è quella di distribuire i dischi virtuali su questi controller SCSI per ottenere prestazioni migliori.

Un altro motivo per aggiungere un controller di storage è quando si supera il numero massimo supportato di dispositivi disco collegati a un controller. In tal caso, diventa importante il modo in cui viene aggiunto un nuovo controller. Alcuni controller possono essere aggiunti a una configurazione VM utilizzando la funzione di aggiunta a caldo. Altri tipi di controller di storage richiedono un’operazione a freddo, ovvero lo spegnimento preventivo della VM.

Il numero predefinito del primo controller di storage su una VM è 0. Se si aggiunge un secondo controller di storage, il numero assegnato è 1 e così via. I controller successivi vengono numerati in modo sequenziale. La numerazione dei dispositivi di storage collegati a un controller di storage inizia analogamente da 0. Ad esempio, se la VM ha un controller di storage e un disco virtuale collegato a questo controller, il disco viene numerato come (0:0). Se si aggiunge un secondo disco virtuale allo stesso controller, il numero sarà (0:1). Se si collega un altro disco virtuale al secondo controller di storage, il numero del disco sarà (1:1) in questo caso. Il nome completo e il numero del nodo di connessione contengono l’interfaccia del controller e il numero del controller e del disco, ad esempio SCSI (0:0), SCSI (1:3), SATA (1:7), IDE (0:0), ecc. SCSI (z:7) non può essere assegnato nelle opzioni del controller perché questo numero è riservato a un nodo di dispositivo virtuale.

Controller di storage VMware disponibile

Sono disponibili molti tipi di controller di storage. I tipi di controller di storage per le VM VMware vSphere sono SCSI, IDE, AHCI SATA e NVM Express (NVMe).

All’interno dei controller SCSI, ci sono quattro sottotipi:

  • BusLogic Parallel
  • LSI Logic Parallel
  • LSI Logic SAS
  • VMware Paravirtual SCSI

Sono supportati al massimo quattro controller SCSI per ogni VM. È previsto un limite di 15 dispositivi collegati a un singolo controller SCSI.

BusLogic Parallel

Questo controller SCSI VMware è stato uno dei primi tipi di controller di storage emulati per le VM VMware vSphere. Le versioni precedenti di Windows contengono un driver per questo tipo di controller per impostazione predefinita e, per questo motivo, questo controller può essere utilizzato nelle configurazioni VM per installare versioni precedenti di Windows su una VM (ad esempio, Windows 2000). Il controller BusLogic Parallel SCSI è ora considerato un controller legacy. Le VM con dischi di dimensioni superiori a 2 TB non sono supportate. La profondità della coda è limitata a 1 dal driver e questo ha un impatto sulle prestazioni. Se sono necessarie prestazioni più elevate per lo storage delle VM, prendere in considerazione l’utilizzo del controller di storage LSI Logic Parallel SCSI.

LSI Logic Parallel

LSI Logic Parallel è precedentemente noto come controller SCSI LSI Logic. Si tratta di un altro controller di storage SCSI VMware disponibile sin dalle prime versioni della piattaforma di virtualizzazione VMware. Anche il controller SCSI parallelo LSI Logic è emulato ed è supportato da un numero elevato di sistemi operativi, compresi quelli meno recenti, poiché questi contengono un driver per questo controller di storage per impostazione predefinita. Questi driver supportano una profondità di coda di 32, il che ha reso questo controller SCSI VMware una scelta comune e predefinita per molti sistemi operativi guest. LSI Logic Parallel viene selezionato di default durante la creazione di una VM Windows Server 2003 perché questo controller di storage supporta i comandi SCSI2 e Windows Server 2003 supporta questo standard SCSI.

LSI Logic SAS

Il controller di storage LSI Logic Parallel si è evoluto nel controller LSI Logic SAS. Da Windows Server 2008, il controller SAS LSI Logic viene selezionato per impostazione predefinita durante la creazione di una nuova VM, poiché SAS LSI Logic è compatibile con i comandi SCSI3 e anche i sistemi operativi Windows più recenti supportano il nuovo standard. In molti casi è preferibile utilizzare questo controller SCSI VMware.

Compatibilità: ESXi 4.x o versioni successive.

VMware Paravirtual SCSI

A differenza dei precedenti controller SCSI VMware descritti in questo post del blog, questo controller è compatibile con la virtualizzazione e supporta un throughput elevato. Il carico della CPU è inferiore rispetto ai controller di storage VMware emulati. Non esiste un equivalente hardware reale del controller VMware paravirtual SCSI (PVSCI) e, pertanto, molti sistemi operativi (principalmente quelli più datati) non supportano questo controller fin da subito. Il driver deve essere installato manualmente affinché un sistema operativo funzioni con il controller VMware paravirtual SCSI. Questo controller è adottato per prestazioni IOPS elevate (operazioni di input/output al secondo).

Se sono presenti snapshot per dischi virtuali collegati a un controller SCSI paravirtuale o se la memoria è sovraccarica su un host, le prestazioni potrebbero essere inferiori al previsto quando si utilizza questo tipo di controller di storage per una VM.

Compatibilità: ESXi 4.x o versioni successive. Sono supportati Windows Server 2003 o versioni successive.

NECESSITA DI H2

Si noti che la modifica del controller di storage per una VM VMware quando è installato un sistema operativo guest può rendere inaccessibili i dischi virtuali esistenti se il driver necessario non è installato sul sistema operativo guest. VMware Tools deve essere installato sul sistema operativo guest perché VMware Tools contiene il driver necessario per funzionare con il controller SCSI paravirtuale VMware.

Quando si installa Windows su una VM e un disco di sistema è collegato al controller SCSI paravirtuale VMware, potrebbe essere necessario inserire un’immagine floppy virtuale contenente i driver e selezionare il driver per il controller durante l’installazione affinché Windows rilevi il disco di installazione.

Per aggiungere il controller SCSI paravirtuale VMware alla configurazione di una macchina virtuale, potrebbe essere necessario aggiungere uno dei controller SCSI altamente supportati, come il controller logico LSI, installare VMware Tools, spegnere la macchina virtuale, aggiungere il controller SCSI paravirtuale VMware alla configurazione della macchina virtuale e, infine, collegare un disco virtuale al controller SCSI paravirtuale VMware (oppure modificare il tipo di controller di archiviazione esistente in controller SCSI paravirtuale).

AHCI SATA

Questo controller di archiviazione è nuovo ed è disponibile a partire da VMware vSphere 5.5 con Virtual Hardware 10. È possibile collegare una grande quantità di spazio di archiviazione (compresi dischi virtuali con alta capacità) a una VM VMware utilizzando il controller di archiviazione AHCI SATA. I controller di storage SATA possono essere utilizzati per i dischi di avvio per avviare un sistema operativo guest (OS). Assicurarsi che il controller AHCI SATA sia supportato dal sistema operativo. Le prestazioni non sono elevate come con i controller PVSCI o LSI Logic. È preferibile utilizzare altri controller per l’esecuzione di applicazioni sensibili alle prestazioni del disco. Il controller SATA viene solitamente utilizzato per impostazione predefinita per l’unità CD/DVD di una VM.

Compatibilità: compatibilità hardware virtuale ESXi 5.5 o versioni successive. Sono supportati al massimo quattro controller SATA per VM. Il numero massimo di dispositivi di storage che possono essere collegati a un singolo controller SATA è 30 (0-29).

NVMe

Il controller NVM Express o NVMe (Non-Volatile Memory) è un controller progettato per funzionare con l’archiviazione SSD. Il protocollo NVMe è adottato per i dischi non magnetici per fornire le migliori prestazioni e la comunicazione multi-coda. Il protocollo NVMe è supportato in VMware vSphere ed è possibile aggiungere il controller di storage NVMe nella configurazione della VM. Il numero massimo di code è 65535 e la profondità massima della coda è 64000.

Requisiti: VMware vSphere 6.5 e versione hardware VM 13. Il sistema operativo guest deve supportare NVMe. Sono supportati al massimo quattro controller NVMe ed è possibile collegare 15 dischi a un singolo controller NVMe (0-14).

Controller di archiviazione IDE

Un controller di archiviazione IDE emulato è uno dei tipi di controller di archiviazione più vecchi. È possibile collegare un massimo di un controller IDE a una VM con quattro dispositivi di storage (due canali, primario e secondario, ciascuno con due dispositivi, master e slave). L’aggiunta a caldo e il ridimensionamento del disco non sono supportati. È necessario spegnere la VM per modificare la configurazione del disco. I controller IDE utilizzano ATAPI.

Il numero totale di dischi che è possibile collegare a una VM è determinato dal tipo di controller, come mostrato nella tabella seguente.

The maximum supported number of disks that can be connected to different storage controller types

Raccomandazioni generali

Esistono raccomandazioni generali per la selezione di un controller di storage per la configurazione delle VM VMware vSphere dal punto di vista delle prestazioni e della compatibilità.

Se non si è sicuri di quale controller SCSI utilizzare per la propria VM, seguire questo ordine (priorità):

  1. VMware Paravirtual (PVCSI) (se supportato dal sistema operativo guest)
  2. LSI Logic SAS (se supportato dal sistema operativo guest)
  3. LSI Logic Parallel
  4. BusLogic Parallel (se nessun’altra opzione funziona)

Se si desidera modificare il controller di storage per un disco di avvio, è necessario assicurarsi che il driver del controller di storage sia installato in modalità di avvio. Se una VM è configurata per utilizzare il BIOS, potrebbe essere necessario modificare la configurazione della VM e le impostazioni del BIOS. Se una VM è configurata per utilizzare UEFI, le opzioni per modificare il controller di storage per il disco di avvio sono più flessibili e nella maggior parte dei casi non è necessaria alcuna configurazione aggiuntiva.

Consultare la tabella di compatibilità per verificare se il sistema operativo guest può avviarsi dopo aver modificato la configurazione del controller di storage per la VM.

Compatibility for changing storage controllers in VMware vSphere

Vedere anche la tabella con i consigli generali sull’utilizzo di diversi tipi di controller di storage per VM e sistemi operativi guest.

Recommended usage of VMware SCSI controllers and other storage controllers for VMs

Configurazione dei controller di archiviazione VMware

Ora che abbiamo familiarità con i tipi di controller di archiviazione disponibili in VMware vSphere, vediamo come effettuare la modifica delle impostazioni del controller di archiviazione in VMware vSphere Client. Nel mio esempio, ho una VM con un controller di archiviazione predefinito e Ubuntu Linux è installato su questa VM.

Il Macchina virtuale.Configurazione.Aggiungi o rimuovi dispositivo privilegio è obbligatorio per modificare le impostazioni del controller di archiviazione per una VM.

Apri VMware vSphere Client, vai su Host e cluster, seleziona l’host necessario e seleziona la VM necessaria. Fare clic con il pulsante destro del mouse sulla VM e nel menu che si apre selezionare Modifica impostazioni. È anche possibile fare clic su Azioni > Modifica impostazioni.

Editing VM settings to change the VMware SCSI controller configuration

Modifica del tipo di controller

Nella finestra Modifica impostazioni vedo che la mia VM utilizza controller SCSI 0 e che il tipo di controller di storage SCSI è LSI Logic Parallel. Di seguito è riportato Controller SATA 0, utilizzato per collegare un’unità CD/DVD virtuale alla VM. Fare clic sul controller SCSI per espandere le opzioni, quindi nella riga Modifica tipo line, clicca sul menu a tendina per modificare il tipo di controller di storage esistente. Premi OK per salvare le impostazioni. Ricordare che la VM e il sistema operativo guest devono supportare il controller selezionato. Ciò è particolarmente importante se a questo controller di storage è collegato un disco per l’avvio.

Changing SCSI types for a storage controller in VMware vSphere

Aggiunta di un nuovo controller di storage

Per aggiungere un nuovo controller di archiviazione alla configurazione di una VM, nella finestra Modifica impostazioni fare clic su Aggiungi nuovo dispositivoe nel menu che si apre selezionare il controller necessario (nella sezione Controller ). Nel mio esempio, posso selezionare NVMe Controller, SATA Controller o SCSI Controller. Aggiungiamo il controller SATA alla configurazione della VM.

Nota: Il controller USB deve essere aggiunto se si desidera utilizzare un pass-through USB e collegare un dispositivo USB fisico (ad esempio, un disco rigido USB o una chiavetta USB) direttamente a una VM (un dispositivo USB deve essere collegato a una porta USB fisica di un host).

SATA controller 1 viene aggiunto. Inizialmente, il nuovo controller viene denominato New SATA Controller. Dopo aver premuto OK per salvare le impostazioni della VM, il nome del controller di storage SATA viene salvato come Controller SATA 1.

Adding a new SCSI storage controller, SATA controller, or NVMe controller

Collegamento di un disco virtuale al controller di storage

Aggiungiamo un nuovo disco rigido virtuale e colleghiamo questo disco virtuale al controller di storage SATA. Nella finestra Modifica impostazioni fare clic su Aggiungi nuovo dispositivo > Disco rigido.

Adding a new virtual hard disk in VM settings

Il nuovo disco rigido è ora visualizzato nella configurazione della VM, ma è necessario configurare le opzioni del disco virtuale, quali la dimensione del disco, provisioning sottile o spesso, e l’ubicazione, e selezionare il controller di storage necessario nelle opzioni Nodo dispositivo virtuale . Se necessario, è anche possibile configurare le opzioni di condivisione, la modalità disco e i limiti IOP. Dopo aver fatto clic su OK per salvare le impostazioni, il nome Nuovo disco rigido viene salvato come Disco rigido 2.

Se è necessario collegare un disco virtuale esistente a un altro controller di storage, seguire lo stesso principio: aprire le impostazioni della VM, espandere le impostazioni del disco e modificare le opzioni del nodo del dispositivo virtuale.

Connecting a virtual disk to a SCSI controller or SATA controller for a VMware VM

Se collego il nuovo disco rigido virtuale al Controller SATA 0 a cui è collegata l’unità CD/DVD, posso selezionare il nodo SATA (0:1), SATA (0:2) o altro (0:x) eccetto SATA (0:0) perché il DVD-ROM virtuale utilizza SATA (0:0). Se collego un nuovo disco virtuale al nuovo controller SATA 1, posso selezionare SATA (1:0), SATA (1:1) e qualsiasi altro nodo libero su questo controller di storage.

Selecting a virtual device node for a virtual disk connected to the SATA storage controller

Modifica del file di configurazione VMX

È possibile modificare il tipo di controller SCSI e altri tipi di controller di storage per una VM modificando il file di configurazione VMX. Questo metodo è l’alternativa alla modifica della configurazione nell’interfaccia grafica di VMware vSphere Client e può essere utilizzato nell’interfaccia della riga di comando. In generale, si consiglia di utilizzare VMware vSphere Client e di modificare manualmente il file VMX solo in casi eccezionali.

Esploriamo il file di configurazione VMX iniziale della nostra VM Ubuntu prima di aggiungere ulteriori controller di archiviazione e dischi virtuali. Nella parte di configurazione visualizzata di seguito, vengono visualizzate solo le righe relative alla configurazione dello storage. Il file di configurazione completo contiene anche altre impostazioni, ma le tralascerò per concentrarmi solo sulla configurazione dello storage e sui controller di storage in questo post del blog.

config.version = “8”

virtualHW.version = “17”

vmci0.present = “TRUE”

scsi0.virtualDev = “lsilogic”

scsi0.present = “TRUE”

sata0.present = “TRUE”

scsi0:0.deviceType = “scsi-hardDisk”

scsi0:0.fileName = “blog-Ubuntu1.vmdk”

sched.scsi0:0.shares = “normal”

sched.scsi0:0.throughputCap = “off”

scsi0:0.present = “TRUE”

sata0:0.deviceType = “cdrom-raw”

sata0:0.clientDevice = “TRUE”

sata0:0.fileName = “emptyBackingString”

sata0:0.present = “TRUE”

displayName = “blog-Ubuntu1”

guestOS = “ubuntu-64”

Le righe di configurazione più interessanti sono:

scsi0.virtualDev = “lsilogic” è il controller SCSI parallelo LSI Logic utilizzato per collegare un disco rigido virtuale.

scsi0:0.deviceType = “scsi-hardDisk” è il tipo di dispositivo di storage collegato a SCSI (0:0).

scsi0:0.fileName = “blog-Ubuntu1.vmdk” è il nome del file del disco virtuale collegato al nodo SCSI (0:0).

Dopo aver aggiunto il secondo controller di storage SATA e il secondo disco virtuale collegato al controller SATA, sono state aggiunte le seguenti righe al file di configurazione VMX:

sata1.present = “TRUE”

sata1:0.fileName = “blog-Ubuntu1_1.vmdk”

sched.sata1:0.shares = “normal”

sched.sata1:0.throughputCap = “off”

sata1:0.present = “TRUE”

Se modifichiamo il controller LSI Logic Parallel SCSI in LSI Logic SAS nella configurazione VM, dovremmo modificare la riga

scsi0.virtualDev = “lsilogic”

in

scsi0.virtualDev = “lsisas1068”

Esaminiamo i parametri di configurazione VMX relativi ai controller di storage, inclusi i controller SCSI. Potrebbe essere necessario modificare 0, 0:0 e altri valori (x:x) con valori appropriati in base alla configurazione della VM.

scsi0.present =

Le persone leggono anche