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

Capitolo 9 Aggiornamento di Solaris su un sistema con zone non globali

Questo capitolo descrive l'utilizzo di Solaris Live Upgrade per aggiornare un sistema su cui sono presenti zone non globali. Il capitolo è suddiviso nelle seguenti sezioni:

Aggiornamento con Solaris Live Upgrade in presenza di zone non globali (panoramica)

A partire da Solaris 10 8/07 è possibile aggiornare o applicare patch a un sistema che contiene zone non globali con Solaris Live Upgrade. Se il sistema in uso contiene zone non globali, il programma consigliato per l'aggiornamento o l'applicazione delle patch è Solaris Live Upgrade. Altri programmi di aggiornamento possono richiedere molto tempo per completare l'operazione, in quanto il tempo richiesto per completare l'aggiornamento aumenta proporzionalmente al numero di zone non globali installate. Se si sta applicando una patch usando Solaris Live Upgrade, non è necessario passare alla modalità monoutente e questo aumenta il tempo di attività del sistema. L'elenco seguente contiene un riepilogo delle modifiche necessarie sui sistemi con zone non globali

Introduzione a Solaris Zones e Solaris Live Upgrade

La tecnologia Solaris Zones è una tecnologia di partizionamento del software usata per virtualizzare i servizi del sistema operativo e per creare un ambiente isolato e sicuro per l'esecuzione delle applicazioni. Una zona è un ambiente di sistema operativo virtualizzato creato all'interno di una singola istanza del sistema operativo Solaris (la zona globale). Quando si crea una zona non globale, si produce un ambiente di esecuzione delle applicazioni in cui i processi sono isolati dal resto del sistema.

Solaris Live Upgrade è un meccanismo per copiare il sistema in esecuzione su nuove slice. Quando sono installate zone non globali, queste possono essere copiate sull'ambiente di boot inattivo insieme ai file system della zona globale.

La Figura 9–1 mostra una zona non globale copiata sull'ambiente di boot inattivo insieme al file system della zona globale.

Figura 9–1 Creazione di un ambiente di boot – copia di zone non globali

Il contesto descrive l'illustrazione.

La Figura 9–2 mostra che una zona non globale viene copiata nell'ambiente di boot inattivo.

Figura 9–2 Creazione di un ambiente di boot – Copia di un file system condiviso da una zona non globale

Il contesto descrive l'illustrazione.

Creazione e aggiornamento di un ambiente di boot in presenza di zone non globali (attività).

Le sezioni seguenti forniscono informazioni sulla creazione di un ambiente di boot quando sono installate zone non globali e comprendono una procedura per l'aggiornamento in presenza di zone non globali.

Creazione di un ambiente di boot quando la zona non globale si trova su un file system separato

La procedura per la creazione di un nuovo ambiente di boot sulla base di quello corrente è immutata, con una sola eccezione. È possibile specificare una slice di destinazione per un file system condiviso all'interno di una zona non globale. Questa eccezione si verifica in presenza delle seguenti condizioni:

Per prevenire la condivisione di questo file system separato nel nuovo ambiente di boot, il comando lucreate consente di specificare una slice di destinazione per un file system separato per una zona non globale. L'argomento dell'opzione -m dispone di un nuovo campo opzionale, nome_zona. Questo nuovo campo posiziona il file system separato della zona non globale su una slice separata nel nuovo ambiente di boot. Per maggiori informazioni sulla configurazione di una zona non globale con un file system separato, vedere zonecfg(1M).


Nota –

Nell'impostazione predefinita, tutti i file system ad eccezione di quelli critici (root (/), /usr e /opt) sono condivisi dal vecchio e dal nuovo ambiente di boot. Di conseguenza, l'aggiornamento dei file condivisi nell'ambiente di boot attivo si riflette anche sui dati dell'ambiente di boot inattivo. Ad esempio, il file system /export è un file system condiviso. Se si utilizza l'opzione -m nome_zona, il file system condiviso della zona non globale viene copiato su una slice separata e i suoi dati non vengono condivisi. Questa opzione impedisce la condivisione tra gli ambiente di boot dei file system della zona non globale che erano stati creati con il comando zonecfg add fs.


ProcedureAggiornamento con Solaris Live Upgrade in presenza di zone non globali (attività)

La procedura seguente fornisce istruzioni dettagliate per l'aggiornamento con Solaris Live Upgrade su un sistema su cui sono installate zone non globali.

  1. Installare le patch richieste.

    Verificare di disporre dell'elenco più aggiornato delle patch accedendo al sito http://sunsolve.sun.com. Consultare il documento informativo 72099 sul sito Web di SunSolve.

    1. Ottenere l'elenco delle patch dal sito Web di SunSolveSM.

    2. Diventare superutente o assumere un ruolo equivalente.

    3. Installare le patch con il comando patchadd.


      # patchadd percorso
      

      percorso è il percorso in cui si trovano le patch.

    4. Riavviare il sistema, se necessario. Alcune patch richiedono il riavvio del sistema.

      solo x86: Il riavvio del sistema è necessario per eseguire correttamente Solaris Live Upgrade.


      # init 6
      
  2. Rimuovere i pacchetti esistenti di Solaris Live Upgrade.

    I tre pacchetti di Solaris Live Upgrade, SUNWluu, SUNWlur e SUNWlucfg, includono il software richiesto per l'aggiornamento con Solaris Live Upgrade. I pacchetti includono il software esistente, le nuove funzioni e le correzioni dei bug. Se i pacchetti esistenti non vengono rimossi e la nuova versione non viene installata sul sistema prima di usare Solaris Live Upgrade, l'aggiornamento alla versione di destinazione non riesce.


    # pkgrm SUNWlucfg SUNWluu SUNWlur
    
  3. Installare i pacchetti di Solaris Live Upgrade

    1. Inserire il DVD o i CD di Solaris.

      I supporti contengono i pacchetti appropriati per la versione di destinazione dell'aggiornamento.

    2. Installare i pacchetti nel seguente ordine dai supporti di installazione o dall'immagine di installazione di rete.


      # pkgadd -d percorso SUNWlucfg SUNWlur SUNWluu
      

      Nell'esempio seguente, i pacchetti vengono installati dai supporti di installazione.

      • Per i sistemi SPARC:


        # pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
        
      • Per i sistemi x86:


        # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
        
  4. Verificare che i pacchetti siano stati installati correttamente.


    # pkgchk -v SUNWlucfg SUNWlur SUNWluu
    
  5. Creare il nuovo ambiente di boot.


    # lucreate [-A 'descrizione_BE'] [-c nome_BE] \
     -m punto_att:disp[,metadevice]:opzioni_fs[:nome_zona] [-m ...] -n nome_BE
    
    -n nome_BE

    Nome dell'ambiente di boot da creare. Il nome_BE deve essere unico sul sistema.

    -A 'descrizione_BE'

    (Opzionale) Permette di creare una descrizione dell'ambiente di boot associata al nome (nome_BE). La descrizione può avere qualunque lunghezza e contenere qualunque carattere.

    -c nome_BE

    Assegna il nome nome_BE all'ambiente di boot attivo. Questa opzione è richiesta solo ed esclusivamente per la creazione del primo ambiente di boot. Se alla prima esecuzione di lucreate non si utilizza l'opzione -c, il software crea automaticamente un nome.

    -m punto_att:disp[,metadevice]:opzioni_fs[:nome_zona] [-m ...]

    Specifica la configurazione dei file system del nuovo ambiente di boot in vfstab. I file system specificati come argomenti di -m possono trovarsi nello stesso disco o su più dischi. Questa opzione deve essere usata il numero di volte necessario per creare il numero di file system desiderato.

    • Per punto_attivazione è possibile specificare qualunque punto di attivazione valido oppure un trattino (–), per indicare una partizione di swap.

    • Nel campo dispositivo è possibile specificare:

      • Il nome di un disco, nella forma /dev/dsk/cwtxdysz.

      • Il nome di un volume di Solaris Volume Manager nella forma /dev/md/dsk/dnum.

      • Il nome di un volume di Veritas Volume Manager nella forma /dev/md/vxfs/dsk/dnum

      • La parola chiave merged, per indicare che il file system nel punto di attivazione specificato deve essere unito con la directory di livello superiore.

    • Per opzioni_fs è possibile specificare:

      • ufs, indicante un file system UFS

      • vxfs, indicante un file system Veritas

      • swap, indicante un file system di swap. Il punto di attivazione per il file system di swap deve essere un trattino (–).

      • Per i file system costituiti da dispositivi logici (mirror), le operazioni da eseguire sono specificate da diverse parole chiave. Queste parole chiave possono essere usate per creare o eliminare un dispositivo logico o per modificarne la configurazione. Per una descrizione di queste parole chiave, vedere Creare un ambiente di boot con volumi RAID-1 (mirror).

    • nome_zona specifica che il file system separato per la zona non globale deve essere posizionato su una slice separata. Questa opzione viene utilizzata quando il file system separato della zona si trova su un file system condiviso, ad esempio /zona1/root/export. Questa opzione copia il file system separato della zona su una nuova slice e previene la condivisione del file system. Il file system separato era stato creato dal comando zonecfg add fs.

    Nell'esempio seguente, viene creato un nuovo ambiente di boot denominato nuovo_be. Il file system radice (/) viene posizionato in c0t1d0s4. Tutte le zone non globali dell'ambiente di boot corrente vengono copiate nel nuovo ambiente di boot. Alla zona non globale denominata zona1 viene assegnato un punto di attivazione separato su c0t1d0s1.


    Nota –

    Nell'impostazione predefinita, tutti i file system ad eccezione di quelli critici (root (/), /usr e /opt) sono condivisi dal vecchio e dal nuovo ambiente di boot. Il file system /export è un file system condiviso. Se si utilizza l'opzione -m, il file system della zona non globale viene posizionato su una slice separata e non viene condiviso. Questa opzione impedisce la condivisione tra gli ambiente di boot dei file system della zona che erano stati creati con il comando zonecfg add fs. Per maggiori informazioni, vedere zonecfg(1M).



    # lucreate -n nuovo_be -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zona1
    
  6. Aggiornare l'ambiente di boot.

    L'immagine del sistema operativo da utilizzare per l'aggiornamento viene prelevata dalla rete.


    # luupgrade -u -n nome_BE -s percorso_immagine_os
    
    -u

    Aggiorna l'immagine del sistema operativo in un ambiente di boot

    -n nome_BE

    Specifica il nome dell'ambiente di boot da aggiornare

    -s percorso_immagine_os

    Specifica il percorso della directory che contiene l'immagine del sistema operativo.

    In questo esempio, il nuovo ambiente di boot, nuovo_be, viene aggiornato da un'immagine di installazione di rete.


    # luupgrade -n nuovo_be -u -s /net/server/export/Solaris_10/combined.solaris_wos
    
  7. (Opzionale) Verificare che l'ambiente di boot sia avviabile.

    Il comando lustatus indica se la creazione dell'ambiente di boot è terminata e se l'ambiente è avviabile.


    # lustatus
    boot environment   Is        Active  Active     Can         Copy
    Name               Complete  Now     OnReboot   Delete     Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no           -
    nuovo_be            yes       no       no       yes          -
  8. Attivare il nuovo ambiente di boot.


    # luactivate nome_BE
    

    nome_BE specifica il nome dell'ambiente di boot da attivare.


    Nota –

    Sui sistemi x86, il comando luactivate è richiesto quando si avvia l'ambiente di boot per la prima volta. Le successive attivazioni possono essere effettuate selezionando l'ambiente di boot dal menu di GRUB. Per istruzioni dettagliate, vedere x86: Attivazione di un ambiente di boot con il menu di GRUB.


    Perché l'attivazione possa avvenire correttamente, l'ambiente di boot deve soddisfare varie condizioni. Per maggiori informazioni, vedere Attivazione di un ambiente di boot.

  9. Riavviare il sistema.


    # init 6
    

    Avvertenza – Avvertenza –

    Per riavviare il sistema, usare solo i comandi init o shutdown. Non usare i comandi reboot, halt o uadmin, poiché il sistema non cambierebbe l'ambiente di boot. Verrebbe cioè avviato nuovamente l'ambiente di boot che è stato utilizzato più recentemente.


    Gli ambienti di boot sono stati commutati e il nuovo ambiente di boot è ora quello corrente.

  10. (Opzionale) Ripristino con fallback di un ambiente di boot differente.

    Se il nuovo ambiente di boot non è corretto o si desidera passare a un diverso ambiente di boot, vedere il Capitolo 6, Ripristino dei guasti: ripristino dell'ambiente di boot originale (procedure).

Aggiornamento di un sistema con zone non globali installate (esempio)

La procedura seguente fornisce un esempio con istruzioni semplificate per l'aggiornamento con Solaris Live Upgrade.

Per informazioni più dettagliate con tutti i passaggi, vedere Aggiornamento con Solaris Live Upgrade in presenza di zone non globali (attività).

Aggiornamento con Solaris Live Upgrade in presenza di zone non globali

L'esempio seguente fornisce una descrizione abbreviata dei passaggi richiesti per l'aggiornamento di un sistema con zone non globali. In questo esempio, viene creato un nuovo ambiente di boot usando il comando lucreate su un sistema che esegue Solaris 10. Su questo sistema sono installate zone non globali ed è presente una zona non globale con un file system separato su un file system condiviso, zona1/root/export. Il nuovo ambiente di boot viene aggiornato a Solaris 10 8/07 con il comando luupgrade. L'ambiente di boot aggiornato viene attivato con il comando luactivate.


Nota –

Questa procedura presuppone che sia in esecuzione la gestione dei volumi (Volume Manager). Per maggiori informazioni sulla gestione dei supporti rimovibili con Volume Manager, vedere il manuale System Administration Guide: Devices and File Systems.


  1. Installare le patch richieste.

    Verificare di disporre dell'elenco più aggiornato delle patch accedendo al sito http://sunsolve.sun.com. Consultare il documento informativo 72099 sul sito Web di SunSolve. In questo esempio, /net/server/export/patches è il percorso verso le patch.


    # patchadd /net/server/export/patches
    # init 6
    
  2. Rimuovere i pacchetti di Solaris Live Upgrade dall'ambiente di boot corrente.


    # pkgrm SUNWlucfg SUNWluu SUNWlur
    
  3. Inserire il DVD o i CD di Solaris. Quindi installare i pacchetti di Solaris Live Upgrade della versione di destinazione.

    • Per i sistemi SPARC:


      # pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
      
    • Per i sistemi x86:


      # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
      
  4. Creare un ambiente di boot.

    Nell'esempio seguente, viene creato un nuovo ambiente di boot denominato nuovo_be. Il file system radice (/) viene posizionato in c0t1d0s4. Tutte le zone non globali dell'ambiente di boot corrente vengono copiate nel nuovo ambiente di boot. Il file system separato era stato creato dal comando zonecfg add fs per zona1. Questo file system separato /zone/root/export viene posizionato su un file system separato, c0t1d0s1. Questa opzione previene la condivisione del file system separato tra i due ambienti di boot (corrente e nuovo).


    # lucreate -n nuovo_be -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zona1
    
  5. Aggiornare il nuovo ambiente di boot.

    In questo esempio, /net/server/export/Solaris_10/combined.solaris_wos è il percorso dell'immagine di installazione di rete.


    # luupgrade -n nuovo_be -u -s /net/server/export/Solaris_10/combined.solaris_wos
    
  6. (Opzionale) Verificare che l'ambiente di boot sia avviabile.

    Il comando lustatus indica se la creazione dell'ambiente di boot è terminata.


    # lustatus
    boot environment   Is        Active  Active     Can         Copy
    Name               Complete  Now    OnReboot   Delete      Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no           -
    nuovo_be            yes       no       no       yes          -
  7. Attivare il nuovo ambiente di boot.


    # luactivate nuovo_be
    # init 6
    

    L'ambiente di boot nuovo_be ora è attivo.

  8. (Opzionale) Ripristino con fallback di un ambiente di boot differente. Se il nuovo ambiente di boot non è corretto o si desidera passare a un diverso ambiente di boot, vedere il Capitolo 6, Ripristino dei guasti: ripristino dell'ambiente di boot originale (procedure).

Amministrazione degli ambienti di boot che contengono zone non globali

Le sezioni seguenti forniscono informazioni sull'amministrazione degli ambienti di boot che contengono zone non globali.

ProcedureVisualizzare la configurazione dei file system delle zone non globali di un ambiente di boot.

Usare questa procedura per visualizzare un elenco di file system sia per la zona globale che per quelle non globali.

  1. Diventare superutente o assumere un ruolo equivalente.

    I ruoli comportano determinate autorizzazioni e consentono di eseguire comandi che richiedono privilegi. Per maggiori informazioni sui ruoli, vedere Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Visualizzare l'elenco dei file system.


    # lufslist -n nome_BE
    
    nome_BE

    Specifica il nome dell'ambiente di boot di cui si desidera visualizzare i file system.


Esempio 9–1 Elencare i file system con zone non globali

L'esempio seguente visualizza un elenco di file system che includono zone non globali.


# lufslist -n s3
boot environment name: s3
This boot environent is currently active.
This boot environment will be active on next system boot.

Filesystem              fstype    device size Mounted on Mount Options
------------------------------------------------------------------
/dev/dsk/c0t0d0s1         swap     2151776256   -        -
/dev/dsk/c0t0d0s3         ufs     10738040832   /        -
/dev/dsk/c0t0d0s7         ufs     10487955456   /export  -
                zone <zona1> within boot environment <s3>
/dev/dsk/c0t0d0s5         ufs      5116329984   /export  -

ProcedureConfrontare gli ambienti di boot su un sistema con zone non globali.

Il comando lucompare ora genera un confronto tra ambienti di boot che include i contenuti di tutte le zone non globali.

  1. Diventare superutente o assumere un ruolo equivalente.

    I ruoli comportano determinate autorizzazioni e consentono di eseguire comandi che richiedono privilegi. Per maggiori informazioni sui ruoli, vedere Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Confrontare l'ambiente di boot corrente e quello nuovo.


    # /usr/sbin/lucompare -i  file_input (o) -t -o  file_output nome_BE
    
    -i  file_input

    Confronta i file elencati in file_input. I file da confrontare devono essere designati con un percorso assoluto. Se viene specificato il nome di una directory, il confronto viene effettuato in modo ricorsivo sul contenuto della directory. Questa opzione è alternativa a -t.

    -t

    Confronta solo i file non binari. Questa operazione utilizza il comando file(1) su tutti i file per determinare se siano in formato testo. Questa opzione è alternativa a -i.

    -o  file_output

    Ridirige l'output delle differenze verso file_output

    nome_BE

    Specifica il nome dell'ambiente di boot da confrontare con quello attivo.


Esempio 9–2 Confronto tra due ambienti di boot

In questo esempio, l'ambiente di boot corrente (origine) viene confrontato con secondo_disco e i risultati vengono inviati ad un file.


# /usr/sbin/lucompare -i  /etc/lu/compare/ -o /var/tmp/compare.out secondo_disco

Utilizzo del comando lumount su un sistema che contiene zone non globali

Il comando lumount fornisce alle zone non globali l'accesso ai file system corrispondenti presenti negli ambienti di boot inattivi. Quando l'amministratore della zona globale utilizza il comando lumount per attivare un ambiente di boot inattivo, l'ambiente di boot viene attivato anche per le zone non globali.

Nell'esempio seguente, vengono attivati i file system appropriati per l'ambiente di boot nuovo_be su /mnt nella zona globale. Per le zone non globali in esecuzione, attivate o pronte, i file system corrispondenti in nuovo_be vengono resi disponibili anche su /mnt in ciascuna zona.


# lumount -n nuovo_be /mnt

Per maggiori informazioni sull'attivazione, vedere la pagina man lumount(1M).