ZFS: l'ultimo file system >> Storia
ZFS è un file system open source sviluppato dalla Sun Microsystems per il suo sistema operativo Solaris annunciato nel 2004.
È stato eseguito il porting su Linux. È da notare che, a causa della licenza che protegge ZFS, esso non può essere integrato nel kernel ma deve necessariamente operare a livello utente tramite FUSE: questo vincolo preclude qualunque utilizzo di ZFS su GNU/Linux in attività di produzione, in quanto un filesystem a livello utente non è accettabile per prestazioni e stabilità. Tuttavia, è possibile utilizzare ZFS come modulo esterno, permettendo agli utenti di utilizzare questo file system con prestazioni native, attraverso il progetto ZFS on Linux.
Vantaggi
Capacità: 128-bit contro i 32-bit di altri file system quindi enorme capacità del filesystem (fino a 2^128 byte)
Protezione avanzata dei dati: checksum e strutture dati sempre congruenti
Sempre online: nessuna necessità di mettere lo storage offline per svolgere compiti amministrativi
Operatività più veloce: qualche secondo per creare un nuovo file system
Riduzione dei costi: amministrazione più semplice e gestione flessibile dei volumi con funzionalità automatiche di bilanciamento dinamico del carico e logging
Integra file system con volume manager
Compressione
Snapshot rapidi
Installazione su Ubuntu:
in user space:
apt-get install zfs-fuse
in kernel space:
add-apt-repository ppa:zfs-native/stable
apt-get update
apt-get install ubuntu-zfsLaboratorio 1: raidz
Creare un pool in **raidz (raid5)**
Requisiti: n dischi stessa dimensione. Se non sono della stessa dimensione, partizionare e usare la parzione
fdisk -l | grep dev
Disco /dev/sdb: 1073 MB, 1073741824 byte
Disco /dev/sdc: 1073 MB, 1073741824 byte
Disco /dev/sdd1: 1073 MB, 1073741824 byte
Disco /dev/sde: 1073 MB, 1073741824 byte
Disco /dev/sdf: 1073 MB, 1073741824 byte
preparazione del pool: (una sorta di raggruppamento dei device in volumi)
zpool create TANK raidz /dev/sdb /dev/sdc /dev/sdd1 /dev/sde /dev/sdf
zpool status
creazione del FS: (creazione del FS vero e proprio)
zfs create TANK/vol1
zfs list
NAME USED AVAIL REFER MOUNTPOINT
TANK 468M 3,45G 35,1K /TANK
TANK/vol1 467M 3,45G 467M /TANK/vol1
opzioni:
zfs set compression=on TANK/vol1
tests:
zpool offline TANK /dev/sdb
zpool status
zpool offline TANK /dev/sdb
zpool status
scollegare fisicamente 1 disco e vedere cosa accade. dare un:
zpool scrub TANK
esportare volume (smontaggio e spegnimento volumi)
zpool export TANKLaboratorio 2: mirror
Distruggere il pool precedente per riutilizzare i dischi:
zpool destroy TANK /dev/sdb /dev/sdc
preparazione del pool:
zpool create TANK2 mirror c1t0d0 c2t0d0
zpool status
creazione del FS:
zfs create TANK2/volume-sicuro
zfs list