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 macchine virtuali, i controller di storage virtuali collegano i dischi virtuali e fisici a queste macchine. Sono disponibili diversi tipi di controller di storage per le macchine virtuali VMware per connettere dischi e unità CD/DVD.

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

Informazioni generali sui controller di storage

Quando crei una macchina virtuale VMware vSphere, almeno un controller di storage virtuale viene creato per impostazione predefinita nella configurazione della macchina virtuale. Se un disco virtuale e un’unità CD/DVD sono connessi a controller di storage diversi, puoi avere due controller di storage dopo aver creato la macchina virtuale. Puoi anche aggiungere altri controller di storage per connettere unità disco durante la creazione della macchina virtuale.

Quando crei una macchina virtuale su un host ESXi utilizzando VMware Host Client o VMware vSphere Client, o in VMware Workstation, il controller di storage ottimale viene selezionato automaticamente per fornire le migliori prestazioni per il sistema operativo guest selezionato. Come vedremo, questo rende molto importante selezionare il sistema operativo guest appropriato nella procedura guidata di creazione della macchina virtuale.

L’importanza di selezionare il controller di archiviazione corretto non può essere enfatizzata abbastanza. I tipi di controller di archiviazione più recenti potrebbero non essere supportati nei vecchi sistemi operativi. Per questo motivo, i driver inclusi nel sistema operativo guest scelto dovrebbero essere presi in considerazione al fine di selezionare il miglior controller predefinito. La compatibilità hardware della macchina virtuale (versione hardware VMware) e il tipo di dispositivo (disco rigido virtuale o DVD-ROM) sono anche fattori importanti. Le versioni più recenti dell’hardware supportano più controller di archiviazione.

Prima di cambiare il controller di archiviazione utilizzato per un disco di avvio, 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 archiviazione a più controller di archiviazione, le prestazioni di input/output possono essere aumentate rispetto al collegamento di tutti i dischi a un singolo controller di archiviazione. Pertanto, se vengono utilizzati più controller SCSI per una VM, la pratica consigliata è distribuire i dischi virtuali su questi controller SCSI per ottenere migliori prestazioni.

Un’altra ragione per aggiungere un controller di archiviazione è quando si supera il numero massimo supportato di dispositivi di archiviazione collegati a un controller. In questo caso, diventa importante come viene aggiunto un nuovo controller. Alcuni controller possono essere aggiunti alla configurazione di una VM utilizzando la funzione di hot-add. Altri tipi di controller di archiviazione richiedono un’operazione a freddo, cioè spegnere prima la VM.

Il numero predefinito del primo controller di archiviazione su una VM è 0. Se si aggiunge un secondo controller di archiviazione, il numero assegnato è 1, ecc. I controller successivi sono numerati in sequenza. Anche la numerazione dei dispositivi di archiviazione collegati a un controller di archiviazione inizia da 0. Ad esempio, se la VM ha un solo controller di archiviazione e un solo disco virtuale collegato a questo controller, il disco è 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 archiviazione, 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 per un nodo dispositivo virtuale.

Controller di archiviazione VMware disponibili

Sono disponibili molti tipi di controller di archiviazione. I tipi di controller di archiviazione per le VM di 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

A maximum of four SCSI controllers are supported per VMware virtual machine. There is a 15-device limit for devices connected to a single SCSI controller.

BusLogic Parallel

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

LSI Logic Parallel

LSI Logic Parallel è conosciuto in precedenza come controller SCSI LSI Logic. Questo è un altro controller di archiviazione SCSI VMware disponibile dalle prime versioni della piattaforma di virtualizzazione VMware. Anche il controller SCSI parallelo LSI Logic è emulato e supportato da un elevato numero di sistemi operativi, inclusi vecchi sistemi operativi poiché contengono un driver per questo controller di archiviazione per impostazione predefinita. Questi driver supportano una profondità della coda di 32, il che ha reso questo controller SCSI VMware una scelta comune e una selezione predefinita per molti sistemi operativi guest. LSI Logic Parallel è selezionato per impostazione predefinita durante la creazione di una VM di Windows Server 2003 perché questo controller di archiviazione supporta i comandi SCSI2 e Windows Server 2003 supporta questo standard SCSI.

LSI Logic SAS

Il controller di archiviazione parallelo LSI Logic è evoluto nel controller SAS LSI Logic. A partire da Windows Server 2008, il controller SAS LSI Logic viene selezionato per impostazione predefinita durante la creazione di una nuova VM perché LSI Logic SAS è compatibile con i comandi SCSI3 e i sistemi operativi Windows più recenti supportano anche lo standard più recente. L’utilizzo di questo controller SCSI VMware è preferito in molti casi.

Compatibilità: ESXi 4.x o successivo.

VMware Paravirtual SCSI

A differenza dei controller SCSI VMware descritti in precedenza in questo post del blog, questo controller è consapevole della virtualizzazione e supporta un’elevata velocità di trasferimento. Il carico della CPU è inferiore rispetto ai controller di archiviazione VMware emulati. Non esiste un equivalente hardware reale del controller SCSI paravirtual VMware (PVSCI) e pertanto molti sistemi operativi (principalmente sistemi operativi più vecchi) non supportano questo controller nativamente. Il driver deve essere installato manualmente per far funzionare un sistema operativo con il controller SCSI paravirtual VMware. Questo controller è adottato per prestazioni elevate di IOPS (operazioni di input/output al secondo).

Se sono presenti snapshot per i dischi virtuali collegati a un controller SCSI paravirtual o se la memoria è sovrassegnata su un host, le prestazioni potrebbero essere inferiori alle aspettative quando si utilizza questo tipo di controller di archiviazione per una VM.

Compatibilità: ESXi 4.x o successivo. Windows Server 2003 o successivo sono supportati.

NEEDS H2

Nota che cambiare il controller di archiviazione 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. È necessario installare VMware Tools sul sistema operativo guest perché VMware Tools contiene il driver necessario per lavorare con il controller SCSI paravirtual VMware.

Quando si installa Windows su una VM e un disco di sistema è collegato al controller SCSI paravirtual VMware, potrebbe essere necessario inserire un’immagine floppy virtuale che contiene i driver e selezionare il driver per il controller durante l’installazione per far rilevare a Windows il disco di installazione.

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

AHCI SATA

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

Compatibilità: compatibilità con l’hardware virtuale ESXi 5.5 o successivo. Sono supportati un massimo di quattro controller SATA per VM. Il numero massimo di dispositivi di archiviazione 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-queue. Il protocollo NVMe è supportato in VMware vSphere e è possibile aggiungere il controller di archiviazione 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 avere il supporto NVMe. Sono supportati un massimo di quattro controller NVMe e possono essere collegati 15 dischi a un singolo controller NVMe (0-14).

Controller di archiviazione IDE

Un controller di archiviazione IDE emulato è uno dei tipi più antichi di controller di archiviazione. Un massimo di un controller IDE può essere collegato a una macchina virtuale con quattro dispositivi di archiviazione (due canali – primario e secondario, ognuno con due dispositivi – master e slave). L’aggiunta e il ridimensionamento a caldo 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 qui sotto.

Raccomandazioni generali

Esistono raccomandazioni generali per selezionare un controller di archiviazione per configurare le VM di VMware vSphere dal punto di vista delle prestazioni e della compatibilità.

Se non sei sicuro su quale controller SCSI utilizzare per la tua VM, segui 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 nient’altro funziona)

Se desideri cambiare il controller di archiviazione per un disco di avvio, devi assicurarti che il driver del controller di archiviazione sia installato nella modalità di avvio. Se una VM è configurata per utilizzare il BIOS, potresti dover modificare la configurazione della VM e le impostazioni del BIOS. Se una VM è configurata per utilizzare UEFI, le opzioni per cambiare il controller di archiviazione per il disco di avvio sono più flessibili e non è necessaria alcuna configurazione aggiuntiva nella maggior parte dei casi.

Fai riferimento alla tabella di compatibilità per vedere se il sistema operativo guest può avviarsi dopo aver cambiato la configurazione del controller di archiviazione per la VM.

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

Configurazione dei controller di storage VMware

Ora che siamo familiarizzati con i tipi di controller di storage disponibili in VMware vSphere, vediamo come modificare le impostazioni del controller di storage in VMware vSphere Client. Nel mio esempio, ho una macchina virtuale con un controller di storage predefinito e Ubuntu Linux è installato su questa macchina virtuale.

Per modificare le impostazioni del controller di storage per una macchina virtuale è necessario disporre del privilegio Virtual machine.Configuration.Add or remove device.

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

Cambiare il tipo di controller

Nella finestra Edit Settings, vedo che la mia macchina virtuale utilizza SCSI controller 0 e il tipo di controller di storage SCSI è LSI Logic Parallel. Qui sotto, puoi trovare SATA controller 0, che viene utilizzato per collegare un’unità CD/DVD virtuale alla macchina virtuale. Fai clic sul controller SCSI per espandere le opzioni, quindi nella riga Change Type, fai clic sul menu a discesa per cambiare il tipo del controller di storage esistente. Fai clic su OK per salvare le impostazioni. Ricorda che la macchina virtuale e il sistema operativo ospite devono supportare il controller selezionato. Questo è particolarmente importante se un disco di avvio è collegato a questo controller di storage.

Aggiunta di un nuovo controller di storage

Per aggiungere un nuovo controller di archiviazione alla configurazione di una VM, nella finestra Modifica Impostazioni clicca su Aggiungi Nuovo Dispositivo, e nel menu che si apre seleziona il controller desiderato (nella sezione Controller). Nel mio esempio, posso selezionare il Controller NVMe, il Controller SATA o il Controller SCSI. Aggiungiamo il controller SATA alla configurazione della VM.

Nota: Il controller USB dovrebbe 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 macchina virtuale (un dispositivo USB deve essere collegato a una porta USB fisica dell’host).

Il controller SATA 1 è stato aggiunto. Inizialmente, il nuovo controller viene nominato come Nuovo Controller SATA. Dopo aver premuto OK per salvare le impostazioni della VM, il nome del controller di archiviazione SATA viene salvato come Controller SATA 1.

Collegare un disco virtuale al controller di archiviazione

Aggiungiamo un nuovo disco rigido virtuale e collega questo disco virtuale al controller di archiviazione SATA. Nella finestra Modifica Impostazioni, clicca su Aggiungi Nuovo Dispositivo > Disco Rigido.

Il nuovo disco rigido è ora visualizzato nella configurazione della VM, ma è necessario configurare le opzioni del disco virtuale, come la dimensione del disco, la provisioning sottile o spessa, e la posizione, e selezionare il controller di archiviazione necessario nelle opzioni del Nodo Dispositivo Virtuale. È possibile configurare anche le opzioni di condivisione, la modalità disco e limiti di IOPs se necessario. Dopo aver cliccato su OK per salvare le impostazioni, il nome del Nuovo Disco Rigido viene salvato come Disco Rigido 2.

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

Se collego il nuovo disco rigido virtuale al controller SATA 0 a cui è collegato il lettore CD/DVD, posso selezionare SATA (0:1), SATA (0:2), o altro (0:x) nodo tranne SATA (0:0) perché il DVD-ROM virtuale utilizza SATA (0:0). Se collego un nuovo disco virtuale al nuovo controller SATA 1, allora posso selezionare SATA (1:0), SATA (1:1), e qualsiasi altro nodo libero su questo controller di archiviazione.

Modifica del File di Configurazione VMX

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

Esploriamo il file di configurazione iniziale di VMX della nostra VM Ubuntu prima di aggiungere qualsiasi controller di archiviazione aggiuntivo 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 salterò 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 archiviazione 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 cambiamo il controller SCSI LSI Logic Parallel in LSI Logic SAS nella configurazione della VM, dovremmo modificare la riga

scsi0.virtualDev = “lsilogic”

a

scsi0.virtualDev = “lsisas1068”

Esaminiamo i parametri di configurazione VMX relativi ai controller di archiviazione, inclusi i controller SCSI. Potrebbe essere necessario cambiare 0, 0:0 e altri valori (x:x) ai valori appropriati in base alla configurazione della tua 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 definito (SCSI(0:0) in questo caso). Se un file di disco virtuale è situato nella stessa directory, impostare “diskname.vmdk” è sufficiente. Se il file del disco virtuale è situato in un’altra directory, è necessario definire il percorso completo del file VMDK.

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

scsi0:0.present = “” – definisce se il dispositivo di archiviazione SCSI è presente. Può essere VERO o FALSO.

scsi0.virtualDev = “” – definisce il tipo del controller SCSI.

Tutti i valori supportati per il parametro scsi0.virtualDev = “” che definisce il tipo del controller SCSI:

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

Puoi utilizzare i processi spiegati in questo post di blog per modificare la configurazione dei controller di archiviazione per le VM in esecuzione su VMware Workstation e VMware Player e connettere i dispositivi di archiviazione ai controller di archiviazione necessari. Puoi anche esercitarti configurando il laboratorio domestico VMware in vSphere 6.7 e vSphere 7.

Conclusione

I controller di archiviazione VMware vengono utilizzati per connettere dispositivi di archiviazione come dischi virtuali alle macchine virtuali. Questo post di blog ha esaminato i tipi di controller di archiviazione virtuale, tra cui SATA, IDE, NVMe e controller di archiviazione SCSI, nonché la configurazione di questi controller nell’interfaccia utente 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, viene selezionato il controller di archiviazione ottimale nella configurazione della VM, ma puoi sempre modificare le impostazioni della VM e cambiare o aggiungere un altro tipo di controller.

Non dimenticare di proteggere le tue VM VMware e eseguire backup in tempo. Considera NAKIVO per il backup e la replica delle VM per proteggere le tue macchine virtuali e altri carichi di lavoro.

Source:
https://www.nakivo.com/blog/scsi-controller-and-other-vmware-controller-types/