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