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

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

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

Creazione di un nuovo ambiente di boot nello stesso pool radice

Quando si crea un nuovo ambiente di boot nello stesso pool radice 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 ZFS Snapshots and Clones in 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 radice ZFS. La slice c0t0d0s0 contiene il pool radice 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 radice 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 radice

Il contesto descrive l'illustrazione.


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

Questo esempio mostra lo stesso comando descritto nella Figura 11–2, che ha l'effetto di creare un nuovo ambiente nello stesso pool radice. 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 radice

È possibile utilizzare il comando lucreate per copiare un pool radice ZFS esistente in un altro pool radice 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 radice ZFS, rpool2, su c0t1d0s5, in quanto non esiste ancora un pool radice 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 radice

Il contesto descrive l'illustrazione.


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

Questo esempio mostra gli stessi comandi descritti nella Figura 11–3, che hanno l'effetto di creare un nuovo pool radice e quindi un nuovo ambiente di boot nel pool radice 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 radice 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.