Ricerca nel sito web

Iniziare con ZFS su Ubuntu


Introduzione

ZFS è un file system, originariamente fornito con Solaris ma successivamente adattato in molti sistemi operativi Unix e Linux. Il vantaggio principale del file system ZFS è supportare zettabyte di dati ed essere a 128 bit, pertanto viene spesso utilizzato in server aziendali di grandi dimensioni e da raccoglitori di dati come agenzie governative. A differenza di altri file system, ZFS è resistente al problema del data rot nei dischi rigidi poiché preserva l'integrità dei dati durante l'archiviazione e non è necessario alcun partizionamento quando si aggiungono altri dischi rigidi al RAID esistente. ZFS è fondamentalmente il futuro dei file system Unix grazie alla sua enorme quantità di vantaggi. Tuttavia, è improbabile che sia molto utile per un utente domestico medio in tempi brevi, ma gli amministratori dei server dovrebbero essere consapevoli di ZFS e dei suoi vantaggi. Quindi, questo articolo dimostra come utilizzare facilmente ZFS sui server Ubuntu.

Come installare ZFS

Installare ZFS è semplice come qualsiasi altro pacchetto, ma deve essere installato con accesso root. Per ottenere l'accesso root utilizzare sudo su, che richiede quindi la password amministrativa. Dopo aver digitato la password, all'utente viene concesso l'accesso root. Una volta ottenuto l'accesso root, utilizzare il comando install insieme al nome del pacchetto – zfs per installare zfs nel sistema. Ci vorrà del tempo per l'installazione, ma una volta completata ti avviserà.

     sudo su

     apt installa zfs

Come configurare ZFS

Una volta installato ZFS nel sistema, è necessario creare un pool (noto anche come Zpool). Un pool è costituito da un gruppo di dischi rigidi combinati insieme e all'interno di questo pool sono presenti set di dati in cui vengono effettivamente archiviati i dati. In questa fase viene creato un pool e un set di dati.

Digitare lsblk per elencare i dispositivi a blocchi nel sistema oppure ls –l /dev/sd* per elencare tutti i blocchi /dev. In ogni caso restituisce un elenco di dispositivi a blocchi rilevati da Ubuntu. Questo tutorial presuppone che il sistema disponga di più dischi rigidi, che in realtà sono combinati in un pool.

Prima di creare una piscina. È necessario creare una tabella delle partizioni GUID in ciascun disco rigido. La tabella delle partizioni è un tipo di schema che aiuta a partizionare i dischi rigidi. Zpool richiede che i dischi rigidi lo dispongano prima di creare il pool. Utilizzare i seguenti comandi per creare la tabella delle partizioni nei dischi rigidi di riserva collegati ai sistemi. qui i dischi rigidi di riserva sono /dev/sdb e /dev/sdc

     parted /dev/sdb
     mklabel GPT
     q
     parted /dev/sdc
     mklabel GPT
     q

Una volta creata la tabella delle partizioni in ciascun disco rigido, creare ora zpool. Poiché qui vengono utilizzati solo due dischi rigidi, utilizzare i gruppi mirror, ma se ci sono 3 o più dischi rigidi utilizzare raidz e per 4 o più utilizzare i comandi raidz2. Il mirroring è noto anche come RAID 1, che copia senza problemi i dati da un'unità all'altra, il che è molto utile per aumentare la ridondanza dei dati.

     zpool crea vol0 mirror /dev/sdb /dev/sdc

A questo punto è già stato creato un pool, ora crea il set di dati in cui effettivamente i dati, che includono file, directory, vengono archiviati.

Un formato di creazione di un set di dati è questo:

     zfs crea /

Utilizza questo formato e crea un paio di directory come mostrato nello screenshot seguente.

     zfs crea vol0/dondilanga_files

     zfs crea vol0/dondilanga_images

     zfs crea vol0/dondilanga_music

     zfs crea vol0/dondilanga_movies

     zfs crea vol0/dondilanga_games

La creazione del set di dati non è sufficiente per avere una struttura di file funzionante, è necessario anche impostare le autorizzazioni appropriate (fare riferimento alle autorizzazioni dei file Linux). L'impostazione dei permessi è abbastanza semplice poiché segue il formato standard del set di permessi.

     chown –R nomeutente:nomegruppo /nomepool/set di dati

     chown –R dondilanga:users /vol0/dondilanga_files

Come monitorare ZFS

Il monitoraggio di solito include l'ispezione dello stato del pool, le statistiche IO, l'elenco dei pool disponibili, l'elenco dei dettagli particolari del pool, la visualizzazione dello stato del pool in modalità dettagliata, l'elenco dei file system ZFS ecc. Queste informazioni forniscono informazioni preziose sui pool e sui set di dati. e sono molto utili per prendere decisioni riguardanti i file system ZFS.

Verifica dello stato di salute del pool

     stato zpool

Verifica delle statistiche di input/output (IO) per i pool

     zpool iostat

Elenca i pool disponibili

     elenco zpool

Elenca i dettagli particolari della piscina

     zpool list –o nome, dimensione, capacità

Vedi l'elenco dei file system (set di dati) nel pool.

     elenco zfs

Vedi le statistiche del pool ogni 15 secondi.

     zpool iostat –v 15

Come amministrare, ottimizzare e mantenere ZFS

Questo segmento copre i diversi tipi di pool, come crearli, creare dispositivi a blocchi nel pool, distruggere o rimuovere pool (la rimozione è utile quando un pool viene creato su un disco rigido USB o un dispositivo di archiviazione rimovibile simile), impostare varie proprietà su piscine, montaggio e smontaggio.

Diversi tipi di pool

Esistono 4 tipi principali di pool e ognuno ha il proprio scopo nel crearli. Di solito qui quando si crea un pool viene preso in considerazione il tipo RAID. Come descritto in precedenza, il tipo deve essere indicato durante la creazione del pool insieme ad esso. Questo tutorial utilizza il tipo di pool mirror e, a parte questo, ci sono raidz per RAID5, raidz2 per RAID5 con duel parity e quando non è coinvolta alcuna ridondanza non viene indicato alcun tipo di pool.

I gruppi stripe o non ridondanti possono avere tanto dischi rigidi, ad esempio... come nel comando seguente. Ogni sd* rappresenta un nuovo disco rigido virtuale/fisico e tutti possono essere raggruppati insieme in un singolo pool con il seguente comando sotto il nome vol1.

     zpool create vol1 /dev/sdb /dev/sdc /dev/sdd

Come si vede nello screenshot seguente, ora tutti i suddetti dischi rigidi fanno parte del pool vol1, che può essere espanso per vedere i componenti con il comando zpool iostat.

A differenza dell'esempio precedente, nel gruppo mirror i dischi rigidi sono raggruppati in coppie.

     zpool crea vol1 mirror /dev/sda /dev/sdb mirror/dev/sdc /dev/sdd

Creazione di un dispositivo a blocchi in un pool

I dispositivi a blocchi sono set di dati creati nel pool e hanno una dimensione predefinita all'inizio, ad esempio se un dispositivo a blocchi viene creato con una dimensione di 1 GB, quel particolare dispositivo a blocchi pesa 1 GB. Nell'esempio seguente viene mostrato come creare un dispositivo a blocchi in un pool esistente.

     zfs create –V /

     zfs create –V 1GB vol0/dondilanga_new1

Distruzione di una piscina

Indubbiamente sapere come distruggere un pool è importante tanto quanto crearne uno, ma questo deve essere fatto con estrema attenzione poiché non c'è modo di riprenderlo una volta che non c'è più, poiché l'eliminazione è permanente a meno che non venga eseguito il backup dei dati altrove.

     zpool distrugge il nome del pool

     zpool distrugge vol0

Dopo che il pool è stato eliminato, è possibile provare a elencare i pool disponibili con il parametro list nel comando zpool, se restituisce "nessun pool disponibile", significa che l'eliminazione ha avuto successo.

Rimozione/ripristino di un pool

Ciò significa rimuovere temporaneamente il pool dal sistema e rimontarlo quando necessario. Ciò è molto utile quando viene creato un pool in un disco rigido/unità USB o qualsiasi altro dispositivo portatile. Gli amministratori Web possono creare un pool sul proprio disco rigido portatile, copiarvi i dati di sistema, smontarlo e portarlo a casa per l'utilizzo. I comandi seguenti mostrano come rimuovere un pool e montarlo nuovamente.

     nome pool di esportazione zpool

     zpool export vol0

     nome pool di importazione zpool

     zpool import vol0

Aggiunta di un nuovo disco rigido al pool

Poiché esistono molti tipi di pool, i dischi rigidi possono essere aggiunti al pool in vari modi. Il metodo abituale per aggiungere un disco rigido è quello di riserva. Cosa significa quando uno dei dischi rigidi non funziona più, il disco rigido di riserva viene utilizzato per sostituire quello rotto. Un disco rigido di riserva viene aggiunto come segue.

Questo elenca i dischi rigidi disponibili. Come si vede nello screenshot seguente. Il disco rigido sdd è attualmente disponibile per il sistema operativo; quindi, è usato qui.

     ls –l /dev/sd*

Come al solito, prima viene formattato prima di aggiungerlo al pool. I seguenti comandi formattano il disco rigido con lo schema di partizione GUID.

     parted /dev/sdd

     mklabel GPT

     q

Una volta formattato, aggiungilo al pool con il seguente comando.

     zpool aggiungi vol0 spare /dev/sdd

Quindi digitare zpool status –v per elencare tutti i dischi rigidi disponibili in zpools. Come mostrato nello screenshot seguente, le unità di riserva sono etichettate come "riserve" e vengono utilizzate solo quando le unità principali sono guaste.

Come creare istantanee su ZFS?

Lo snapshot è una replica esatta di un particolare zpool e viene creato con il comando zfs come mostrato nello screenshot seguente. Il processo di creazione di uno snapshot è una passeggiata nel parco, anche se alcuni tutorial disponibili lo rendono complicato del necessario. Il formato del comando di creazione dello snapshot è.

     istantanea zfs zpoolname@nomeistantanea

     zfs snapshot vol0@dondilanga_snapshot

Ripristina un'istantanea

Ripristinare uno snapshot nel pool è semplice quanto eseguirne il backup. Tutto quello che devi fare è indicare il suo nome insieme al nome della piscina. Fare attenzione che il ripristino di uno snapshot nel pool sovrascriverà i dati attualmente esistenti nel pool; quindi deve essere fatto saggiamente.

     zfs rollback nomepool@nomeistantanea

     zfs rollback vol0@dondilanga_snapshot

Elimina un'istantanea

Creare, ripristinare ed eliminare istantanee, tutto questo è una passeggiata con ZFS. Il comando seguente elimina semplicemente lo snapshot dal sistema; e di conseguenza rilasciargli più spazio.

     zfs distrugge nomepool@nomeistantanea

     zfs distrugge vol0@dondilanga_snapshot

Articoli correlati: