Tecnologie di storage

VMware vSphere supporta diverse tecnologie di storage.

  • Storage locale, o Direct-attached storage, ossia il disco o l’insieme di dischi collegati direttamente (non via rete) a un host ESXi. Lo storage di tipo locale non può essere condiviso fra più host, ed i dati in esso memorizzati sono accessibili solo dall’host che lo detiene. Poiché non prevede la condivisione in rete, non permette di sfruttare alcune importanti tecnologie di alta affidabilità e di bilanciamento automatico dei carichi.
  • Fibre Channel - è una tecnologia usata nelle Storage Area Network e consente di convogliare i segnali su cavi in fibra ottica. Il protocollo principale di questa tecnologia è il Fibre Channel Protocol (FCP), impiegato per il trasporto dei comandi SCSI sulla rete Fibre Channel.
  • FCoE - Fibre Channel over Ethernet, standard che permette l’incapsulamento del protocollo Fibre Channel sulla rete Ethernet.
  • iSCSI - è un protocollo che consente l'impacchettamento dei comandi SCSI su TCP/IP. Il server che vuole utilizzare lo spazio storage offerto da una SAN iSCSI utilizza un client, detto “initiator”, che consente di inviare al target (il dispositivo iSCSI) i comandi che consentono di leggere e scrivere sui dischi.
  • NAS - dispositivo di storage condiviso che rende disponibile in rete lo spazio di memorizzazione tramite protocollo NFS. È importante ricordare che NFS non supporta dischi RDM, poiché non prevede il supporto ai comandi SCSI inviati dal VMkernel in modo diretto tramite mappatura RDM.

Nella tabella seguente vediamo un confronto fra le tecnologie di storage rispetto alle funzionalità supportate.

 

FunzionalitàFibre ChannelFCoEiSCSINFS
ESX BootSolo se l'Initiator è di tipo HardwareNo
VM Boot
RDMNo
vMotion
Storage vMotion
High Availability
Fault Tolerance


Convenzioni nei nomi dei dispositivi di storage

I dispositivi di storage seguono diverse convenzioni per l’identificazione tramite nome.

  • SCSI ID, ossia l’indirizzo univoco dei dispositivi SCSI.
  • Canonical name, nelle forme naa.number (Network Address Authority ID), t10.number (secondo specifiche IETF), eui.number (Extended Unique Identifier secondo specifiche IEEE). Se non si ottengono nomi validi dalle unità logiche, viene utilizzato uno spazio dei nomi con prefisso “mpx” seguito dal runtime name.

Runtime name, rappresenta il percorso hardware del dispositivo (es. vmhba1:C0:T1:L3).

I datastore

Per la memorizzazione delle macchine virtuali, vSphere utilizza unità di memorizzazione chiamate datastore. Un datastore è un contenitore logico che si mostra agli host come storage generico, con struttura di memorizzazione sempre uguale, indipendentemente dalla reale tecnologia di storage impiegata. I datastore possono utilizzare due tipi di file system: VMFS e NFS.

vsphere schema datastore
VMFS

VMFS, ora giunto alla versione 5, è un file system di tipo “cluster”, permette cioè la lettura e la scrittura sullo storage a più host contemporaneamente. Su un singolo datastore VMFS-5 possono essere connessi sino a 64 host ESXi. La precedente versione VMFS-3 permetteva l’impiego di unità non superiori a 2Tb; con VMFS-5 questo limite è stato portato a 64Tb, grazie all’impiego di tabelle di partizione GPT (GUID Partition Table) in sostituzione del formato MBR (Master Boot Record). VMFS-5 utilizza una dimensione dei blocchi fissa di 1Mb, ideale per la memorizzazione di file di grandi dimensioni (come i file dei dischi virtuali), mentre utilizza un indirizzamento per sotto-blocchi (subblock addressing) con file di piccole dimensioni, ottimizzando così l’uso dello spazio. Per assicurarsi che una stessa macchina virtuale non sia utilizzata contemporaneamente da più host ESXi, si adotta un meccanismo di blocco distribuito (block-level distributed locking). Se un host va in down, il blocco viene rilasciato affinché le macchine virtuali possano essere riavviate su un altro host. Sia chiaro che VMFS è trasparente per le macchine virtuali, nel senso che al loro interno sarà presente il file system del sistema operativo utilizzato.

NFS

NFS è un file system che permette di utilizzare la rete per accedere a dischi remoti come se fossero locali. È reso disponibile da dispositivi NAS, dotati solitamente di un sistema operativo di tipo Unix e di diversi hard disk destinati all'immagazzinamento dei dati. Un sistema di questo tipo è identificabile anche come NFS server.

Un host ESXi accede ad un NFS server tramite porte VMkernel, che permettono di sfruttare il protocollo NFS. La porta VMkernel, configurata con un suo indirizzo IP, deve essere connessa alla stessa rete (logica e fisica) del NAS. Si raccomanda di utilizzare switch virtuali e interfacce di rete dedicate esclusivamente al collegamento NFS, su reti distinte in cui passa solo traffico NFS.

vsphere schema nfs

Nell’host ESXi, i privilegi di accesso NFS sono tipicamente assegnati all’utente root; tuttavia, questa impostazione potrebbe risultare problematica con alcuni NAS. Per proteggere i volumi NFS, infatti, in alcune configurazioni è attiva l’opzione “root_squash”, con cui il server NFS considera gli accessi root come accessi di utenti senza privilegi. In questo modo un host ESXi sarebbe bloccato nel tentativo di accedere ai file memorizzati nei volumi NFS. Per aggirare il problema, l’amministratore del NAS dovrebbe utilizzare l’opzione “no_root_squash” al posto di “root_squash”, insieme ai privilegi di lettura e scrittura, permettendo all’host ESXi di avere accesso completo ai volumi NFS.

 

L'autore

Alessio Carta

Responsabile sistemi presso un System Integrator con sede in Sardegna, si occupa di informatica e telecomunicazioni da oltre 10 anni. La sua formazione comprende una laurea in ingegneria, una specializazione IFTS in progettazione di reti telematiche, certificazioni Cisco CCNA, Cisco CCNA Security, MCP sui sistemi Windows Server e VCP su VMware vSphere (5.1, 5.5, 6.0). È istruttore presso una VMware IT Academy con sede a Cagliari.