Questa sezione descrive le nuove funzioni di ZFS in Solaris Express Developer Edition 5/07.
Rinomina ricorsiva degli snapshot ZFS – È possibile rinominare in modo ricorsivo tutti gli snapshot ZFS usando il comando zfs rename -r.
Ad esempio, eseguire uno snapshot di un insieme di file system ZFS denominato users/home@today. Quindi, rinominare tutti glo snapshot con un solo comando, il giorno successivo, in users/home/@yesterday.
Gli snapshot sono i soli set di dati che possono essere rinominati in modo ricorsivo.
È disponibile la compressione GZIP – È possibile impostare la compressione gzip sui file system ZFS oltre alla compressione lzjb. È possibile specificare questo tipo di compressione con gzip, l'impostazione predefinita, o gzip-N, dove N è un valore compreso tra 1 e 9. Ad esempio:
# zfs create -o compression=gzip users/home/snapshots # zfs get compression users/home/snapshots NAME PROPERTY VALUE SOURCE users/home/snapshots compression gzip local # zfs create -o compression=gzip-9 users/home/oldfiles # zfs get compression users/home/oldfiles NAME PROPERTY VALUE SOURCE users/home/oldfiles compression gzip-9 local |
Memorizzazione di più copie dei dati utente ZFS – Per migliorare l'affidabilità, i metadati dei file system ZFS vengono memorizzati automaticamente più volte, su diversi dischi, se possibile. Questa funzione è nota con la denominazione ditto blocks.
A partire da questa versione, è possibile specificare che vengano memorizzate più copie dei dati utente per file system usando il comando zfs set copies. Ad esempio:
# zfs set copies=2 users/home # zfs get copies users/home NAME PROPERTY VALUE SOURCE users/home copies 2 local |
I valori disponibili sono 1, 2 o 3. Il valore predefinito è 1. Queste copie si aggiungono alle eventuali ridondanze a livello di pool, ad esempio quelle associate al mirroring o alle configurazioni RAID-Z.
I vantaggi della memorizzazione di più copie dei dati utente ZFS sono i seguenti:
Miglioramento dell'integrità dei dati grazie alla possibilità di ripristinare gli errori su blocchi diventati illeggibili per un errore del supporto (bit rot) per tutte le configurazioni ZFS.
Protezione dei dati anche quando è disponibile solo un singolo disco.
Possibilità di selezionare i criteri di protezione dei dati a livello di file system, in aggiunta alle funzioni del pool di memorizzazione.
Miglioramento delle informazioni sullo stato del pool di memorizzazione (zpool status) – È possibile utilizzare il comando zpool status -v per visualizzare un elenco dei file che riportano errori persistenti. In precedenza, era necessario ricorrere al comando find -inum per identificare i nomi dei file dall'elenco degli inode visualizzati.
Miglioramenti della condivisione del file system ZFS – Il processo di condivisione dei file system è stato migliorato. Anche se la modifica dei file di configurazione del sistema, ad esempio /etc/dfs/dfstab, non è necessaria per la condivisione dei file system ZFS, è possibile utilizzare il comando sharemgr per gestire le proprietà di condivisione di ZFS. Il comando sharemgr consente di impostare e gestire le proprietà di condivisione dei gruppi di condivisione. Le condivisioni ZFS vengono automaticamente inserite nel gruppo di condivisione zfs.
Come nelle versioni precedenti, è possibile impostare la proprietà ZFS sharenfs su un file system ZFS per condividerlo. Ad esempio:
# zfs set sharenfs=on tank/home |
In alternativa, è possibile usare il nuovo sottocomando sharemgr add-share per condividere un file system ZFS nel gruppo di condivisione zfs. Ad esempio:
# sharemgr add-share -s tank/data zfs # sharemgr show -vp zfs zfs nfs=() zfs/tank/data /tank/data /tank/data/1 /tank/data/2 /tank/data/3 |
Quindi, è possibile usare il comando sharemgr per gestire le condivisioni ZFS. L'esempio seguente spiega come utilizzare sharemgr per impostare la proprietà nosuid sui file system condivisi ZFS. È necessario utilizzare il prefisso /zfs per i percorsi delle condivisioni ZFS.
# sharemgr set -P nfs -p nosuid=true zfs/tank/data # sharemgr show -vp zfs zfs nfs=() zfs/tank/data nfs=(nosuid="true") /tank/data /tank/data/1 /tank/data/2 /tank/data/3 |
Miglioramenti a ZFS e iSCSI per Solaris – È possibile creare un volume ZFS come dispositivo di destinazione iSCSI Solaris impostando la proprietà shareiscsi sul volume ZFS. Si tratta di un metodo comodo per configurare rapidamente una destinazione iSCSI Solaris. Ad esempio:
# zfs create -V 2g tank/volumes/v2 # zfs set shareiscsi=on tank/volumes/v2 # iscsitadm list target Target: tank/volumes/v2 iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a Connections: 0 |
Una volta creata la destinazione iSCSI, impostare l'iniziatore iSCSI. Per informazioni sull'impostazione di un iniziatore iSCSI Solaris, vedere il Capitolo 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), in System Administration Guide: Devices and File Systems .
Per maggiori informazioni sulla gestione di un volume ZFS come destinazione iSCSI, vedere il manuale ZFS Administration Guide .
Miglioramenti della proprietà ZFS
Proprietà xattr di ZFS – È possibile usare la proprietà xattr per disabilitare o abilitare gli attributi estesi per uno specifico file system ZFS. L'impostazione predefinita è on.
Proprietà canmount di ZFS – È possibile usare la proprietà canmount per specificare se un set di dati può essere attivato usando il comando zfs mount.
Proprietà utente ZFS – ZFS supporta le proprietà utente, in aggiunta alle proprietà standard native che possono esportare le statistiche interne o controllare il comportamento del file system ZFS. Le proprietà utente non hanno effetto sul comportamento di ZFS, ma possono essere utilizzate per inserire nei set di dati informazioni significative per l'ambiente in cui sono utilizzati.
Impostazione delle proprietà alla creazione dei file system ZFS – È possibile impostare le proprietà quando si crea un file system e non solo dopo che è stato creato.
I seguenti esempi illustrano la sintassi:
# zfs create tank/home # zfs set mountpoint=/export/zfs tank/home # zfs set sharenfs=on tank/home # zfs set compression=on tank/home |
# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home |
Visualizzazione di tutte le informazioni sul file system ZFS – È possibile usare varie forme del comando zfs get per visualizzare informazioni su tutti i set di dati. Nelle versioni precedenti, non era possibile ottenere informazioni su tutti i set di dati con il comando zfs get. Ad esempio:
# zfs get -s local all tank/home atime off local tank/home/bonwick atime off local tank/home/marks quota 50G local |
Nuova opzione zfs receive -F – È possibile utilizzare la nuova opzione -F del comando zfs receive per forzare il rollback del file system allo snapshot più recente prima di eseguire la ricezione. L'utilizzo di questa opzione può rivelarsi necessario quando il file system è stato modificato tra il momento in cui avviene il rollback e quello in cui viene avviata l'operazione di ricezione.
Snapshot ZFS ricorsivo – Sono disponibili snapshot ricorsivi. Quando si utilizza il comando zfs snapshot per creare uno snapshot di file system, è possibile utilizzare l'opzione -r per creare snapshot in modo ricorsivo di tutti i file system sottostanti. In modo analogo, l'opzione -r elimina in modo ricorsivo tutti gli snapshot sottostanti quando si elimina lo snapshot di livello superiore.
Per maggiori informazioni su queste funzioni, vedere il manuale ZFS Administration Guide.