Questo miglioramento ai file system è stato introdotto in Solaris Express 12/05
Questa versione di Solaris Express include ZFS, un nuovo file system a 128 bit. ZFS offre un'amministrazione semplificata, una semantica transazionale, funzioni complete di integrità e una scalabilità molto elevata. ZFS non è il miglioramento di una tecnologia esistente. Si tratta di un approccio completamente nuovo alla gestione dei dati.
ZFS utilizza un modello di memorizzazione in pool che elimina completamente il concetto di volume. In questo modo vengono anche eliminati i problemi di gestione delle partizioni, fornitura e aumento delle dimensioni dei file system. È possibile creare migliaia di file system da un singolo pool di memorizzazione comune. Ogni file system utilizza solo lo spazio effettivamente necessario. L'ampiezza di banda di I/O complessiva di tutti i dispositivi inclusi nel pool risulta disponibile per tutti i file system in ogni momento.
Tutte le operazioni sono transazioni “copy-on-write” (COW), quindi lo stato su disco è sempre valido. Ogni blocco è dotato di una somma di controllo che impedisce i danneggiamenti di dati non rilevati. Oltre a questo, è disponibile una funzione di autocorrezione dei dati nelle configurazioni replicate. Se una copia dei dati è danneggiata, ZFS rileva l'errore e utilizza un'altra copia dei dati per correggerlo.
Il principale miglioramento di ZFS rispetto agli altri file system è la facilità di amministrazione.
Con un singolo comando di ZFS è possibile configurare un pool di memorizzazione e un file system in mirroring. Ad esempio:
# zpool create home mirror c0t1d0 c1t2d0 |
Il comando qui riportato crea un pool di memorizzazione in mirroring denominato home e un singolo file system denominato home. Il file system viene attivato nella directory /home.
In ZFS, è possibile utilizzare interi dischi anziché partizioni per creare il pool di memorizzazione.
È possibile quindi usare la gerarchia di file system /home per creare nuovi file system, senza limitazioni, sotto /home. Ad esempio:
# zfs create home/user1 |
Per maggiori informazioni, vedere le pagine man zpool(1m) e zfs(1M).
Oltre a questo, ZFS fornisce le seguenti funzioni di amministrazione:
Capacità di backup e ripristino
Supporto della gestione dei dispositivi
Funzioni di snapshot e clonazione persistenti
Possibilità di impostare una quota per i file system
Controllo degli accessi basato sui ruoli (RBAC)
Prenotazione dello spazio dei pool di memorizzazione per i file system
Supporto per i sistemi Solaris su cui sono presenti zone
Per maggiori informazioni, vedere il manuale ZFS Administration GUIDE.
La sezione seguente descrive i miglioramenti e le modifiche più recenti all'interfaccia di comando ZFS di Solaris Express.
Cancellazione degli errori dei dispositivi – È possibile utilizzare il comando zpool clear per cancellare il conteggio degli errori associato a un dispositivo o a un pool. In precedenza, il conteggio degli errori veniva cancellato quando il dispositivo del pool veniva posto online con il comando zpool online.
Formato di ACL NFSv4 compatto – Sono disponibili tre formati di ACL NFSv4: verbose, positional e compact. I nuovi formati di ACL compact e positional permettono di impostare e visualizzare gli ACL. Il comando chmod consente di impostare i tre formati di ACL. Utilizzare il comando ls -V per visualizzare i formati di ACL compact e positional e il comando ls -v per visualizzare il formato di ACL verbose.
RAID-Z con doppia parità (raidz2) – La configurazione RAID-Z replicata può utilizzare una parità singola o doppia, che consente rispettivamente di superare un errore su uno o due dispositivi senza alcuna perdita di dati. Per impostare una configurazione RAID-Z a parità doppia viene utilizzata la parola chiave raidz2. Per impostare la configurazione RAID-Z a parità singola è possibile utilizzare le parole chiave raidz o raidz1.
Dischi di riserva per i pool di memorizzazione ZFS – La funzione dei dischi di riserva di ZFS consente di identificare i dischi che possono essere utilizzati per sostituire un dispositivo in stato “failed” o “fault” in uno o più pool di memorizzazione. Quando un dispositivo viene designato come disco di riserva e si verifica un errore in uno dei dispositivi attivi del pool, il disco designato sostituisce automaticamente quello difettoso. In alternativa, è possibile sostituire manualmente un dispositivo in un pool di memorizzazione con un disco di riserva.
Sostituzione di un file system ZFS con un clone ZFS (zfs promote) – il comando zfs promote consente di sostituire un file system zfs esistente con un clone dello stesso file system. Questa possibilità risulta utile quando si ha la necessità di provare una versione alternativa di un file system e quindi di renderla la versione attiva.
Ripristino dei pool eliminati – Il comando zpool import -D consente di ripristinare i pool che in precedenza erano stati eliminati con il comando zpool destroy.
Offline temporaneo di un dispositivo – È possibile utilizzare il comando zpool offline -t per porre temporaneamente offline un dispositivo. Al riavvio del sistema, il dispositivo viene riportato automaticamente allo stato ONLINE.
Aggiornamento dei pool di memorizzazione ZFS (zpool upgrade) – È possibile aggiornare i pool di memorizzazione a una versione più recente per sfruttare le nuove funzionalità usando il comando zpool upgrade. Inoltre, il comando zpool status è stato modificato in modo da segnalare i pool che eseguono versioni precedenti di ZFS.
Nuovo nome dei comandi backup e restore di ZFS – I comandi zfs backup e zfs restore sono stati rinominati in zfs send e zfs receive per descrivere in modo più preciso la loro funzione. La funzione dei comandi è di salvare e ripristinare le rappresentazioni del flusso di dati ZFS.
Miglioramenti a ZFS e alle zone – Sui sistemi Solaris con zone installate, è possibile usare la funzione zoneadm clone per copiare i dati da uno zonepath ZFS di origine a uno zonepath ZFS di destinazione. La funzione di clonazione ZFS non può essere utilizzata per clonare la zona non globale. A tale scopo, usare il comando zoneadm clone. Per maggiori informazioni, vedere System Administration Guide: Virtualization Using the Solaris Operating System .
Integrazione di ZFS con Fault Manager – È presente un motore diagnostico per ZFS in grado di diagnosticare e indicare i guasti dei pool e dei dispositivi. Vengono riportati anche gli errori di checksum, di I/O e dei dispositivi associati a guasti dei pool o dei dispositivi. Le informazioni diagnostiche sugli errori vengono visualizzate sulla console e registrate nel file /var/adm/messages. È inoltre possibile visualizzare informazioni dettagliate sulle attività di ripristino dalla condizione di errore riportata usando il comando zpool status.
Per maggiori informazioni su questi miglioramenti, vedere il manuale ZFS Administration Guide .
Solaris Express 1/06 include uno strumento di gestione di ZFS via Web, che consente di eseguire molte delle funzioni di amministrazione disponibili dalla riga di comando di ZFS. È possibile eseguire le seguenti attività di amministrazione con la console di amministrazione di ZFS:
Creazione di un nuovo pool di memorizzazione.
Aggiunta di capacità a un pool di memorizzazione esistente.
Spostamento (esportazione) di un pool di memorizzazione su un altro sistema.
Importazione di un pool di memorizzazione esportato in precedenza per renderlo disponibile su un altro sistema.
Visualizzazione di informazioni sui pool di memorizzazione.
Creazione di un file system.
Creazione di un volume.
Creazione di uno snapshot di un file system o di un volume.
Rollback di un file system su uno snapshot precedente.
È possibile accedere alla console di amministrazione di ZFS da un browser Web sicuro al seguente URL:
https://system-name:6789 |
Se si digita l'URL appropriato ma non si riesce ad accedere alla console di amministrazione di ZFS, è possibile che il server non sia stato avviato. Per avviare il server, eseguire il comando seguente:
# /usr/sbin/smcwebserver start |
Per avviare il server automaticamente all'avvio del sistema, eseguire il comando seguente:
# /usr/sbin/smcwebserver enable |
La tecnologia di partizionamento Solaris Zones supporta i componenti di ZFS, ad esempio l'aggiunta di file system e pool di memorizzazione di ZFS a una zona.
Il tipo di risorsa relativo ai file system nel comando zonecfg è stato aggiornato nel modo seguente:
zonecfg:myzone> add fs zonecfg:myzone:fs> set type=zfs zonecfg:myzone:fs> set dir=/export/share zonecfg:myzone:fs> set special=tank/home zonecfg:myzone:fs> end |
Per maggiori informazioni, vedere la pagina man zonecfg(1M) e il manuale ZFS Administration Guide.
Questa versione supporta il seguente strumento di installazione di Solaris:
Metodo JumpStart personalizzato - Non è possibile includere i file system di ZFS in un profilo JumpStart. Tuttavia, è possibile eseguire i seguenti script da un pool di memorizzazione di ZFS per configurare un server o un client di installazione:
setup_install_server
add_install_server
add_install_client
Solaris Live Upgrade - Preserva l'ambiente di boot originale e trasferisce i pool di memorizzazione di ZFS nel nuovo ambiente. Attualmente, non è possibile usare un file system ZFS come file system radice avviabile. Di conseguenza, i file system ZFS esistenti non vengono copiati nell'ambiente di boot.
Installazione iniziale di Solaris - I file system ZFS non vengono riconosciuti in un'installazione iniziale. Tuttavia, se nessuno dei dischi che contengono i pool di memorizzazione di ZFS viene utilizzato per l'installazione, dovrebbe essere possibile ripristinarli dopo l'installazione con il comando zpool import. Per maggiori informazioni, vedere la pagina man zpool(1M).
Come nella maggior parte degli scenari di reinstallazione, è opportuno eseguire il backup dei file di ZFS prima di eseguire un'installazione iniziale.
Aggiornamento di Solaris – I file system e i pool di memorizzazione di ZFS vengono preservati.
ZFS implementa un nuovo modello di ACL. Le versioni precedenti del sistema operativo Solaris supportavano esclusivamente un modello di ACL basato principalmente sulla bozza di specifica ACL POSIX. Le ACL basate su questa bozza POSIX vengono utilizzate per la protezione dei file UFS. Per proteggere i file di ZFS viene utilizzato un nuovo modello basato sulla specifica NFSv4.
Le caratteristiche principali del nuovo modello di ACL sono le seguenti:
Si basa su una specifica NFSv4; gli ACL sono simili agli ACL di NT.
Fornisce un insieme di privilegi di accesso più dettagliato.
Utilizza i comandi chmod e ls al posto dei comandi setfacl e getfacl per impostare e visualizzare gli ACL.
Fornisce una semantica di ereditarietà più completa per designare il modo in cui i privilegi di accesso vengono applicati dalle directory alle sottodirectory e così via.
La pagina man chmod(1), revisionata recentemente, include una serie di nuovi esempi che illustrano l'utilizzo del comando con ZFS. La pagina man acl(5) contiene un'introduzione generale al nuovo modello di ACL. Inoltre, il manuale ZFS Administration Guide contiene una serie completa di esempi che illustrano l'utilizzo di ACL per la protezione dei file ZFS.