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

Capitolo 9 Solaris Live Upgrade (esempi)

Questo capitolo contiene alcuni esempi che illustrano la creazione di un ambiente di boot, il suo aggiornamento e la sua attivazione, che consente al nuovo ambiente di boot di diventare il sistema di esecuzione effettivo.


Nota –

Questo capitolo descrive l'utilizzo di Solaris Live Upgrade per i file system UFS. Per informazioni sulle procedure richieste per eseguire la migrazione di un file system UFS a un pool radice ZFS, o per la creazione e l'installazione di un pool radice ZFS, vedere il Capitolo 13Creazione di un ambiente di boot per i pool radice ZFS.


Il capitolo è suddiviso nelle seguenti sezioni:

Esempio di aggiornamento con Solaris Live Upgrade

In questo esempio, viene creato un nuovo ambiente di boot usando il comando lucreate su un sistema che esegue Solaris 9. Il nuovo ambiente di boot viene aggiornato a Solaris 10 5/09 con il comando luupgrade. L'ambiente di boot aggiornato viene attivato con il comando luactivate. Viene inoltre fornito un esempio di ripristino dell'ambiente di boot originale.

Operazioni preliminari all'utilizzo di Solaris Live Upgrade

Prima di eseguire Solaris Live Upgrade per la prima volta, è necessario installare i pacchetti più recenti di Solaris Live Upgrade dal supporto di installazione e installare le patch elencate nel documento informativo 206844 di SunSolve. Consultare il documento informativo 206844 (in precedenza 72099) nel sito Web di SunSolve.

I pacchetti e le patch più recenti garantiscono che tutte le correzioni dei bug e le nuove funzioni vengano installate. Assicurarsi di aver installato tutte le patch relative al sistema in uso prima di creare un nuovo ambiente di boot.

Di seguito sono descritti i passaggi della procedura indicata nel documento informativo 206844 di SunSolve.


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. Acquisire i diritti di superutente o di un ruolo equivalente.

  2. Seguire le istruzioni indicate nel documento informativo 206844, disponibili nel sito Web di SunSolve, per rimuovere e aggiungere i pacchetti di Solaris Live Upgrade.

    1. 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 e l'applicazione di patch 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 nel sistema prima di usare Solaris Live Upgrade, non è possibile eseguire l'aggiornamento o l'applicazione di patch alla versione di destinazione. Il pacchetto SUMWlucfg è stato introdotto a partire dalla versione Solaris 10 8/07. Se si utilizzano i pacchetti di Solaris Live Upgrade di una versione precedente a Solaris 10 8/07, non è necessario rimuovere questo pacchetto.


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

      Per installare i pacchetti è possibile utilizzare il comando liveupgrade20 presente nel DVD o nel CD di installazione oppure il comando pkgadd. Per l'esecuzione del comando liveupgrade20 è necessario il software Java. Se nel sistema non è installato il software Java, è necessario utilizzare il comando pkgadd per installare i pacchetti. Per ulteriori informazioni, vedere il documento informativo di SunSolve.

      • Se si utilizza il DVD del sistema operativo Solaris, accedere alla directory del programma di installazione e avviarlo:

        • Accedere alla directory indicata.


          # cd /cdrom/cdrom0/Solaris_10/Tools/Installers
          

          Nota –

          Per sistemi basati su SPARC, il percorso del programma di installazione è diverso per le versioni precedenti alla versione Solaris 10 10/08:


          # cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers
          

        • Esecuzione del programma di installazione


          # ./liveupgrade20  -noconsole - nodisplay
          

          Con le opzioni -noconsole e -nodisplay non viene visualizzata la CUI (character user interface).


          Nota –

          La CUI di Solaris Live Upgrade non è più supportata.


      • Se si utilizza il CD Solaris Software – 2, è possibile avviare il programma di installazione senza cambiare il percorso.


        % ./installer
        
      • Verificare che i pacchetti siano stati installati correttamente.


        # pkgchk -v SUNWlucfg SUNWlur SUNWluu
        
  3. Installare le patch elencate nel documento informativo 206844.

    1. Se le patch vengono memorizzate sul disco rigido locale creare una directory, ad esempio /var/tmp/patches_lu.

    2. Recuperare l'elenco delle patch dal sito Web di SunSolve.

    3. Accedere alla directory delle patch come indicato nell'esempio seguente.


      # cd /var/tmp/lupatches
      
    4. Installare le patch.


      # patchadd -M  path-to-patchespatch-id  patch-id
      

      path-to-patches indica il percorso per la directory delle patch, ad esempio /var/tmp/lupatches . patch_id indica il numero o i numeri delle patch. Se le patch sono più di una, separare i nomi con uno spazio.


      Nota –

      Le patch devono essere applicate nell'ordine specificato nel documento informativo 206844.


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

      Solo x86: è necessario il riavvio del sistema; in caso contrario non è possibile completare la procedura di aggiornamento con Solaris Live Upgrade.


      # init 6
      

      Sono ora disponibili i pacchetti e le patch necessarie per la creazione corretta di un nuovo ambiente di boot.

Creare un ambiente di boot

L'ambiente di boot di origine viene denominato c0t4d0s0 usando l'opzione -c. L'assegnazione di un nome all'ambiente di boot di origine è richiesta solo quando viene creato il primo ambiente di boot. Per maggiori informazioni sull'indicazione dei nomi con l'opzione -c, vedere la descrizione in “Creare un ambiente di boot per la prima volta”, Punto 2.

Il nome del nuovo ambiente di boot è c0t15d0s0. L'opzione -A crea una descrizione associata al nome dell'ambiente di boot

Il file system radice (/) viene copiato nel nuovo ambiente di boot. Viene anche creata una nuova slice di swap (non viene condivisa la slice di swap dell'ambiente di boot di origine).


# lucreate -A 'BE_description' -c /dev/dsk/c0t4d0s0 -m /:/dev/dsk/c0t15d0s0:ufs\
-m -:/dev/dsk/c0t15d0s1:swap -n /dev/dsk/c0t15d0s0

Aggiornare l'ambiente di boot inattivo

Il nome dell'ambiente di boot inattivo è c0t15d0s0. L'immagine del sistema operativo da utilizzare per l'aggiornamento viene prelevata dalla rete.


# luupgrade -n c0t15d0s0 -u -s /net/ins-svr/export/Solaris_10 \ 
combined.solaris_wos

Controllare che l'ambiente di boot possa essere avviato

Il comando lustatus indica se la creazione dell'ambiente di boot è terminata. Indica inoltre se l'ambiente di boot può essere utilizzato per l'avvio del sistema.


# lustatus
boot environment   Is        Active  Active     Can	    Copy
Name               Complete  Now	 OnReboot   Delete	 Status
------------------------------------------------------------------------
c0t4d0s0           yes       yes      yes      no      -
c0t15d0s0          yes       no       no       yes     -

Attivare l'ambiente di boot inattivo

L'ambiente di boot c0t15d0s0 viene reso avviabile con il comando luactivate. Il sistema viene quindi riavviato e c0t15d0s0 diventa l'ambiente di boot attivo. L'ambiente di boot c0t4d0s0 è ora inattivo.


# luactivate c0t15d0s0
# init 6

(Opzionale) Ripristinare l'ambiente di boot di origine

La seguente procedura di ripristino dipende dallo stato di attivazione del nuovo ambiente di boot:


Esempio 9–1 SPARC: Ripristinare l'ambiente di boot originale nonostante la corretta creazione del nuovo ambiente di boot

In questo esempio, l'ambiente di boot originale c0t4d0s0 viene ripristinato come ambiente di boot attivo nonostante l'attivazione del nuovo ambiente sia andata a buon fine. Il nome del dispositivo è primo_disco.


# /sbin/luactivate first_disk 
# init 6


Esempio 9–2 SPARC: Ripristinare l'ambiente di boot originale in caso di insuccesso nell'attivazione del nuovo ambiente

In questo esempio, l'avvio del nuovo ambiente di boot non è riuscito. È necessario tornare al prompt OK e quindi riavviare l'ambiente di boot originale, c0t4d0s0, in modalità monoutente.


OK boot net -s
# /sbin/luactivate first_disk
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# init 6

L'ambiente di boot originale, c0t4d0s0, diventa l'ambiente attivo.



Esempio 9–3 SPARC: Ripristinare l'ambiente di boot originale usando un DVD, un CD o un'immagine di installazione di rete

In questo esempio, l'avvio del nuovo ambiente di boot non è riuscito. Non è possibile avviare il sistema dall'ambiente di boot originale, perciò occorre usare un supporto o un'immagine di installazione di rete. Il dispositivo è /dev/dsk/c0t4d0s0. L'ambiente di boot originale, c0t4d0s0, diventa l'ambiente attivo.


OK boot net -s
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# umount /mnt 
# init 6


Esempio 9–4 x86: Ripristinare l'ambiente di boot originale usando il menu di GRUB

A partire da Solaris 10 1/06, è possibile ripristinare l'ambiente originale usando il menu di GRUB come descritto nell'esempio seguente.

In questo esempio, il menu di GRUB viene visualizzato correttamente ma il nuovo ambiente di boot non è avviabile. Per abilitare il ripristino, l'ambiente di boot originale viene avviato in modalità monoutente.

  1. Diventare superutente o assumere un ruolo equivalente.

  2. Per visualizzare il menu di GRUB, riavviare il sistema.


    # init 6
    

    Viene visualizzato il menu di GRUB.


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris                                                            |
    |Solaris failsafe                                                   |
    |second_disk                                                        |
    |second_disk failsafe                                               |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  3. Dal menu di GRUB, selezionare l'ambiente di boot originale. L'ambiente di boot deve essere stato creato con il software GRUB. Gli ambienti di boot creati con versioni anteriori a Solaris 10 1/06 non sono ambienti di boot GRUB. Se non si dispone di un ambiente di boot GRUB avviabile, passare all'Esempio 9–5.

  4. Modificare il menu di GRUB digitando: e.

  5. Selezionare kernel /boot/multiboot usando i tasti freccia e digitare e. Viene visualizzato il menu di modifica di GRUB.


    grub edit>kernel /boot/multiboot
  6. Avviare il sistema in modalità monoutente, con l'opzione -s.


    grub edit>kernel /boot/multiboot -s
    
  7. Avviare e attivare l'ambiente di boot. Quindi renderlo attivo.


# b
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0
(yes or no)? yes
# umount /mnt
# init 6


Esempio 9–5 x86: Ripristinare l'ambiente di boot originale con il menu di GRUB usando il DVD o i CD

A partire da Solaris 10 1/06, è possibile ripristinare l'ambiente originale usando il DVD o i CD, come descritto nell'esempio seguente.

In questo esempio, l'avvio del nuovo ambiente di boot non è riuscito. Inoltre, il menu di GRUB non viene visualizzato. Per abilitare il ripristino, l'ambiente di boot originale viene avviato in modalità monoutente.

  1. Inserire il DVD Solaris Operating System for x86 Platforms o il CD Solaris Software for x86 Platforms - 1.

  2. Diventare superutente o assumere un ruolo equivalente.

  3. Avviare il sistema dal DVD o da un CD.


    # init 6
    

    Viene visualizzato il menu di GRUB.


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris 10 5/09                                                    |
    |Solaris 10 5/09 Serial Console ttya                                |
    |Solaris 10 5/09 Serial Console ttyb (for lx50, v60x and v65x       |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  4. Attendere che venga avviata l'opzione predefinita o scegliere una delle opzioni visualizzate.

    Viene visualizzata la schermata di installazione.


    +-------------------------------------------------------------------+
    
    |Select the type of installation you want to perform:                |
    |                                                                    |
    |         1 Solaris Interactive                                      |
    |         2 Custom JumpStart                                         |
    |         3 Solaris Interactive Text (Desktop session)               |
    |         4 Solaris Interactive Text (Console session)               |
    |         5 Apply driver updates                                     |
    |         6 Single user shell                                        |
    |                                                                    |
    |        Enter the number of your choice followed by the <ENTER> key.|
    |        Alternatively, enter custom boot arguments directly.        |
    |
    |         If you wait 30 seconds without typing anything,            |
    |         an interactive installation will be started.               |
    +----------------------------------------------------------------- --+
  5. Scegliere l'opzione “Single user shell”.

    Viene visualizzato il messaggio seguente.


    Do you wish to automatically update the boot archive? y /n
  6. Digitare: n


    Starting shell...
    #

    Il sistema si trova ora nella modalità monoutente.

  7. Attivare l'ambiente di boot. Quindi renderlo attivo e riavviare il sistema.


    # fsck /dev/dsk/c0t4d0s0
    # mount /dev/dsk/c0t4d0s0 /mnt 
    # /mnt/sbin/luactivate
    Do you want to fallback to activate boot environment c0t4d0s0
    (yes or no)? yes
    # umount /mnt
    # init 6
    

Esempio di scollegamento e aggiornamento di un lato di un volume RAID-1 (mirror) (continua)

Questo esempio spiega come eseguire le seguenti attività:

La Figura 9–1 mostra l'ambiente di boot in uso, che contiene tre dischi fisici.

Figura 9–1 Scollegamento e aggiornamento di un lato di un volume RAID-1 (mirror) (continua)

Il contesto descrive l'illustrazione.

  1. Creare un nuovo ambiente di boot, secondo_disco, contenente un mirror.

    Il comando seguente esegue queste operazioni.

    • lucreate configura un file system UFS per il punto di attivazione del file system radice (/). Viene creato il mirror d10. Questo mirror contiene il file system radice (/) dell'ambiente di boot in uso, che viene copiato sul mirror d10. Tutti i dati contenuti nel mirror d10 vengono sovrascritti.

    • Le due slice c0t1d0s0 e c0t2d0s0 vengono designate per essere usate come submirror. Questi due submirror vengono collegati al mirror d10.


    # lucreate -c first_disk -n second_disk \ 
    -m /:/dev/md/dsk/d10:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:attach \ 
    -m /:/dev/dsk/c0t2d0s0:attach
    
  2. Attivare l'ambiente di boot secondo_disco.


    # /sbin/luactivate second_disk
    # init 6
    
  3. Creare un altro ambiente di boot di nome terzo_disco.

    Il comando seguente esegue queste operazioni.

    • lucreate configura un file system UFS per il punto di attivazione del file system radice (/). Viene creato il mirror d20.

    • La slice c0t1d0s0 viene rimossa dal mirror in uso e viene aggiunta al mirror d20. Il contenuto del submirror, il file system radice ( /), viene preservato senza la creazione di una copia.


    # lucreate -n third_disk \ 
    -m /:/dev/md/dsk/d20:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:detach,attach,preserve
    
  4. Aggiornare il nuovo ambiente di boot, terzo_disco


    # luupgrade -u -n third_disk \ 
    -s /net/installmachine/export/Solaris_10/OS_image
    
  5. Aggiungere una patch all'ambiente di boot aggiornato.


    # luupgrade -t n third_disk -s /net/patches 222222-01
    
  6. Attivare l'ambiente di boot terzo_disco per renderlo operativo sul sistema.


    # /sbin/luactivate third_disk
    # init 6
    
  7. Eliminare l'ambiente di boot secondo_disco.


    # ludelete second_disk
    
  8. I comandi seguenti eseguono queste operazioni.

    • Cancellare il mirror d10.

    • Individuare il numero della concatenazione di c0t2d0s0.

    • Collegare la concatenazione restituita dal comando metastat al mirror d20. Il comando metattach sincronizza la concatenazione così collegata alla concatenazione del mirror d20. Tutti i dati contenuti nella concatenazione vengono sovrascritti.


    # metaclear d10 
    # metastat -p | grep c0t2d0s0
    dnum 1 1 c0t2d0s0
    # metattach d20 dnum
    
    num

    È il numero restituito dal comando metastat per la concatenazione

Il nuovo ambiente di boot, terzo_disco, è stato aggiornato ed è il sistema attualmente in uso. terzo_disco contiene il file system radice (/) in mirroring.

La Figura 9–2 mostra il processo di scollegamento e aggiornamento del mirror eseguito con i comandi dell'esempio precedente.

Figura 9–2 Scollegamento e aggiornamento di un lato di un volume RAID-1 (mirror) (continua)

Il contesto descrive l'illustrazione.

Esempio di migrazione da un volume esistente a un volume RAID-1 di Solaris Volume Manager

Solaris Live Upgrade consente di creare un nuovo ambiente di boot sui volumi RAID–1 (mirror). I file system dell'ambiente di boot in uso possono essere:

Tuttavia, la destinazione del nuovo ambiente di boot deve essere un volume RAID-1 di Solaris Volume Manager. Ad esempio, la slice designata per la copia del file system radice (/) deve essere /dev/vx/dsk/rootvol. rootvol è il volume che contiene il file system radice (/).

In questo esempio, l'ambiente di boot in uso contiene il file system radice (/) su un volume che non è un volume di Solaris Volume Manager. Il nuovo ambiente di boot viene creato con il file system radice (/) sul volume RAID-1 di Solaris Volume Manager c0t2d0s0. Il comando lucreate migra il volume attuale sul volume di Solaris Volume Manager. Il nome del nuovo ambiente di boot è svm_be. Il comando lustatus mostra se il nuovo ambiente di boot è pronto per essere attivato e può essere riavviato. Il nuovo ambiente di boot viene attivato e diventa l'ambiente di boot in uso.


# lucreate -n svm_be -m /:/dev/md/dsk/d1:mirror,ufs \  
-m /:/dev/dsk/c0t2d0s0:attach
# lustatus
# luactivate svm_be
# lustatus
# init 6

Esempio di creazione di un ambiente di boot vuoto e di installazione di un archivio Solaris Flash

Le procedure seguenti illustrano la procedura in tre fasi:

Il comando lucreate crea un ambiente di boot basato sui file system dell'ambiente di boot attivo. Se si utilizza lucreate con l'opzione -s, il comando crea velocemente un ambiente di boot vuoto. Le slice vengono riservate per i file system specificati, ma i file system non vi vengono copiati. All'ambiente di boot viene assegnato un nome, ma l'ambiente non viene effettivamente creato finché non vi viene installato un archivio Solaris Flash. Quando nell'ambiente di boot vuoto viene installato un archivio, i file system vengono installati nelle slice loro riservate. L'ambiente di boot viene quindi attivato.

Creare un ambiente di boot vuoto

Nella prima fase, viene creato un ambiente di boot vuoto. Le slice vengono riservate ai file system specificati ma non ha luogo nessuna copia di file system dall'ambiente di boot in uso. Il nuovo ambiente di boot è denominato secondo_disco.


# lucreate  -s - -m /:/dev/dsk/c0t1d0s0:ufs \  
-n second_disk

L'ambiente di boot è pronto per essere popolato con un archivio Solaris Flash.

La Figura 9–3 illustra la creazione di un ambiente di boot vuoto.

Figura 9–3 Creazione di un ambiente di boot vuoto

Il contesto descrive l'illustrazione.

Installare un archivio Solaris Flash nel nuovo ambiente di boot

In questa seconda fase, l'archivio viene installato nell'ambiente di boot secondo_disco creato nell'esempio precedente. L'archivio si trova sul sistema locale. Le versioni del sistema operativo da specificare con le opzioni -s e -a sono entrambe Solaris 10 5/09. L'archivio viene denominato Solaris_10.flar .


# luupgrade -f -n second_disk \
-s /net/installmachine/export/Solaris_10/OS_image \ 
-a /net/server/archive/10.flar 

L'ambiente di boot è pronto per essere attivato.

Attivare il nuovo ambiente di boot

In quest'ultima fase, l'ambiente di boot secondo_disco viene reso avviabile con il comando luactivate. Il sistema viene quindi riavviato e secondo_disco diventa l'ambiente di boot attivo.


# luactivate second_disk
# init 6