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

Capitolo 11 Solaris Live Upgrade e ZFS (panoramica)

Solaris Live Upgrade consente di eseguire la migrazione dei file system UFS verso un pool root ZFS e di creare file system root ZFS a partire da un pool root ZFS esistente.


Nota –

La possibilità di creare ambienti di boot con Solaris Live Upgrade è stata introdotta nella versione Solaris 10 10/08. Quando si esegue un aggiornamento con Solaris Live Upgrade per un file system UFS, il funzionamento e i parametri dalla riga di comando di Solaris Live Upgrade restano immutati. Per eseguire un aggiornamento con Solaris Live Upgrade su un sistema che contiene file system UFS, vedere la Parte I, Aggiornamento con Solaris Live Upgrade del presente manuale.


Le sezioni seguenti forniscono un'introduzione alle attività qui indicate:

Nuove funzioni di Solaris 10 10/09

A partire dalla versione Solaris 10 10/09 è possibile impostare un profilo JumpStart per identificare un archivio Flash di un pool root ZFS.

È possibile creare un archivio Flash in un sistema che utilizza un file system root UFS o ZFS. Un archivio Flash di un pool root ZFS contiene tutta la gerarchia del pool, con l'esclusione dei volumi di swap e di dump e dei set di dati eventualmente esclusi. I volumi di swap e di dump vengono creati al momento dell'installazione dell'archivio Flash.

Utilizzare il metodo di installazione degli archivi Flash indicato di seguito:

Per istruzioni dettagliate e informazioni sulle limitazioni, vedere la sezione Installing a ZFS Root File System (Oracle Solaris Flash Archive Installation) in Oracle Solaris ZFS Administration Guide.

Introduzione all'utilizzo di Solaris Live Upgrade con ZFS

Se si utilizza un file system UFS, Solaris Live Upgrade si comporta come nelle versioni precedenti. È ora possibile eseguire la migrazione da un file system UFS a un pool root ZFS e creare nuovi ambienti di boot all'interno di un pool root ZFS. Per eseguire queste procedure, al comando lucreate è stata aggiunta l'opzione -p. La sintassi del comando è la seguente:


# lucreate [-c active_BE_name] -n BE_name [-p zfs_root_pool]

L'opzione -p specifica il pool ZFS in cui risiede il nuovo ambiente di boot. Questa opzione può essere omessa se gli ambienti di boot di origine e di destinazione sono nello stesso pool.

L'opzione -m del comando lucreate non è supportata per ZFS. Le altre opzioni del comando lucreate funzionano regolarmente, con alcune eccezioni. Per un elenco delle limitazioni, vedere Requisiti e limitazioni per l'utilizzo di Solaris Live Upgrade.

Migrazione da un file system UFS a un pool root ZFS

Se si crea un ambiente di boot dal sistema in uso, il comando lucreate copia il file system root (/) UFS in un pool root 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 root (/) 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 root ZFS.

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

I seguenti comandi creano un pool root ZFS e un nuovo ambiente di boot da un file system root (/) UFS nel pool root ZFS. Il pool root 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 root, rpool su una slice separata, c0t1d0s5. La slice del disco c0t0d0s0 contiene un file system root (/) UFS. Nel comando lucreate, l'opzione -c indica il sistema in esecuzione, c0t0d0, che è un file system root (/) 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 root ZFS

Il contesto descrive l'illustrazione.


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

Questo esempio mostra gli stessi comandi descritti nella Figura 11–1. I comandi creano un nuovo pool root, rpool, e un nuovo ambiente di boot nel pool dal file system root (/) UFS. In questo esempio, il comando zfs list mostra il pool root 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 new-zfsBE -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/new-zfsBE       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 root 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 root (/) UFS con volumi SVM a un pool root 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 root 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 root (/) UFS configurato con volumi SVM. Il comando zpool crea un pool root, c1t0d0s0, e un volume RAID-1 (mirror), c2t0d0s0. Nel secondo comando lucreate, l'opzione -n assegna un nome all'ambiente di boot da creare, c0t0d0s0. L'opzione -s identifica il file system del root UFS(/). L'opzione -p indica dove posizionare il nuovo ambiente di boot, rpool.


# lucreate -n ufsBE -m /:/dev/md/dsk/d104:ufs
# zpool create rpool mirror c1t0d0s0 c2t1d0s0
# lucreate -n c0t0d0s0 -s ufsBE -p zpool

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


Creazione di un nuovo ambiente di boot da un pool root ZFS

È possibile creare un nuovo ambiente di boot ZFS all'interno dello stesso pool root o su un nuovo pool root. Questa sezione contiene i seguenti argomenti:

Creazione di un nuovo ambiente di boot nello stesso pool root

Quando si crea un nuovo ambiente di boot nello stesso pool root ZFS, il comando lucreate crea uno snapshot dall'ambiente di boot di origine e quindi crea un clone dello snapshot. La creazione dello snapshot e del clone è pressoché istantanea e lo spazio utilizzato su disco è minimo. La quantità di spazio effettivamente richiesta dipende dal numero di file che vengono sostituiti nel corso del processo di aggiornamento. Lo snapshot è di sola lettura mentre il clone è una copia leggibile e scrivibile dello snapshot. Qualsiasi modifica effettuata all'ambiente di boot clone non viene applicata allo snapshot o all'ambiente di boot di origine da cui lo snapshot era stato creato.


Nota –

Quando i dati del set di dati attivo vengono modificati, lo snapshot consuma spazio in quanto continua a fare riferimento ai vecchi dati. Di conseguenza, lo snapshot impedisce che lo spazio occupato da tali dati venga reso nuovamente disponibile per il pool. Per maggiori informazioni sugli snapshot, vedere il Capitolo 7, Working With Oracle Solaris ZFS Snapshots and Clones in Oracle Solaris ZFS Administration Guide.


Quando l'ambiente di boot corrente risiede nello stesso pool ZFS, l'opzione -p viene omessa.

La Figura 11–2 mostra la creazione di un ambiente di boot ZFS da un pool root ZFS. La slice c0t0d0s0 contiene il pool root ZFS, rpool. Nel comando lucreate, l'opzione -n assegna un nome all'ambiente di boot da creare, nuovo-BE-zfs. Viene creato uno snapshot del pool root originale, rpool@nuovo-BE-zfs. Lo snapshot viene utilizzare per realizzare il clone, ovvero il nuovo ambiente di boot, nuovo-BE-zfs. L'ambiente di boot, nuovo-BE-zfs, è pronto per essere aggiornato e attivato.

Figura 11–2 Creazione di un nuovo ambiente di boot nello stesso pool root

Il contesto descrive l'illustrazione.


Esempio 11–3 Creazione di un ambiente di boot nello stesso pool root ZFS

Questo esempio mostra lo stesso comando descritto nella Figura 11–2, che ha l'effetto di creare un nuovo ambiente nello stesso pool root. Il comando lucreate assegna un nome all'ambiente di boot corrente con l'opzione -c BE-zfs, mentre l'opzione -n nuovo-BE-zfs crea il nuovo ambiente di boot. Il comando zfs list mostra i set di dati ZFS con il nuovo ambiente di boot e lo snapshot.


# lucreate -c zfsBE -n new-zfsBE
# zfs list
AME                        USED  AVAIL  REFER  MOUNTPOINT 
rpool                      9.29G  57.6G    20K  /rpool
rpool/ROOT                 5.38G  57.6G    18K  /rpool/ROOT
rpool/ROOT/zfsBE           5.38G  57.6G   551M  
rpool/ROOT/zfsBE@new-zfsBE 66.5K      -   551M  -
rpool/ROOT/new-zfsBE       5.38G  57.6G   551M  /tmp/.alt.luupdall.110034
rpool/dump                 1.95G      -  1.95G  - 
rpool/swap                 1.95G      -  1.95G  - 

Creazione di un nuovo ambiente di boot su un altro pool root

È possibile utilizzare il comando lucreate per copiare un pool root ZFS esistente in un altro pool root ZFS. Il processo di copia può richiedere un certo tempo, in base al sistema utilizzato.

La Figura 11–3 mostra il comando zpool, che ha l'effetto di creare un pool root ZFS, rpool2, su c0t1d0s5, in quanto non esiste ancora un pool root ZFS avviabile. Il comando lucreate con 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.

Figura 11–3 Creazione di un nuovo ambiente di boot su un altro pool root

Il contesto descrive l'illustrazione.


Esempio 11–4 Creazione di un ambiente di boot su un diverso pool root ZFS

Questo esempio mostra gli stessi comandi descritti nella Figura 11–3, che hanno l'effetto di creare un nuovo pool root e quindi un nuovo ambiente di boot nel pool root appena creato. In questo esempio, il comando zpool create crea rpool2. Il comando zfs list indica che non sono stati creati set di dati ZFS in rpool2. I set di dati vengono creati dal comando lucreate.


# zpool create rpool2 c0t2d0s5
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G   551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

Il nuovo pool root ZFS, rpool2, viene creato sulla slice del disco c0t2d0s5.


# lucreate -n new-zfsBE -p rpool2
# zfs list
NAME                             USED    AVAIL   REFER   MOUNTPOINT 
rpool2                           9.29G    57.6G     20K   /rpool2 
rpool2/ROOT/                     5.38G    57.6G     18K   /rpool2/ROOT 
rpool2/ROOT/new-zfsBE            5.38G    57.6G    551M   /tmp/.new.luupdall.109859
rpool2/dump                      3.99G        -   3.99G   - 
rpool2/swap                      3.99G        -   3.99G   - 
rpool                            9.29G    57.6G     20K   /.new.lulib.rs.109262
rpool/ROOT                       5.46G    57.6G     18K   legacy
rpool/ROOT/zfsBE                 5.46G    57.6G   551M  
rpool/dump                       3.99G        -   3.99G   - 
rpool/swap                       3.99G        -   3.99G   - 

Il nuovo ambiente di boot, nuovo-BE-zfs, viene creato su rpool2 insieme con gli altri set di dati, ROOT, dump e swap. L'ambiente di boot, nuovo-BE-zfs, è pronto per essere aggiornato e attivato.


Creazione di un nuovo ambiente di boot da un sistema diverso.

Se si sta creando un ambiente di boot da un sistema che non è quello in uso, è necessario usare il comando lucreate con l'opzione -s. L'opzione -s viene utilizzata come con i file system UFS. L'opzione -s indica il percorso del file system root (/) alternativo. Questo file system root (/) alternativo sarà l'origine per la creazione del nuovo pool root ZFS. Il file system root alternativo può essere un file system root (/) UFS o un pool root ZFS. Il processo di copia può richiedere un certo tempo, in base al sistema utilizzato.


Esempio 11–5 Creazione di un ambiente di boot da un file system root (/) alternativo

Il comando seguente crea un nuovo pool root ZFS da un pool root ZFS esistente. L'opzione -n assegna un nome all'ambiente di boot da creare, nuovo-BE-zfs. L'opzione -s specifica l'ambiente di boot, BE-zfs-origine, da usare come origine della copia al posto dell'ambiente di boot in esecuzione. L'opzione -p indica di posizionare il nuovo ambiente di boot in nuovopool2.


# lucreate -n new-zfsBE  -s source-zfsBE -p rpool2

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


Creazione di un ambiente di boot ZFS su un sistema con zone non globali

È possibile usare Solaris Live Upgrade per eseguire la migrazione delle zone non globali su un file system root ZFS. Per una panoramica, per informazioni sulla pianificazione e per istruzioni dettagliate, vedere il Capitolo 14Solaris Live Upgrade per ZFS in presenza di zone non globali.

Risorse aggiuntive

Per altre informazioni sugli argomenti di questo capitolo, vedere le risorse elencate nella Tabella 11–1.

Tabella 11–1 Risorse aggiuntive

Risorsa 

Posizione 

Informazioni su ZFS, tra cui un'introduzione generale, indicazioni per la pianificazione e procedure dettagliate 

Oracle Solaris ZFS Administration Guide

Per l'utilizzo di Solaris Live Upgrade su un sistema con file system UFS 

Parte I, Aggiornamento con Solaris Live Upgrade in questo manuale