ZFS: appunti

zfs
Laboratorio di ZFS
(di Luca C. - marzo 2014 - versione 1.1)

Storia
------

ZFS è un file system open source sviluppato dalla Sun Microsystems per il suo sistema operativo Solaris annunciato nel settembre del 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[7]. Questo è possibile in quanto l'incompatibilità tra la licenza GNU GPL (con cui è licenziato il kernel Linux) e la CDDL si limita solo all'integrazione diretta di tale file system nel kernel. Ciò vuol dire che non si potrà distribuire un kernel con integrato ZFS, ma lo si potrà distribuire come un modulo esterno.

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

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
     

Links:
zfs_appunti.md
zfs_appunti.pdf
Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...