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 tali 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 presenta i propri vantaggi e limiti, ma questo articolo del blog si concentra principalmente sui controller SCSI. Successivamente, metterò a confronto i controller SCSI con altri tipi di controller di archiviazione disponibili nelle impostazioni delle VM VMware vSphere per individuare quale controller di archiviazione sia il più adatto a una determinata situazione.

NAKIVO per il backup di VMware vSphere

NAKIVO per il backup di VMware vSphere

Protezione completa dei dati per le macchine virtuali VMware vSphere e opzioni di ripristino istantaneo. Destinazioni di backup sicure onsite, offsite e nel cloud. Funzioni anti-ransomware.

Informazioni generali sui controller di archiviazione

Quando si crea una macchina virtuale VMware vSphere, nella configurazione della macchina virtuale 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 la creazione della macchina virtuale si potranno avere due controller di archiviazione. È inoltre possibile aggiungere ulteriori 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 garantire le migliori prestazioni per il sistema operativo guest selezionato. Come vedremo, ciò rende la scelta del sistema operativo guest appropriato nella procedura guidata di creazione della VM un’operazione di fondamentale importanza.

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 dai sistemi operativi meno recenti. Per questo motivo, è necessario tenere conto dei driver inclusi nel sistema operativo guest scelto per selezionare il miglior controller predefinito. 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 modificare il controller di storage utilizzato per un disco di avvio, è necessario assicurarsi che il sistema operativo ospite (OS) supporti questo tipo di controller e che i driver appropriati siano installati nel sistema operativo ospite. Quando si collegano dispositivi di storage a più controller di storage, le prestazioni di input/output possono aumentare 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 raccomandata è quella di distribuire i dischi virtuali tra questi controller SCSI per ottenere prestazioni migliori.

Un altro motivo per aggiungere un controller di storage è quando si supera il numero massimo 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 alla configurazione di una VM utilizzando la funzione di aggiunta a caldo (Hot Add). Altri tipi di controller di storage richiedono un’operazione a freddo (cold), 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 ordine sequenziale. Anche la numerazione dei dispositivi di storage collegati a un controller di storage inizia da 0. Ad esempio, se la VM dispone di un controller di storage e di un disco virtuale collegato a tale controller, il disco viene numerato come (0:0). Se si aggiunge un secondo disco virtuale allo stesso controller, il numero diventa (0:1). Se si collega un altro disco virtuale al secondo controller di storage, in questo caso il numero del disco è (1:1). Il nome completo e il numero del nodo di connessione includono 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. Il numero SCSI (z:7) non può essere assegnato nelle opzioni del controller poiché è riservato a un nodo di dispositivo virtuale.

Controller di archiviazione VMware disponibili

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

All’interno dei controller SCSI, esistono 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 macchine virtuali VMware vSphere. Le versioni precedenti di Windows contengono per impostazione predefinita un driver per questo tipo di controller e, per questo motivo, tale controller può essere utilizzato nelle configurazioni delle macchine virtuali per installare vecchie versioni di Windows su una macchina virtuale (ad esempio, Windows 2000). Il controller SCSI BusLogic Parallel è 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 ciò incide sulle prestazioni. Se sono necessarie prestazioni più elevate per lo storage delle VM, si consiglia di utilizzare il 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 archiviazione SCSI VMware disponibile sin dalle prime versioni della piattaforma di virtualizzazione VMware. Anche il controller SCSI LSI Logic Parallel è emulato ed è supportato da un gran numero di sistemi operativi, compresi quelli meno recenti, poiché questi ultimi contengono di default un driver per questo controller di archiviazione. Questi driver supportano una profondità di coda pari a 32, il che ha reso questo controller SCSI VMware una scelta comune e predefinita per molti sistemi operativi guest. LSI Logic Parallel viene selezionato per impostazione predefinita durante la creazione di una VM Windows Server 2003, poiché 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 . A partire da Windows Server 2008, il controller LSI Logic SAS viene selezionato per impostazione predefinita durante la creazione di una nuova VM poiché LSI Logic SAS è compatibile con i comandi SCSI3 e anche i sistemi operativi Windows più recenti supportano lo standard più recente. 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 è ottimizzato per la virtualizzazione e supporta un throughput elevato. Il carico della CPU è inferiore rispetto ai controller di storage VMware emulati. Non esiste un vero equivalente hardware del controller SCSI VMware paravirtual (PVSCI) e, di conseguenza, molti sistemi operativi (principalmente quelli più datati) non hanno supporto per questo controller di default. È necessario installare manualmente il driver affinché un sistema operativo funzioni con il controller SCSI VMware paravirtual . Questo controller è progettato per garantire elevate prestazioni in termini di IOPS (operazioni di input/output al secondo).

Se sono presenti snapshot per dischi virtuali collegati a un controller paravirtual SCSI , o se la memoria è sovraimpegnata su un host, le prestazioni potrebbero risultare inferiori alle aspettative 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 macchina virtuale 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 poiché VMware Tools contiene il driver necessario per funzionare con il controller SCSI VMware paravirtual .

Quando si installa Windows su una VM e un disco di sistema è collegato al controller SCSI VMware paravirtual , potrebbe essere necessario inserire un’immagine di 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 VMware paravirtual alla configurazione di una VM, potrebbe essere necessario aggiungere uno dei controller SCSI altamente supportati, come il controller LSI logic , installare VMware Tools, spegnere la VM, aggiungere il controller SCSI VMware paravirtual alla configurazione della VM e, infine, collegare un disco virtuale al controller SCSI VMware paravirtual (oppure modificare il tipo di controller di storage esistente con il controller paravirtual SCSI).

AHCI SATA

Questo controller di storage è una novità ed è disponibile a partire da VMware vSphere 5.5 con Virtual Hardware 10. È possibile collegare una grande quantità di spazio di storage (compresi dischi virtuali con alta capacità di storage) a una macchina virtuale VMware utilizzando il controller di storage AHCI SATA. I controller di storage SATA possono essere utilizzati come dischi di avvio per avviare un sistema operativo ospite (OS). Assicurarsi che il controller AHCI SATA sia supportato dal sistema operativo. Le prestazioni non sono elevate come quelle dei 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à con l’hardware virtuale ESXi 5.5 o versioni successive. Sono supportati al massimo quattro controller SATA per VM. Il numero massimo di dispositivi di storage collegabili a un singolo controller SATA è 30 (0-29).

NVMe

Il controller NVM Express o NVMe (Non-Volatile Memory) è progettato per funzionare con l’archiviazione SSD. Il protocollo NVMe è adottato per i dischi non magnetici al fine di 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 macchina virtuale. Il numero massimo di code è 65535 e la profondità massima della coda è 64000.

Requisiti: VMware vSphere 6.5 e versione hardware della macchina virtuale 13. Il sistema operativo guest deve supportare NVMe. È supportato un massimo di quattro controller NVMe e è possibile collegare 15 dischi a un singolo controller NVMe (da 0 a 14).

Controller di archiviazione IDE

Un controller di archiviazione IDE emulato è uno dei tipi di controller di archiviazione più datati. È possibile collegare al massimo 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 dei dischi 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 illustrato nella tabella sottostante.

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 (per priorità):

  1. VMware Paravirtual (PVCSI) (se supportato dal sistema operativo ospite)
  2. LSI Logic SAS (se supportato dal sistema operativo ospite)
  3. LSI Logic Parallel
  4. BusLogic Parallel (se non funziona nient’altro)

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 l’UEFI, le opzioni per modificare il controller di storage del 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 ospite può avviarsi dopo aver modificato la configurazione del controller di storage della VM.

Compatibility for changing storage controllers in VMware vSphere

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

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

Configurazione dei controller di archiviazione VMware

Ora che abbiamo familiarizzato con i tipi di controller di archiviazione disponibili in VMware vSphere, vediamo come modificare le impostazioni del controller di archiviazione in VMware vSphere Client. Nel mio esempio, ho una VM con un controller di archiviazione predefinito, su cui è installato Ubuntu Linux.

Per modificare le impostazioni del controller di archiviazione di una VM è obbligatorio il privilegio Virtual machine.Configuration.Add or remove device .

Apri VMware vSphere Client, vai su Hosts and Clusters, seleziona l’host desiderato, quindi seleziona la VM desiderata. Fai clic con il tasto destro del mouse sulla VM e, nel menu che si apre, seleziona Edit Settings. Puoi anche fare clic su Actions > Edit Settings.

Editing VM settings to change the VMware SCSI controller configuration

Modifica del tipo di controller

Nella finestra Edit Settings , vedo che la mia VM utilizza SCSI controller 0 e che il tipo di controller di storage SCSI è LSI Logic Parallel. In basso, puoi trovare SATA controller 0, che viene utilizzato per collegare un’unità CD/DVD virtuale alla VM. Fare clic sul controller SCSI per espandere le opzioni, quindi nella riga Change Type fare clic sul menu a discesa per modificare il tipo del controller di storage esistente. Premere 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 di avvio.

Changing SCSI types for a storage controller in VMware vSphere

Aggiunta di un nuovo controller di storage

Per aggiungere un nuovo controller di storage alla configurazione di una VM, nella finestra Edit Settings fare clic su Add New Devicee, nel menu che si apre, selezionare il controller desiderato (nella sezione Controllers ). Nel mio esempio, posso selezionare Controller NVMe, Controller SATA o Controller SCSI. Aggiungiamo il SATA controller alla configurazione della VM. Nota: È necessario aggiungere il controller USB 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 dell’host).

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

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

Collegamento di un disco virtuale al controller di archiviazione

Aggiungiamo un nuovo disco rigido virtuale e colleghiamolo al controller di archiviazione SATA. Nella finestra Edit Settings , fare clic su Add New Device > Hard Disk.

Adding a new virtual hard disk in VM settings

Il nuovo disco rigido viene ora visualizzato nella configurazione della VM, ma è necessario configurare le opzioni del disco virtuale, quali la dimensione del disco, provisioning leggero o pesante, e la posizione, nonché selezionare il controller di archiviazione richiesto nelle opzioni Virtual Device Node . È inoltre possibile configurare le opzioni di condivisione, la modalità del disco e i limiti di IOP, se necessario. Dopo aver fatto clic su OK per salvare le impostazioni, il nome New Hard Disk viene salvato come Hard Disk 2.

Se è necessario collegare un disco virtuale esistente a un altro controller di archiviazione, seguire lo stesso procedimento: aprire le impostazioni della macchina virtuale, 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 a SATA controller 0 a cui è collegata l’unità CD/DVD, posso selezionare il nodo SATA (0:1), SATA (0:2) o altri (0:x) tranne SATA (0:0), poiché il DVD-ROM virtuale utilizza SATA (0:0). Se collego un nuovo disco virtuale al nuovo SATA controller 1, allora 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 a riga di comando. In generale, si consiglia di utilizzare VMware vSphere Client e di modificare manualmente il file VMX solo in casi eccezionali.

Esaminiamo il file di configurazione VMX iniziale della nostra VM Ubuntu prima di aggiungere ulteriori controller di archiviazione e dischi virtuali. Nella sezione di configurazione riportata di seguito, vengono visualizzate solo le righe relative alla configurazione dell’archiviazione. Il file di configurazione completo contiene anche altre impostazioni, ma in questo articolo le tralascerò per concentrarmi esclusivamente sulla configurazione dell’archiviazione e sui controller di archiviazione. 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 LSI Logic Parallel controller SCSI 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 archiviazione 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 SCSI LSI Logic Parallel in LSI Logic SAS nella configurazione della VM, dovremmo modificare la riga

scsi0.virtualDev = "lsilogic"

in
scsi0.virtualDev = "lsisas1068"

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

scsi0.present = "" – definisce se il controller SCSI 0 è presente (i valori possibili sono TRUE o FALSE).

scsi0:0.deviceType = "" viene utilizzato per definire l’ID SCSI.  I valori supportati sono "scsi-hardDisk", "PhysicalDrive0", "rawDisk", "scsi-passthru", "scsi-nonpassThru-rdm", "scsi-passthru", "scsi-passthruscsi-passThru-rdm".

scsi0:0.fileName = "diskname.vmdk" – definisce il nome del file del disco virtuale allegato al nodo del dispositivo virtuale specificato (SCSI(0:0) in questo caso). Se il file del disco virtuale si trova nella stessa directory, è sufficiente impostare "diskname.vmdk" . Se il file del disco virtuale si trova in un’altra directory, è necessario definire il percorso completo del file VMDK.

sched.scsi0:0.throughputCap = "off" – i limiti di larghezza di banda e di throughput sono disabilitati. Un esempio di impostazione del limite per questo parametro è sched.scsi0:0.throughputCap = 80IOPS, 10KIOps, 4GBps, ecc.

scsi0:0.present = "" – definisce se il dispositivo di storage SCSI è presente. Può essere TRUE o FALSE.

scsi0.virtualDev = "" – definisce il tipo di controller SCSI.

Tutti i valori supportati per il parametro scsi0.virtualDev = "" che definisce il tipo di controller SCSI:

  • buslogic – BusLogic SCSI
  • lsilogic – LSI Logic SCSI
  • lsisas1068 – LSI Logic SAS
  • pvscsi – VMware Paravirtual SCSI

È possibile utilizzare le procedure illustrate in questo post del blog per modificare la configurazione dei controller di storage per le VM in esecuzione su VMware Workstation e VMware Player e collegare i dispositivi di storage ai controller di storage necessari. È inoltre possibile fare pratica configurando il Laboratorio domestico VMware in vSphere 6.7 e vSphere 7.

Conclusione

I controller di archiviazione VMware vengono utilizzati per collegare dispositivi di storage, come i dischi virtuali, alle VM. Questo post del blog ha esaminato i tipi di controller di archiviazione virtuali, inclusi i controller di archiviazione SATA, IDE, NVMe e SCSI, nonché la configurazione di questi controller nell’interfaccia grafica del client VMware vSphere. Le prestazioni di un sistema di archiviazione e il corretto funzionamento di un sistema operativo guest dipendono dalla scelta del tipo di controller corretto. Per impostazione predefinita, nella configurazione della macchina virtuale viene selezionato il controller di archiviazione ottimale, ma è sempre possibile modificare le impostazioni della macchina virtuale e cambiare o aggiungere un altro tipo di controller.

Non dimenticate di proteggere le vostre macchine virtuali VMware ed eseguire i backup con regolarità. Prendete in considerazione NAKIVO per il backup e la replica delle macchine virtuali, al fine di proteggere le vostre macchine virtuali e altri carichi di lavoro.

Prova NAKIVO Backup & Replication

Prova NAKIVO Backup & Replication

Richiedi una prova gratuita per scoprire tutte le funzionalità di protezione dei dati offerte dalla soluzione. 15 giorni gratuiti. Nessuna limitazione in termini di funzionalità o capacità. Non è obbligatoria alcuna carta di credito.

Le persone leggono anche