Questa sezione descrive le nuove funzioni di ZFS in Solaris Express Developer Edition 9/07.
Miglioramento della cronologia dei comandi ZFS (zpool history) – Il comando zpool history è stato arricchito di nuove opzioni che supportano la registrazione degli eventi dei file system ZFS e un formato più lungo, che include il nome utente, il nome host e la zona in cui è stata eseguita l'operazione.
Ad esempio, l'opzione zpool history -i restituisce gli eventi del comando zpool e gli eventi del comando zfs.
# zpool history -i users History for 'users': 2007-04-26.12:44:02 zpool create users mirror c0t8d0 c0t9d0 c0t10d0 2007-04-26.12:46:13 zfs create users/home 2007-04-26.12:46:18 zfs create users/home/markm 2007-04-26.12:46:23 zfs create users/home/marks 2007-04-26.12:46:30 zfs create users/home/neil 2007-04-26.12:47:15 zfs snapshot -r users/home@yesterday 2007-04-26.12:54:50 zfs snapshot -r users/home@today 2007-04-26.13:29:13 zfs create users/snapshots |
L'opzione zpool history -l restituisce le informazioni in un formato più ampio. Ad esempio:
# zpool history -l tank History for 'tank': 2007-07-19.10:55:13 zpool create tank mirror c0t1d0 c0t11d0 [user root on neo:global] 2007-07-19.10:55:19 zfs create tank/cindys [user root on neo:global] 2007-07-19.10:55:49 zfs allow cindys create,destroy,mount,snapshot tank/cindys [user root on neo:global] 2007-07-19.10:56:24 zfs create tank/cindys/data [user cindys on neo:global] |
Per maggiori informazioni, vedere la pagina man zpool(1M).
Aggiornamento dei file system ZFS (zfs upgrade) – A partire da questa versione è stato incluso il comando zfs upgrade, che consentirà di applicare miglioramenti futuri ai file system ZFS esistenti. I pool di storage ZFS comprendono una funzione di aggiornamento analoga che consente il miglioramento dei pool esistenti.
Ad esempio:
# zfs upgrade This system is currently running ZFS filesystem version 2. The following filesystems are out of date, and can be upgraded. After being upgraded, these filesystems (and any 'zfs send' streams generated from subsequent snapshots) will no longer be accessible by older software versions. VER FILESYSTEM --- ------------ 1 datab 1 datab/users 1 datab/users/area51 |
Tuttavia, questa versione non comprende nuove funzioni di aggiornamento dei file system ZFS.
Amministrazione delegata di ZFS – A partire da questa versione, è possibile delegare le autorizzazioni in modo differenziato per consentire ad utenti non privilegiati di eseguire attività di amministrazione in ZFS. Per assegnare e revocare le autorizzazioni è possibile utilizzare i comandi zfs allow e zfs unallow.
L'esempio seguente mostra una procedura di assegnazione delle autorizzazioni in cui l'utente cindys viene autorizzato a creare, distruggere, attivare ed eseguire snapshot su tank/cindys. Vengono inoltre visualizzate le autorizzazioni disponibili per tank/cindys .
# zfs allow cindys create,destroy,mount,snapshot tank/cindys # zfs allow tank/cindys ------------------------------------------------------------- Local+Descendent permissions on (tank/cindys) user cindys create,destroy,mount,snapshot ------------------------------------------------------------- |
Poiché le autorizzazioni predefinite per il punto di attivazione tank/cindys sono impostate su 755, l'utente cindys non potrà attivare i file system sotto tank/cindys. Per abilitare l'accesso al punto di attivazione, impostare un ACL con una sintassi simile alla seguente.
# chmod A+user:cindys:add_subdirectory:allow /tank/cindys |
Le autorizzazioni all'uso delle funzioni di amministrazione delegate di ZFS possono essere modificate con la proprietà delegation del pool. Ad esempio:
# zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation on default # zpool set delegation=off users # zpool get delegation users NAME PROPERTY VALUE SOURCE users delegation off local |
Nell'impostazione predefinita, la proprietà delegation è abilitata.
Per maggiori informazioni, vedere il Capitolo 8, ZFS Delegated Administration, in ZFS Administration Guide .
Configurazione di dispositivi di logging separati in ZFS – Il log ZIL (ZFS intent log) soddisfa i requisiti POSIX per quanto riguarda le transazioni sincrone. Ad esempio, i database richiedono spesso che le transazioni giungano a dispositivi di storage stabili al ritorno da una chiamata di sistema. Per garantire la stabilità dei dati, NFS e altre applicazioni possono anche utilizzare fsync(). Nell'impostazione predefinita, il log ZIL viene allocato dai blocchi all'interno del pool di storage principale. Tuttavia, è possibile ottenere prestazioni migliori usando dispositivi di logging separati nel pool di storage ZFS, ad esempio la NVRAM o un disco dedicato.
I dispositivi di logging per l'intent log di ZFS non sono correlati ai file di log del database.
È possibile configurare dispositivi di logging separati in ZFS nei modi seguenti:
Durante o dopo la creazione del pool di storage ZFS.
È possibile collegare un dispositivo di log a un altro dispositivo di log esistente per creare un dispositivo in mirroring. Questa operazione è identica al collegamento di un dispositivo in un pool di storage senza mirroring.
Per esempi di configurazione dei dispositivi di logging, vedere Creating a ZFS Storage Pool with Log Devices in ZFS Administration Guide e Adding Devices to a Storage Pool in ZFS Administration Guide.
Per informazioni sull'utilità dei dispositivi di logging ZFS separati nei diversi tipi di ambiente, vedere Setting Up Separate ZFS Logging Devices in ZFS Administration Guide.
Creazione di set di dati intermedi in ZFS – Usando l'opzione -p con i comandi zfs create, zfs clone e zfs rename, è possibile creare rapidamente un set di dati intermedio ancora inesistente.
Ad esempio, è possibile creare i set di dati ZFS (users/area51) nel pool di storage datab.
# zfs list NAME USED AVAIL REFER MOUNTPOINT datab 106K 16.5G 18K /datab # zfs create -p -o compression=on datab/users/area51 |
Se il set di dati intermedio è presente durante l'operazione di creazione, il processo si conclude correttamente.
Le proprietà specificate si applicano al set di dati di destinazione, non ai set di dati intermedi. Ad esempio:
# zfs get mountpoint,compression datab/users/area51 NAME PROPERTY VALUE SOURCE datab/users/area51 mountpoint /datab/users/area51 default datab/users/area51 compression on local |
Il set di dati intermedio viene creato con il punto di attivazione predefinito. Le eventuali proprietà aggiuntive vengono disabilitate per il set di dati intermedio. Ad esempio:
# zfs get mountpoint,compression datab/users NAME PROPERTY VALUE SOURCE datab/users mountpoint /datab/users default datab/users compression off default |
Per maggiori informazioni, vedere la pagina man zfs(1M).
Miglioramenti alle funzioni di inserimento a caldo in ZFS – A partire da questa versione, ZFS rileva con maggiore efficienza i dispositivi che vengono rimossi. ZFS comprende inoltre un meccanismo per identificare automaticamente i dispositivi che vengono inseriti che presenta i seguenti miglioramenti:
È possibile sostituire un dispositivo esistente con un dispositivo equivalente senza bisogno di utilizzare il comando zpool replace.
La proprietà autoreplace controlla la sostituzione automatica dei dispositivi. Se la proprietà è disabilitata, la sostituzione dei dispositivi deve essere eseguita dall'amministratore con il comando zpool replace. Se la proprietà è abilitata, qualunque nuovo dispositivo che si trovi nella stessa posizione fisica del dispositivo che apparteneva in precedenza al pool viene automaticamente formattato e sostituito. Nell'impostazione predefinita, la proprietà autoreplace è disabilitata (off).
Il pool di storage viene posto in stato REMOVED quando un dispositivo o un disco di riserva viene rimosso fisicamente con il sistema in funzione. I dispositivi rimossi vengono sostituiti dai dischi di riserva (se disponibili).
Se un dispositivo viene rimosso e quindi inserito, viene posto online. Se era stato attivato un disco di riserva, quando il dispositivo viene reinserito e posto online il disco di riserva viene rimosso.
La rilevazione automatica dell'inserimento o della rimozione dei dispositivi dipende dall'hardware e può non essere supportata su alcune piattaforme.
I dischi di riserva vengono controllati periodicamente per verificare che siano online e disponibili.
Per maggiori informazioni, vedere la pagina man zpool(1M).
Per maggiori informazioni su questi miglioramenti al file system ZFS, vedere il manuale ZFS Administration Guide.