Ricerca nel sito web

Confronto tra RAID, LVM e ZFS


Quando si tratta di archiviazione, è molto probabile che la tua mente giri un po' a causa delle molte opzioni e delle tonnellate di terminologie che affollano quell'arena. Perché non possiamo semplicemente collegare un disco all'host e concludere la giornata? Questa è stata una delle mie frustrazioni finché non sono arrivato a vedere l'essenza di tutte le tecnologie in atto. I problemi che lo storage ti presenta come amministratore di sistema o ingegnere ti faranno apprezzare le varie tecnologie che sono state sviluppate per mitigarli e risolverli.

In questo breve articolo esamineremo le tecnologie RAID, Logical Volume Manager (LVM) e ZFS. Investigheremo cosa fanno meglio nelle implementazioni e controlleremo le loro differenze. Benvenuto e resta sintonizzato.

Simile: Ext4 vs XFS: quale scegliere

1.RAID

RAID sta per Array ridondante di dischi indipendenti. Fondamentalmente è stato sviluppato per consentire di combinare molti dischi piccoli e poco costosi in un array al fine di realizzare obiettivi di ridondanza. La ridondanza non può essere ottenuta collegando un'unità disco enorme al tuo progetto. Anche se l'array è composto da più dischi, il computer lo "vede" come un'unica unità o una singola unità di archiviazione logica, il che è piuttosto sorprendente.

Utilizzando tecniche quali disk striping (RAID livello 0), mirroring del disco (RAID livello 1) e disk striping con parità (RAID livello 5), RAID è in grado di ottenere ridondanza, minore latenza, maggiore larghezza di banda e capacità massimizzata di ripristino da il disco rigido si blocca.

I motivi principali per cui dovresti prendere in considerazione l'implementazione di RAID nei tuoi progetti che gestiscono grandi quantità di dati includono quanto segue:

  • Raggiungimento di velocità migliori
  • Aumenta la capacità di archiviazione utilizzando un singolo disco virtuale
  • Riduce al minimo la perdita di dati dovuta a guasti del disco. A seconda del tipo di RAID, sarai in grado di ottenere una ridondanza che ti salverà in seguito nel caso in cui si verifichino perdite di dati.

Questa tecnologia RAID è disponibile in tre versioni: RAID firmware, RAID hardware e RAID software. Il RAID hardware gestisce i propri array indipendentemente dall'host e presenta comunque all'host un singolo disco per array RAID. Utilizza una scheda controller RAID hardware che gestisce le attività RAID in modo trasparente per il sistema operativo. Il RAID software, invece, implementa i diversi livelli RAID nel codice del disco kernel (dispositivo a blocchi) e offre la soluzione più economica possibile, poiché non sono necessarie costose schede controller del disco o chassis hot-swap. Nell'era attuale ci sono CPU più veloci, quindi il RAID software generalmente supera il RAID hardware.

Caratteristiche cardinali del RAID software. Fonte (access.redhat.com)

  • Portabilità degli array tra macchine Linux senza ricostruzione
  • Ricostruzione dell'array in background utilizzando risorse di sistema inattive
  • Supporto per unità hot-swap
  • Rilevamento automatico della CPU per sfruttare alcune funzionalità della CPU come il supporto dello streaming SIMD
  • Correzione automatica dei settori danneggiati sui dischi di un array
  • Controlli regolari della coerenza dei dati RAID per garantire l'integrità dell'array
  • Monitoraggio proattivo degli array con avvisi e-mail inviati a un indirizzo e-mail designato su eventi importanti
  • Bitmap con intento di scrittura che aumentano drasticamente la velocità degli eventi di risincronizzazione consentendo al kernel di sapere con precisione quali porzioni di un disco devono essere risincronizzate invece di dover risincronizzare l'intero array

2. LVM

Ecco il grazioso Logical Volume Manager. Ciò che LVM fa magnificamente è l'astrazione dell'idea di singole unità disco e consente all'amministratore di ritagliare "pezzi" di spazio da utilizzare come unità. Ti consente di collegare quante più unità fisiche al tuo sistema individuale e quindi aumentare e diminuire in modo flessibile i tuoi volumi logici sul tuo host live. Puoi aggiungere altre unità fisiche in futuro e aggiungere il tuo spazio senza riformattare o preoccuparti di arrestare le applicazioni o smontare file system o spegnere l'host. Questo tipo di flessibilità rende il lavoro con LVM un processo estremamente fluido.

Vantaggi di LVM rispetto alle partizioni fisiche. Fonte (access.redhat.com)

Capacità flessibile

Quando si utilizzano volumi logici, i file system possono estendersi su più dischi, poiché è possibile aggregare dischi e partizioni in un unico volume logico.

Pool di archiviazione ridimensionabili

È possibile estendere i volumi logici o ridurne le dimensioni con semplici comandi software, senza riformattare e ripartizionare i dispositivi disco sottostanti.

Trasferimento dei dati online

Per distribuire sottosistemi di archiviazione più nuovi, più veloci o più resilienti, puoi spostare i dati mentre il sistema è attivo. I dati possono essere riorganizzati sui dischi mentre i dischi sono in uso. Ad esempio, è possibile svuotare un disco sostituibile a caldo prima di rimuoverlo.

Comoda denominazione dei dispositivi

I volumi di storage logico possono essere gestiti in gruppi definiti dall'utente e con nomi personalizzati.

Strisciatura del disco

È possibile creare un volume logico che distribuisca i dati su due o più dischi. Ciò può aumentare notevolmente la produttività. La specifica della configurazione dello stripe viene effettuata durante la creazione del volume logico con lvcreate

Volumi specchianti

I volumi logici forniscono un modo conveniente per configurare un mirror per i tuoi dati. Anche se LVM non lo supportava nativamente in passato, le versioni recenti lo forniscono.

Istantanee del volume

Utilizzando i volumi logici, puoi acquisire istantanee del dispositivo per backup coerenti o testare l'effetto delle modifiche senza influire sui dati reali.

L'unica differenza tra RAID e LVM è che LVM non fornisce alcuna opzione di ridondanza o parità fornita da RAID.

3.ZFS

ZFS è stato originariamente sviluppato da Sun Microsystems per Solaris (di proprietà di Oracle), ma è stato portato su Linux.

ZFS è fondamentalmente diverso in questo ambito perché è più di un semplice file system. ZFS combina i ruoli di un file system e di un gestore di volumi, consentendo l'aggiunta di ulteriori dispositivi di archiviazione a un sistema live e rendendo immediatamente disponibile il nuovo spazio su tutti i file system esistenti in quel pool. Fa quello che fanno LVM e RAID in un unico pacchetto. Pertanto, ZFS è in grado di superare le limitazioni precedenti che impedivano ai gruppi RAID di crescere. La combinazione dei ruoli tradizionalmente separati del gestore volumi e del file system offre a ZFS una serie unica di vantaggi.

Tradizionalmente, i file system potevano essere creati su un singolo disco alla volta. Ciò significa che se ci fossero due dischi, dovrebbero essere creati due file system. Il RAID ha evitato questo problema presentando al sistema operativo un unico disco logico costituito dallo spazio fornito dalla combinazione di molti dischi fisici. Il sistema operativo ha quindi posizionato sopra un file system. Ma con ZFS, il file system è consapevole della struttura del disco sottostante. Questa consapevolezza rende possibile la crescita automatica del file system esistente quando vengono aggiunti ulteriori dischi al pool. Inoltre, in ZFS, è possibile applicare una serie di proprietà diverse a ciascun file system, da qui la possibilità di creare una serie di file system e set di dati diversi anziché un singolo file system monolitico.

Caratteristiche di ZFS

RAID-Z

ZFS implementa RAID-Z, una variazione del RAID-5 standard che offre una migliore distribuzione della parità ed elimina il "buco di scrittura RAID-5" in cui i dati e le informazioni sulla parità diventano incoerenti in caso di perdita di alimentazione.

Ridondanza

La ridondanza è possibile in ZFS perché supporta tre livelli di RAID-Z. I tipi sono denominati da RAID-Z1 a RAID-Z3 in base al numero di dispositivi di parità nell'array e al numero di dischi che possono guastarsi mentre il pool rimane operativo.

Ricambio

ZFS dispone di uno speciale tipo pseudo-vdev per tenere traccia degli hot spare disponibili. Si noti che gli hot spare installati non vengono distribuiti automaticamente; devono essere configurati manualmente per sostituire il dispositivo guasto utilizzando zfs replace.

L2ARCO

Questo è il secondo livello del sistema di caching ZFS. La cache di sostituzione adattiva (ARC) primaria è archiviata nella RAM. Poiché la quantità di RAM disponibile è spesso limitata, ZFS può anche utilizzare la cache vdev (un singolo disco o un gruppo di dischi). I dischi a stato solido (SSD) vengono spesso utilizzati come dispositivi di cache a causa della loro maggiore velocità e minore latenza

Mirroring

Un mirror è composto da due o più dispositivi e tutti i dati verranno scritti su tutti i dispositivi membri. Un vdev mirror conterrà solo la quantità di dati del suo membro più piccolo. Un mirror vdev può sopportare il guasto di tutti i suoi membri tranne uno senza perdere alcun dato.

Pool di archiviazione ibridi SSD

È possibile aggiungere SSD ad alte prestazioni nel pool di archiviazione ZFS per creare un tipo di pool ibrido. Questi SSD ad alte prestazioni possono essere configurati come cache per contenere i dati a cui si accede di frequente al fine di aumentare le prestazioni.

Copia su Scrivi

La tecnica Copy on Write viene utilizzata da ZFS per verificare la coerenza dei dati sui dischi.

Somma di controllo

Per ogni blocco allocato viene effettuato il checksum utilizzando l'algoritmo di checksum della proprietà per set di dati (fletcher2, fletcher4, sha25). Il checksum di ciascun blocco viene convalidato in modo trasparente durante la lettura, consentendo a ZFS di rilevare la corruzione silenziosa. Nel caso in cui i dati letti non corrispondano ai checksum previsti. ZFS va avanti e tenta di recuperare i dati dalla ridondanza configurata come mirror o RAID-Z.

Scopri di più su ZFS: https://www.freebsd.org/doc/handbook/zfs-term.html

Conclusioni

C'è molto di più là fuori su ZFS, RAID e LVM. Spero che tu abbia avuto una buona base per quanto riguarda queste tre tecnologie e che tu possa essere in grado di sceglierne quella adatta al tuo progetto. Grazie per aver letto tutto.

Leggi anche:

  • Come ridimensionare una partizione root ext2/3/4 e XFS senza LVM
  • Come configurare LVM
  • Come estendere il filesystem root utilizzando LVM su Linux
  • Come estendere/aumentare la dimensione del disco della macchina virtuale KVM (VM).
  • I migliori libri su Linux per principianti ed esperti

Articoli correlati: