La sezione seguente riassume le nuove funzioni del file system ZFS.
Supporto dell'installazione ZFS e Flash – Nella versione Solaris 10 10/09 è possibile impostare un profilo JumpStart per identificare un archivio Flash di un pool radice ZFS. Per maggiori informazioni, vedere il manuale Solaris ZFS Administration Guide.
Impostazione di quote ZFS per utenti e gruppi – Nelle versioni precedenti di Solaris era possibile applicare quote e riserve ai file system ZFS per gestire e riservare spazio. In questa versione di Solaris è possibile impostare una quota per la quantità di spazio occupata dai file di proprietà di un determinato utente o gruppo. Valutare la possibilità di impostare quote per utenti e gruppi in un ambiente che ne contiene un numero significativo. È possibile impostare quote di utenti e gruppi utilizzando le proprietà zfs userspace e zfs groupspace come indicato di seguito:
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins |
È possibile visualizzare la quota corrente di un utente o gruppo come indicato di seguito:
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local |
Uso dell'ereditarietà pass-through ACL ZFS per autorizzazioni di esecuzione – Nelle versioni precedenti di Solaris era possibile applicare l'ereditarietà ACL in modo che tutti i file fossero creati con autorizzazioni 0664 o 0666. Se si desidera includere il bit di esecuzione dalla modalità di creazione file nell'ACL ereditato, questa versione permette di utilizzare l'ereditarietà pass-through per l'autorizzazione di esecuzione.
Se aclinherit=passthrough-x è attivato in un set di dati ZFS, è possibile includere l'autorizzazione di esecuzione per un file di output creato mediante gli strumenti cc o gcc. Se l'ACL ereditato non include l'autorizzazione di esecuzione, l'output eseguibile dal compilatore non sarà eseguibile fino a quando non si utilizzerà il comando chmod per modificare le autorizzazioni del file.
Uso di dispositivi cache nel pool di memorizzazione ZFS – Nella versione Solaris 10 10/09 è possibile creare un pool e specificare i dispositivi cache utilizzati per memorizzare i dati del pool di memorizzazione nella cache. I dispositivi cache rappresentano un livello aggiuntivo di memorizzazione nella cache, situato tra la memoria principale e il disco. L'uso dei dispositivi cache offre un notevole incremento delle prestazioni, in particolare quando i carichi di lavoro richiedono la lettura casuale di contenuti prevalentemente statici.
Durante la creazione del pool è possibile specificare uno o più dispositivi cache. Ad esempio:
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors |
Per determinare se l'uso di dispositivi cache sia appropriato per l'ambiente in uso, vedere il manuale Solaris ZFS Administration Guide.
Miglioramenti alle proprietà ZFS – La versione Solaris 10 10/09 include miglioramenti alle seguenti proprietà ZFS:
È possibile impostare le proprietà del file system ZFS durante la creazione del pool. Nel seguente esempio è stata attivata la compressione per il file system ZFS creato durante la creazione del pool.
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0 |
In un file system ZFS è possibile impostare due proprietà della cache che consentono di controllare gli elementi memorizzati nella cache primaria (ARC) o nella cache secondaria (L2ARC). Le proprietà della cache vengono impostate come indicato di seguito:
primarycache – Controlla ciò che viene memorizzato nella cache ARC.
secondarycache – Controlla ciò che viene memorizzato nella cache L2ARC.
È possibile impostare queste proprietà in un file system esistente o durante la creazione di un file system. Ad esempio:
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab |
La mancata memorizzazione dei dati dell'utente nella cache potrebbe risultare utile per alcuni ambienti di database. Sarà necessario determinare se l'impostazione delle proprietà della cache è utile per l'ambiente in uso.
Per maggiori informazioni, vedere il manuale Solaris ZFS Administration Guide.
È possibile utilizzare le proprietà relative all'utilizzo di spazio al fine di identificare lo spazio utilizzato da cloni, file system e volumi, ma non quello utilizzato dalle istantanee. Di seguito sono riportate le proprietà:
usedbychildren – Identifica la quantità di spazio utilizzata dagli elementi secondari di questo set di dati, che verrebbe liberata se tutti gli elementi secondari del set di dati fossero eliminati. L'abbreviazione della proprietà è usedchild.
usedbydataset – Identifica la quantità di spazio utilizzata dal set di dati che verrebbe liberata se il set di dati fosse eliminato in seguito all'eliminazione di tutte le istantanee e alla rimozione di tutti i set refreservation. L'abbreviazione della proprietà è usedds.
usedbyrefreservation – Identifica la quantità di spazio utilizzato da un set refreservation in questo set di dati, che verrebbe liberata se la proprietà refreservation fosse rimossa. L'abbreviazione della proprietà è usedrefreserv.
usedbysnapshots – Identifica la quantità di spazio utilizzata dalle istantanee di questo set di dati. In particolare, è la quantità di spazio che verrebbe liberata se tutte le istantanee di questo set di dati fossero eliminate. Non si tratta semplicemente della somma delle proprietà used delle istantanee, poiché lo spazio può essere condiviso da più istantanee. L'abbreviazione della proprietà è usedsnap.
Queste nuove proprietà scompongono il valore della proprietà used nei diversi elementi che utilizzano lo spazio. In particolare, il valore della proprietà used viene scomposto come indicato di seguito:
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots |
È possibile visualizzare queste proprietà utilizzando i comandi zfs list - o space. Ad esempio:
# zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD pool 33.2G 72K 0 21K 0 51K rpool 27.0G 6.27G 20.5K 97K 0 6.27G rpool/ROOT 27.0G 4.73G 0 21K 0 4.73G rpool/ROOT/zfsBE 27.0G 4.73G 97.5M 4.63G 0 0 rpool/dump 27.0G 1.00G 16K 1.00G 0 0 rpool/export 27.0G 60K 16K 23K 0 21K rpool/export/home 27.0G 21K 0 21K 0 0 rpool/swap 27.5G 553M 0 41.5M 512M 0 |
In questa versione, le istantanee vengono omesse dall'output zfs list. La proprietà del pool listsnaps determina se le informazioni sull'istantanea vengono visualizzate dal comando zfs list. Se si utilizza il comando zfs list -t snapshots, le informazioni sull'istantanea vengono visualizzate. Il valore predefinito è off, pertanto per impostazione predefinita le informazioni sull'istantanea non vengono visualizzate.
Ripristino dispositivi registro ZFS – Nella versione Solaris 10 10/09, il file system ZFS consente di identificare gli errori nell'intent log mediante il comando zpool status. FMA rileva anche tali errori. Sia ZFS che FMA descrivono come eseguire il ripristino da un errore dell'intent log.
Ad esempio, se si verifica un arresto imprevisto del sistema prima che le operazioni di scrittura sincrona vengano salvate in un pool con un registro separato, nell'output zpool status vengono visualizzati i messaggi di errore relativi all'intent log. Per informazioni sulla risoluzione degli errori relativi al registro, vedere il manuale Solaris ZFS Administration Guide.
Utilizzo dei set ACL ZFS – Nella versione Solaris 10 10/09 è possibile applicare set ACL di tipo NFSv4 anziché singole autorizzazioni ACL di diverso tipo. Sono disponibili i seguenti set ACL:
full_set = tutte le autorizzazioni
modify_set = tutte le autorizzazioni eccetto write_acl e write_owner
read_set = read_data, read_attributes, read_xattr e read_acl
write_set = write_data, append_data, write_attributes e write_xattr
Questi set ACL sono predefiniti e non possono essere modificati.
Per maggiori informazioni su questi miglioramenti, vedere il manuale Solaris ZFS Administration Guide.
Vedere le sezioni successive per informazioni legate a ZFS: