Guida all'installazione di Solaris 10 10/08: Solaris Live Upgrade e pianificazione degli aggiornamenti

Migrazione da un file system UFS a un pool radice ZFS

Se si crea un ambiente di boot dal sistema in uso, il comando lucreate copia il file system radice (/) UFS in un pool radice ZFS. Il processo di copia può richiedere un certo tempo, in base al sistema utilizzato.

Quando si esegue la migrazione da un file system UFS, l'ambiente di boot di origine può essere un file system radice (/) UFS o la slice di un disco. Non è possibile creare un ambiente di boot su un file system UFS da un ambiente di boot di origine che si trova su un pool radice ZFS.

Migrazione da un file system radice (/) UFS a un pool radice ZFS

I seguenti comandi creano un pool radice ZFS e un nuovo ambiente di boot da un file system radice (/) UFS nel pool radice ZFS. Il pool radice ZFS deve esistere prima dell'esecuzione di lucreate e deve essere creato a partire da una slice anziché da un intero disco per essere aggiornabile e avviabile. Il disco non può contenere un'etichetta EFI, ma deve avere un'etichetta SMI. Per un elenco più completo delle limitazioni, vedere Requisiti e limitazioni per l'utilizzo di Solaris Live Upgrade.

La Figura 11–1 mostra l'utilizzo del comando zpool per creare un pool radice, rpool su una slice separata, c0t1d0s5. La slice del disco c0t0d0s0 contiene un file system radice (/) UFS. Nel comando lucreate, l'opzione -c indica il sistema in esecuzione, c0t0d0, che è un file system radice (/) UFS. L'opzione -n assegna un nome all'ambiente di boot da creare, nuovo-BE-zfs. L'opzione -p indica dove posizionare il nuovo ambiente di boot, rpool. Il file system UFS /export e il volume /swap non vengono copiati nel nuovo ambiente di boot.

Figura 11–1 Migrazione da un file system UFS a un pool radice ZFS

Il contesto descrive l'illustrazione.


Esempio 11–1 Migrazione da un file system radice (/) UFS a un pool radice ZFS

Questo esempio mostra gli stessi comandi descritti nella Figura 11–1. I comandi creano un nuovo pool radice, rpool, e un nuovo ambiente di boot nel pool dal file system radice (/) UFS. In questo esempio, il comando zfs list mostra il pool radice ZFS creato dal comando zpool. Il successivo comando zfs list mostra i set di dati creati dal comando lucreate.


# zpool create rpool c0t1d0s5
# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool

# lucreate -c c0t0d0 -n nuovo-BE-zfs -p rpool
# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
rpool/ROOT/nuovo-BE-zfs    5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

Il nuovo ambiente di boot è rpool/ROOT/nuovo-BE-zfs. L'ambiente di boot, nuovo-BE-zfs, è pronto per essere aggiornato e attivato.


Migrazione di un file system UFS con volumi di Solaris Volume Manager configurati a un file system radice ZFS

È possibile eseguire la migrazione di un file system UFS anche se sul sistema sono presenti volumi di Solaris Volume Manager (SVM). Per creare un ambiente di boot UFS da una configurazione SVM esistente, è necessario creare un nuovo ambiente di boot dal sistema in uso. Quindi creare l'ambiente di boot ZFS dal nuovo ambiente di boot UFS.

Panoramica su Solaris Volume Manager (SVM). ZFS utilizza il concetto di pool di memorizzazione per gestire lo spazio fisico disponibile sui dischi. Tradizionalmente, i file system venivano creati su un singolo dispositivo fisico. Per rispondere all'esigenza di utilizzare più dispositivi e di consentire la ridondanza dei dati, è stato introdotto il concetto di “volume manager” per presentare l'immagine di un singolo dispositivo. In questo modo non è necessario modificare la configurazione dei file system per sfruttare i vantaggi dati dall'utilizzo di più dispositivi. Questo tipo di progettazione ha aggiunto un ulteriore livello di complessità. Tale complessità ha in definitiva ostacolato vari miglioramenti ai file system, in quanto il file system non aveva il controllo sul posizionamento fisico dei dati nei volumi virtualizzati.

I pool di memorizzazione ZFS sostituiscono SVM. ZFS elimina completamente l'esigenza di effettuare una gestione dei volumi. Anziché imporre la creazione di volumi virtualizzati, ZFS aggrega i dispositivi in un pool di memorizzazione. Il pool di memorizzazione descrive le caratteristiche fisiche, ad esempio il layout del dispositivo di memorizzazione e la ridondanza dei dati, e agisce come un archivio di dati generico sul quale è possibile creare i file system. I file system non sono quindi più vincolati ai singoli dispositivi e questo consente loro di condividere lo spazio con tutti i file system inclusi nel pool. Non è più necessario predeterminare la dimensione di un file system, in quanto la dimensione può aumentare automaticamente nell'ambito dello spazio allocato al pool di memorizzazione. Quando si aggiunge un nuovo disco, tutti i file system del pool possono immediatamente utilizzare lo spazio a disposizione senza alcun intervento di amministrazione. Da vari punti di vista, il pool di memorizzazione opera come un sistema di memoria virtuale. Quando viene aggiunto un modulo DIMM di memoria, il sistema operativo non richiede l'esecuzione di alcun comando per configurare la memoria ed assegnarla ai processi. Tutti i processi usano automaticamente la nuova memoria disponibile.


Esempio 11–2 Migrazione da un file system radice (/) UFS con volumi SVM a un pool radice ZFS

Quando si esegue la migrazione di un sistema su cui sono presenti volumi SVM, tali volumi vengono ignorati. È possibile configurare i mirror nel pool radice come indicato nell'esempio seguente.

In questo esempio, il comando lucreate con l'opzione -m crea un nuovo ambiente di boot dal sistema in uso. La slice del disco c1t0d0s0 contiene un file system radice (/) UFS configurato con volumi SVM. Il comando zpool crea un pool radice, c1t0d0s0, e un volume RAID-1 (mirror), c2t0d0s0. Nel comando lucreate, l'opzione -n assegna un nome all'ambiente di boot da creare, nuovo-BE-zfs. L'opzione -p indica dove posizionare il nuovo ambiente di boot, rpool.


# lucreate -n BE_ufs -m /:/dev/md/dsk/d104:ufs
# zpool create rpool mirror c0t0d0s0 c0t1d0s0
# lucreate -n c0t0d0s0 -s BE_ufs -p zpool

L'ambiente di boot, c0t0d0s0, è pronto per essere aggiornato e attivato.