In generale, i dischi o gli array di dischi offrono le prestazioni migliori in uno scenario di connessione a host singolo. La maggior parte dei sistemi operativi si basa su file system esclusivi, il che significa che un file system può essere di proprietà di un solo sistema operativo. Di conseguenza, sia il sistema operativo che il software applicativo ottimizzano la lettura e la scrittura dei dati per il sistema di archiviazione su disco in base alle sue caratteristiche. Questa ottimizzazione mira a ridurre i tempi di ricerca fisica e a diminuire i tempi di risposta meccanica del disco. Le richieste di dati provenienti da ciascun processo del programma vengono gestite dal sistema operativo, risultando in richieste di lettura e scrittura di dati ottimizzate e ordinate per il disco o l'array di dischi. Ciò porta alle migliori prestazioni del sistema di storage in questa configurazione.
Per gli array di dischi, sebbene venga aggiunto un ulteriore controller RAID tra il sistema operativo e le singole unità disco, gli attuali controller RAID gestiscono e verificano principalmente le operazioni di tolleranza agli errori del disco. Non eseguono l'unione, il riordino o l'ottimizzazione delle richieste di dati. I controller RAID sono progettati partendo dal presupposto che le richieste di dati provengono da un unico host, già ottimizzato e ordinato dal sistema operativo. La cache del controller fornisce solo funzionalità di buffering dirette e computazionali, senza accodare i dati per l'ottimizzazione. Quando la cache viene riempita rapidamente, la velocità diminuisce immediatamente alla velocità effettiva delle operazioni del disco.
La funzione principale del controller RAID è creare uno o più dischi di grandi dimensioni con tolleranza agli errori da più dischi e migliorare la velocità complessiva di lettura e scrittura dei dati utilizzando la funzionalità di memorizzazione nella cache su ciascun disco. La cache di lettura dei controller RAID migliora significativamente le prestazioni di lettura dell'array di dischi quando gli stessi dati vengono letti in breve tempo. La velocità massima effettiva di lettura e scrittura dell'intero array di dischi è limitata dal valore più basso tra larghezza di banda del canale host, calcolo di verifica della CPU del controller e capacità di controllo del sistema (motore RAID), larghezza di banda del canale del disco e prestazioni del disco (le prestazioni effettive combinate di tutti i dischi). Inoltre, la mancata corrispondenza tra la base di ottimizzazione delle richieste di dati del sistema operativo e il formato RAID, ad esempio la dimensione del blocco delle richieste I/O che non si allinea con la dimensione del segmento RAID, può avere un impatto significativo sulle prestazioni dell'array di dischi.
Variazioni delle prestazioni dei tradizionali sistemi di storage di array di dischi nell'accesso a più host
Negli scenari di accesso a più host, le prestazioni degli array di dischi diminuiscono rispetto alle connessioni a host singolo. Nei sistemi di storage di array di dischi su piccola scala, che in genere hanno una coppia singola o ridondante di controller di array di dischi e un numero limitato di dischi connessi, le prestazioni sono influenzate dai flussi di dati non ordinati provenienti da vari host. Ciò comporta un aumento dei tempi di ricerca del disco, delle informazioni sull'intestazione e sulla coda del segmento dati e sulla frammentazione dei dati per i processi di lettura, unione, verifica e riscrittura. Di conseguenza, le prestazioni di archiviazione diminuiscono man mano che vengono connessi più host.
Nei sistemi di storage di array di dischi su larga scala, il degrado delle prestazioni è diverso da quello degli array di dischi su piccola scala. Questi sistemi su larga scala utilizzano una struttura bus o una struttura di commutazione cross-point per connettere più sottosistemi di archiviazione (array di dischi) e includono cache di grande capacità e moduli di connessione host (simili a hub o switch di canale) per più host all'interno del bus o della commutazione struttura. Le prestazioni dipendono in gran parte dalla cache nelle applicazioni di elaborazione delle transazioni, ma hanno un'efficacia limitata negli scenari di dati multimediali. Sebbene i sottosistemi di array di dischi interni in questi sistemi su larga scala funzionino in modo relativamente indipendente, una singola unità logica è costruita solo all'interno di un singolo sottosistema di dischi. Pertanto, le prestazioni di una singola unità logica rimangono basse.
In conclusione, gli array di dischi su piccola scala subiscono un calo delle prestazioni a causa di flussi di dati non ordinati, mentre gli array di dischi su larga scala con più sottosistemi di array di dischi indipendenti possono supportare più host ma devono ancora affrontare limitazioni per le applicazioni di dati multimediali. D'altro canto, i sistemi di storage NAS basati sulla tecnologia RAID tradizionale e che utilizzano i protocolli NFS e CIFS per condividere lo storage con utenti esterni tramite connessioni Ethernet riscontrano un minore degrado delle prestazioni in ambienti con accesso host multiplo. I sistemi di archiviazione NAS ottimizzano la trasmissione dei dati utilizzando più trasferimenti TCP/IP paralleli, consentendo una velocità condivisa massima di circa 60 MB/s in un singolo sistema di archiviazione NAS. L'utilizzo di connessioni Ethernet consente la scrittura ottimale dei dati sul sistema disco dopo la gestione e il riordino da parte del sistema operativo o del software di gestione dati nel thin server. Pertanto, il sistema disco stesso non subisce un significativo degrado delle prestazioni, rendendo lo storage NAS adatto per applicazioni che richiedono la condivisione dei dati.
Orario di pubblicazione: 17 luglio 2023