ZFS: l'ultimo file system

Blog

ZFS: l'ultimo file system

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-zfs Laboratorio 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 TANK Laboratorio 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