Archivi delle etichette: raid

ZFS: l’ultimo file system

zfs-linux
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

Annunci