Cos'è lo storage a blocchi?
Lo storage a blocchi è una tecnologia utilizzata per archiviare file di dati su reti SAN (Storage Area Network) o ambienti di storage basati su cloud.
Sfondo sfumato nero e blu
Cos'è lo storage a blocchi?

Lo storage a blocchi, a volte indicato come storage a livello di blocco, è una tecnologia utilizzata per archiviare i file di dati in ambienti di storage SAN (Storage Area Network) o basati su cloud. Gli sviluppatori preferiscono lo storage a blocchi per le situazioni in cui è richiesto un trasferimento di dati rapido, efficiente ed affidabile.

Lo storage a blocchi suddivide i dati in blocchi e quindi memorizza tali blocchi come pezzi separati, ciascuno con un identificativo univoco. SAN posiziona tali blocchi di dati nei punti in cui sono più efficienti. Ciò significa che i blocchi possono essere archiviati su sistemi differenti e ciascun blocco può essere configurato (o partizionato) in modo da funzionare con sistemi operativi differenti.

Lo storage a blocchi, inoltre, annulla l'associazione tra dati e ambienti degli utenti, consentendo la distribuzione dei dati su più ambienti. Questo crea più percorsi verso i dati e consente agli utenti di richiamarli rapidamente. Quando un utente o un'applicazione richiede i dati da un sistema di storage a blocchi, il sistema di storage sottostante riassembla i blocchi di dati e presenta i dati all'utente o all'applicazione.

Confronto tra storage a blocchi, storage di oggetti e storage di file

Lo storage a blocchi non è l'unico tipo di storage di dati disponibile. Gli sviluppatori utilizzano anche altri sistemi, come lo storage di oggetti e lo storage di file. Sebbene l'obiettivo finale di ciascuno di essi sia fornire dati agli utenti e alle applicazioni, ciascuno di questi metodi di storage archivia e richiama i dati in modo differente.

Storage di oggetti

Lo storage di oggetti, noto anche come storage basato sugli oggetti, suddivide i file di dati in parti chiamate oggetti. Quindi, memorizza tali oggetti in un unico repository, che può essere distribuito su più sistemi  in rete .

In pratica, le applicazioni gestiscono tutti gli oggetti, eliminando l'esigenza di un file system tradizionale. Ciascun oggetto riceve un ID univoco, che viene utilizzato dalle applicazioni per identificare l'oggetto. E ciascun oggetto archivia i metadati - informazioni sui file archiviati nell'oggetto.

Un'importante differenza tra storage di oggetti e storage a blocchi è il modo in cui vengono gestiti i metadati. Nella storage di oggetti, i metadati possono essere personalizzati in modo da includere informazioni dettagliate aggiuntive sui file di dati archiviati nell'oggetto. Ad esempio, i metadati che accompagnano un file video potrebbero essere personalizzati in modo da indicare il luogo on cui è stato realizzato il video, il tipo di fotocamera usato per le riprese e addirittura quali soggetti sono stati catturati in ogni fotogramma. Nello storage a blocchi, i metadati sono limitati agli attributi di file di base.

Lo storage a blocchi è più adatto per i file statici che non vengono modificati spesso perché qualsiasi modifica apportata ad un file comporta la creazione di un nuovo oggetto.

Storage di file

Lo storage di file, noto anche come storage a livello di file o basato su file, è normalmente associato alla tecnologia NAS (Network Attached Storage). NAS presenta lo storage agli utenti e alle applicazioni utilizzando la stessa ideologia di un file system di rete tradizionale. In altre parole, l'utente o l'applicazione riceve i dati tramite strutture ad albero di directory, cartelle e singoli file. Il funzionamento è simile a quello di un disco fisso locale. Tuttavia, NAS o NOS (Network Operating System) gestiscono i diritti di accesso, la condivisione di file, il blocco dei file e altri controlli.

La configurazione dello storage di file può essere molto semplice, ma l'accesso ai dati è vincolato da un singolo percorso verso i dati, e questo può avere un impatto sulle prestazioni, rispetto allo storage a blocchi o di oggetti. Lo storage di file, inoltre, funziona solo con protocolli a livello di file comuni, come, ad esempio, NFTS (New Technology File System) per Windows o NFS (Network File System) per Linux. Questo potrebbe limitare la possibilità di utilizzo tra sistemi non simili.

Nel seguente video, Amy Blea della IBM confronta lo storage a blocchi e lo storage di file:

Esempi di storage a blocchi

Lo storage a blocchi consente la creazione di volumi di storage non elaborati, a cui possono collegarsi i sistemi operativi basati su server. Tali volumi non elaborati possono essere considerati come singoli dischi fissi. Questo consente di utilizzare lo storage a blocchi per quasi ogni tipo di applicazione, tra cui storage di file, storage di database, volumi VMFS (virtual machine file system) e altro ancora.

Consideriamo, ad esempio, la distribuzione di macchine virtuali in un'azienda. Con lo storage a blocchi, puoi creare e formattare facilmente un volume di storage basato su blocchi per archiviare il VMFS. Quindi, un server fisico può collegasi a tale blocco, creando più macchine virtuali. Inoltre, la creazione di un volume basato su blocchi, l'installazione di un sistema operativo ed il collegamento a tale volume consentono agli utenti di condividere i file utilizzando quel sistema operativo nativo.

Le implementazioni di cloud privato rappresentano un altro utilizzo eccellente dello storage a blocchi. Per un'analisi approfondita dei cloud privati e dello storage a blocchi, consulta la spiegazione di IBM Garage sulla virtualizzazione per estendere il cloud privato virtualizzato utilizzando lo storage di file e a blocchi.

Ulteriori informazioni sulle macchine virtuali
Storage a blocchi e container

La flessibilità intrinseca dello storage a blocchi lo rende ideale per i container. I container  astraggono le applicazioni dai sistemi operativi, proprio come la virtualizzazione astrae i sistemi operativi dall'hardware fisico. Con lo storage a blocchi è possibile definire e lanciare rapidamente i container. I container traggono vantaggio dalla velocità dello storage a blocchi e dalla capacità nativa per un singolo host di montare più blocchi.

SAN e array RAID

SAN

Spesso, gli sviluppatori distribuiscono lo storage a blocchi utilizzando una SAN (Storage Area Network). La SAN è una rete informatica che fornisce l'accesso allo storage di dati. Le SAN presentano lo storage a blocchi ad altri sistemi in rete, come se tali blocchi fossero dispositivi collegati in locale. Ad esempio, un server può collegarsi a una SAN utilizzando una connessione di rete di dati - come Fibre Channel, iSCSI (Internet Small Computer System Interface) o Infiniband - per accedere a un blocco come se fosse un volume a cui si accede in locale. Puoi anche configurare più array di storage su una SAN e collegare più server alla SAN.

Una SAN è costituita da molti elementi o livelli. Il primo è il livello host, che è composto dal server - su cui è in esecuzione un sistema operativo di rete - collegato alla rete di dati tramite una scheda adattatore bus host, collegata alla rete di storage tramite un cavo. Il livello host è collegato al livello fabric, una raccolta di dispositivi, come switch SAN, router, bridge di protocollo, dispositivi gateway e cavi. Il livello fabric interagisce con il livello di storage, composto dai dispositivi di storage fisici, come dischi fissi, nastri magnetici o supporti ottici.

Array RAID

Lo storage a blocchi, da solo, non offre molto per quanto riguarda la ridondanza, rendendo gli array RAID una considerazione importante per qualsiasi implementazione di storage a blocchi mission-critical. RAID (redundant array of independent disks) protegge i dati scrivendoli su due o più unità; in caso di malfunzionamento di un disco, le informazioni presenti sugli altri dischi possono di solito sostituirlo senza che gli utenti riscontrino un'interruzione.

Soluzioni open source

Le alternative open source alle soluzioni SAN tradizionali incentrate sui fornitori sono in aumento, con nuovi progetti che emergono su base quasi giornaliera, mentre i progetti consolidati continuano a migliorare e ad aggiungere funzionalità. Il progetto open source FreeNAS offre lo storage a blocchi e RAID definito da software; Openfiler è un'altra soluzione di storage open source che include il supporto per lo storage a blocchi e RAID.

Sebbene la tecnologia open source sia una promessa significativa nel settore dello storage, richiede competenza per garantire il successo e questo significa che gli amministratori di storage di oggi dovranno rivolgersi ai fornitori per il supporto e l'assistenza.

BSSaaS (Block Storage as a Service)

Il servizio BSSaSS (Block Storage as a Service) rientra nella più ampia categoria dei servizi  ESaaS (Enterprise Storage as a Service) , in cui coloro che ricercano uno storage basato su cloud possono scegliere tra storage a blocchi, di file o di oggetti per supportare le proprie esigenze di storage di dati. Per la maggior parte, quando si utilizza una soluzione ESaaS, gli utenti dovranno anche scegliere una soluzione IaaS o PaaS e distribuire applicazioni e server direttamente nel cloud.

Esecuzione della scalabilità dello storage a blocchi

Quando si tratta di storage, la capacità di soddisfare la richiesta è fondamentale. L'utilizzo dello storage è cresciuto a un tasso esponenziale. Poiché lo storage a blocchi è indipendente dalle risorse di elaborazione, la scalabilità orizzontale non richiede altro che la creazione di ulteriori volumi di storage a blocchi presso un provider ESaaS.

Per le aziende che utilizzano un approccio di  cloud ibrido , la scalabilità orizzontale può richiedere l'acquisto di ulteriori dischi fissi o array RAID, ma il processo di scalabilità orizzontale effettivo resta relativamente uguale. Il provisioning di volumi di storage a blocchi aggiuntivi è il requisito principale per aumentare la quantità di storage disponibile. Scopri di più sulla scalabilità e sullo storage a blocchi.

Soluzioni correlate
IBM Cloud Block Storage

IBM Cloud Block Storage offre prestazioni del disco locale supportate da Flash, con persistenza e durabilità SAN.

Esplora IBM Cloud Block Storage
Risorse Cos'è lo storage di oggetti?

Lo storage di oggetti, anche definito storage basato sugli oggetti, è un'architettura di storage dei dati per gestire grandi quantità di dati non strutturati.

Introduzione a SAN (Storage Area Network)

Scopri come le SAN possono aumentare scalabilità, disponibilità e prestazioni dell'applicazione.

Cosa sono i container?

I container sono unità eseguibili di software che impacchettano il codice dell'applicazione insieme alle dipendenze delle sue librerie e possono essere eseguiti ovunque, sia sul desktop che sull'IT tradizionale o sul cloud.

Passa alla fase successiva

IBM Cloud offre due soluzioni di storage a blocchi.IBM Cloud Block Storage for VPC offre opzioni SAN ricche di funzionalità e ad alte prestazioni per server e container virtuali all'interno della nostra rete IBM Cloud VPC definita dal software e isolata logicamente.IBM Cloud Block Storage (infrastruttura classica) è disponibile su tutte le opzioni di calcolo e di container IBM Cloud classiche, inclusi i server IBM Cloud Bare Metal. Entrambe le soluzioni forniscono IOPS personalizzabili, fatturazione prevedibile, istantanee e altro ancora.

Esplora lo storage a blocchi su IBM Cloud