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, quindi è spesso utilizzato in grandi server aziendali e da raccoglitori di dati come agenzie governative. A differenza di altri file system, ZFS è resistente al problema del marciume dei dati nei dischi rigidi poiché preserva l'integrità dei dati durante l'archiviazione e non è necessario il partizionamento quando si aggiungono più 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 qualunque momento presto, ma gli amministratori del 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 è facile come qualsiasi altro pacchetto, ma deve essere installato con accesso root. Per ottenere l'accesso come root usa sudo su, che poi richiede 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. L'installazione richiederà un po' di tempo, ma una volta completata verrà notificata.
sudo su
apt install 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 che sono combinati insieme e all'interno di questo pool ci sono set di dati in cui i dati vengono effettivamente archiviati. In questa fase viene creato un pool e un dataset.
Digita lsblk per elencare i dispositivi a blocchi nel sistema o ls -l /dev/sd* per elencare tutti i blocchi /dev. In entrambi i casi restituisce un elenco di dispositivi a blocchi rilevati da Ubuntu. Questo tutorial presuppone che il sistema abbia 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 abbiano prima di creare il pool. Utilizzare i seguenti comandi per creare la tabella delle partizioni nei dischi rigidi di riserva collegati ai sistemi. qui ci sono i dischi rigidi di riserva /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, ora crea lo zpool. Poiché qui vengono utilizzati solo due dischi rigidi, utilizzare i gruppi di mirror, ma se ci sono 3 o più dischi rigidi utilizzare raidz e per 4 o più utilizzare i comandi raidz2. Il mirroring è anche noto come RAID 1, che copia perfettamente 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, negozi.
Un formato di creazione di set di dati va come questo ..
zfs create
Usa questo formato e crea un paio di directory come mostrato nello screenshot seguente.
zfs crea vol0/dondilanga_files
zfs create vol0/dondilanga_images
zfs create vol0/dondilanga_music
zfs create vol0/dondilanga_movies
zfs create vol0/dondilanga_games
La creazione del set di dati non è sufficiente per avere una struttura di file funzionante, è necessario anche impostare i permessi appropriati (fare riferimento ai permessi dei file Linux). L'impostazione dei permessi è abbastanza semplice in quanto segue il formato del set di permessi standard.
chown -R username:groupName /poolname/dataset
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 con la modalità dettagliata, l'elenco dei file system ZFS, ecc. Queste informazioni forniscono informazioni preziose sui pool, sui set di dati e sono molto utili per prendere decisioni relative ai file system ZFS.
Verifica dello stato di salute della piscina
stato zpoolpool
Controllo delle statistiche di Input/Output (IO) per i pool
zpool iostat
Elenca le piscine disponibili
lista zpool
Elenca dettagli particolari della piscina
zpool list -o nome, dimensione, capacità
Vedere l'elenco dei file system (set di dati) nel pool.
lista zfs
Guarda le statistiche della piscina 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 i pool (la rimozione è utile quando viene creato un pool su un disco rigido USB o un dispositivo di archiviazione rimovibile simile), impostare varie proprietà su piscine, montaggio e smontaggio.
Diversi tipi di piscine
Esistono 4 tipi di pool principali e ognuno ha il proprio scopo nel crearli. Di solito qui viene preso in considerazione il tipo di RAID durante la creazione di un pool. Come descritto in precedenza, il tipo deve essere indicato quando si crea la piscina insieme ad essa. 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 fino a dischi rigidi, ad esempio... come nel seguente comando. Ogni sd* rappresenta un nuovo disco rigido virtuale/fisico e tutti possono essere raggruppati in un unico 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 hard disk fanno parte del pool vol1, che può essere espanso per vedere i componenti con zpool iostat comando.
A differenza dell'esempio precedente, nel gruppo mirror i dischi rigidi sono raggruppati come coppie.
zpool create vol1 mirror /dev/sda /dev/sdb mirror/dev/sdc /dev/sdd
Realizzare 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 viene creato un dispositivo a blocchi con la dimensione di 1 GB, quel particolare dispositivo a blocchi pesa 1 GB. Nell'esempio seguente, mostra come creare un dispositivo a blocchi in un pool esistente.
zfs create -V
zfs create -V 1GB vol0/dondilanga_new1
Distruggere una piscina
Indubbiamente sapere di 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 è andato, poiché l'eliminazione è permanente a meno che i dati non vengano salvati altrove.
zpool distrugge il nome del pool
zpool distruggere vol0
Dopo che il pool è stato eliminato, è possibile provare a elencare il pool disponibile con il parametro list nel comando zpool, se restituisce "nessun pool disponibile", significa che l'eliminazione è avvenuta con successo.
Rimozione/ripristino di una piscina
Cosa significa rimuovere temporaneamente il pool dal sistema e rimontarlo quando è necessario?. Questo è 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 seguenti comandi mostrano come rimuovere un pool e rimontarlo.
zpool export poolname
zpool export vol0
zpool import poolname
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 usuale per aggiungere un disco rigido è quello di riserva. Cosa significa quando uno dei dischi rigidi non funziona, 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. L'hard disk 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 add vol0 spare /dev/sdd
Quindi digita zpool status -v per elencare tutti i dischi rigidi disponibili in zpools. Come mostrato nella schermata seguente, le unità di riserva sono etichettate come "ricambi" e vengono utilizzate solo quando le unità principali sono guaste.
Come creare istantanee su ZFS?
Snapshot è una replica esatta di un particolare zpool e viene creato con il comando zfs come mostrato nello screenshot seguente. Il processo di creazione delle istantanee è una passeggiata nel parco anche se alcuni tutorial là fuori lo rendono complicato del necessario. Il formato del comando di creazione dell'istantanea è.
zfs snapshot [protetto da posta elettronica]
zfs snapshot [email protected]_snapshot
Ripristina un'istantanea
Ripristinare un'istantanea nel pool è facile come 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 con saggezza.
zfs rollback [e-mail protetta]
zfs rollback [email protected]_snapshot
Elimina un'istantanea
Creare, ripristinare ed eliminare istantanee, tutto questo è una passeggiata nel parco con ZFS. Il seguente comando elimina semplicemente lo snapshot dal sistema; e di conseguenza libera più spazio su di esso.
zfs destroy [e-mail protetta]
zfs destroy [email protected]_snapshot