Transizione da Oracle® Solaris 10 a Oracle Solaris 11.2

Uscire dalla vista stampa

Aggiornato: Dicembre 2014
 
 

Boot di un sistema per il recupero

Se non è possibile eseguire il boot di un sistema Oracle Solaris 11, potrebbe essere necessario eseguire un boot di recupero. È possibile eseguire il boot dai supporti di installazione o da un ambiente di boot di backup.

Per eseguire il recupero del sistema completo (bare metal), vedere How to Create a Recovery Archive in Using Unified Archives for System Recovery and Cloning in Oracle Solaris 11.2 .

    Gli scenari di errore e recupero indicati di seguito sono simili a quelli delle release precedenti.

  • È possibile utilizzare il comando boot –a per evitare un problema nel file /etc/system. Quando viene richiesto, utilizzare una sintassi simile alla seguente:

    Name of system file [/etc/system]:  /dev/null

    Premere Invio agli altri prompt, come necessario.

  • Durante la maggior parte delle operazioni di pkg update viene creato automaticamente un ambiente di boot di backup. Questa funzione consente di eseguire il boot a un ambiente di boot precedente se si verificano errori durante il processo di aggiornamento dell'immagine. Prima di apportare una modifica alla configurazione del sistema, potrebbe essere opportuno creare un ambiente di boot di backup.

    # beadm create solaris-backup
    # beadm list
    BE             Active Mountpoint Space  Policy Created
    --             ------ ---------- -----  ------ -------
    solaris        R      -          4.01G  static 2013-02-08 16:53
    solaris-backup N      /          47.95M static 2013-02-11 10:48 

    Per informazioni su come eseguire il boot da un ambiente di boot di backup, vedere Come eseguire il boot da un ambiente di boot di backup a scopo di recupero.

  • Eseguire il boot dal supporto di installazione o da un server di installazione in rete per recuperare un problema che sta impedendo il boot del sistema o per recuperare la perdita di una password root.


    Nota -  Nei sistemi basati su SPARC il comando boot net:dhcp sostituisce il comando boot net utilizzato nelle release di Oracle Solaris 10.
  • Eseguire il boot di un sistema in modalità utente singolo per risolvere un problema minore, come la correzione dell'opzione per la shell root nel file /etc/passwd o la modifica di un server NIS.

  • La risoluzione di un problema di configurazione del boot in genere implica l'importazione del pool root, l'attivazione dell'ambiente di boot e la risoluzione del problema, ad esempio tramite la reinstallazione di un caricatore di boot x86 danneggiato.

Come eseguire il boot da un ambiente di boot di backup a scopo di recupero

Il boot dell'archivio di emergenza non è più supportato nelle piattaforme SPARC e x86. Quando possibile, utilizzare gli ambienti di boot di backup aggiornati a scopo di recupero. Gli ambienti di boot sono istanze avviabili dell'immagine di Oracle Solaris e di qualsiasi altro pacchetto software applicativo installato in tale immagine. Più ambienti di boot riducono i rischi durante l'aggiornamento del software in quanto salvaguardano l'ambiente di boot originale.

È possibile creare un nuovo ambiente di boot in base a un ambiente di boot attivo o inattivo. In alternativa, è possibile creare un nuovo ambiente di boot in base a un clone dell'ambiente di boot originale. Un clone copia il set di dati root e tutti gli elementi disposti gerarchicamente sotto il set di dati root principale dell'ambiente di boot originale. Vedere Creating and Administering Oracle Solaris 11.2 Boot Environments .

Se il sistema non esegue il boot dall'ambiente di boot attivo, selezionare un ambiente di boot di backup da cui eseguire il boot.

  • Eseguire il boot da un ambiente di boot di backup come indicato di seguito.
    • SPARC: eseguire il boot del sistema in modo da selezionare un ambiente di boot alternativo o di backup.
      1. Eseguire il boot con il comando boot –L.
        ok boot -L
      2. Selezionare un ambiente di boot alternativo o di backup.
        Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a
        File and args: -L
        1 Oracle Solaris 11.2 SPARC
        2 solaris-backup
        Select environment to boot: [ 1 - 2 ]: 2

        Nell'output precedente l'ambiente di boot attivo è Oracle Solaris 11.2 SPARC, che probabilmente non corrisponde al nome dell'ambiente di boot effettivo, ma rappresenta l'ambiente di boot corrente.

      3. Eseguire il boot dell'ambiente di boot di backup.

        Dopo avere selezionato l'ambiente di boot da utilizzare, identificare il percorso di boot su schermo e il tipo di informazioni al prompt.

        To boot the selected entry, invoke:
        boot [<root-device>] -Z rpool/ROOT/solaris-backup
        
        Program terminated
        {0} ok boot -Z rpool/ROOT/solaris-backup

        Se non si riesce a eseguire il boot del sistema, esaminare le operazioni aggiuntive di recupero del boot nella sezione Come eseguire il boot da un ambiente di boot di backup a scopo di recupero.

    • x86: eseguire il boot del sistema per identificare l'ambiente di boot alternativo o di backup dal menu GRUB.
      1. Quando viene visualizzato il menu GRUB, identificare l'ambiente di boot di backup.
      2. Selezionare l'ambiente di boot di backup, quindi premere Invio per eseguire il boot di tale opzione.

        Se non si riesce a eseguire il boot del sistema dall'ambiente di boot di backup, esaminare le operazioni aggiuntive di recupero del boot nella sezione Come eseguire il boot da un ambiente di boot di backup a scopo di recupero.

Come eseguire il boot da un ambiente di boot di backup a scopo di recupero

  1. Selezionare il metodo di boot appropriato.
    • x86: Live Media: eseguire il boot dal supporto di installazione e utilizzare un terminal GNOME per la procedura di recupero.

    • SPARC: installazione in modalità testo: eseguire il boot dal supporto di installazione o dalla rete e selezionare l'opzione 3 Shell dalla schermata di installazione in modalità testo.

    • x86: installazione in modalità testo: dal menu GRUB selezionare l'opzione di boot Text Installer and command line, quindi selezionare l'opzione 3 Shell dalla schermata di installazione in modalità testo.

    • SPARC: installazione automatica: utilizzare il comando riportato di seguito per eseguire il boot direttamente da un menu di installazione che consente di uscire in una shell.

      ok boot net:dhcp
    • x86: installazione automatica: l'esecuzione del boot da un server di installazione sulla rete richiede un boot PXE. Selezionare l'opzione Text Installer and command line dal menu GRUB. Selezionare quindi l'opzione 3 Shell dalla schermata di installazione in modalità testo.

    Dopo avere eseguito il boot del sistema, ad esempio, selezionare l'opzione 3 Shell.

    1  Install Oracle Solaris
    2  Install Additional Drivers
    3  Shell
    4  Terminal type (currently xterm)
    5  Reboot
    
    Please enter a number [1]: 3
    To return to the main menu, exit the shell
    #
  2. Selezionare uno dei seguenti problemi di recupero dal boot:
    • Risolvere una shell root errata eseguendo il boot del sistema in modalità utente singolo e correggendo l'opzione della shell nel file /etc/passwd.

      In un sistema basato su x86 modificare l'opzione di boot selezionata nel menu GRUB, quindi aggiungere l'argomento kernel –s alla fine della riga $kernel.

      In un sistema basato su SPARC, arrestare il sistema ed eseguire il boot in modalità utente singolo. Dopo avere eseguito il login come utente root, modificare il file /etc/passwd e correggere l'opzione della shell root.

      # init 0
      ok boot -s
      Boot device: /pci@7c0/pci@0/pci@1/pci@0,2/LSILogic,sas@2/disk@0,0:a ...
      SunOS Release 5.11 Version 11.2 64-bit
      Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
      Booting to milestone "milestone/single-user:default".
      Hostname: systema.domain
      Requesting System Maintenance Mode
      SINGLE USER MODE
      
      Enter user name for system maintenance (control-d to bypass): root
      Enter root password (control-d to bypass): xxxxxxx
      single-user privilege assigned to root on /dev/console.
      Entering System Maintenance Mode
      
      Aug  3 15:46:21 su: 'su root' succeeded for root on /dev/console
      Oracle Corporation      SunOS 5.11      11.2    July 2013
      su: No shell /usr/bin/mybash.  Trying fallback shell /sbin/sh.
      root@systema.domain:~# TERM =vt100; export TERM
      root@systema.domain:~# vi /etc/passwd
      root@systema.domian:~# <Press control-d>
      logout
      svc.startd: Returning to milestone all.
    • Risolvere un problema di caricatore di boot danneggiato.

      In primo luogo, eseguire il boot dal supporto o dalla rete utilizzando uno dei metodi di boot elencati al passaggio 1. Importare quindi il pool root.

      # zpool import -f rpool

      Nota -  Non utilizzare l'opzione –f a meno che non si sia certi di voler sovrascrivere il boot loader con la versione disponibile sul supporto. Vedere Installing GRUB 2 by Using the bootadm install-bootloader Command in Booting and Shutting Down Oracle Solaris 11.2 Systems .

      Reinstallare quindi il caricatore di boot come indicato di seguito.

      # bootadm install-bootloader -f  -P rpool

      dove–f forza l'installazione del caricatore di boot e aggira eventuali controlli correlati al mancato downgrade della versione del caricatore di boot nel sistema. L'opzione –P specifica il pool root.

      Uscire ed eseguire il reboot del sistema.

      # exit
      1  Install Oracle Solaris
      2  Install Additional Drivers
      3  Shell
      4  Terminal type (currently sun-color)
      5  Reboot
      
      Please enter a number [1]: 5

      Verificare che il boot del sistema venga eseguito correttamente.

    • Risolvere una password root sconosciuta che impedisce di eseguire il login al sistema.

      In primo luogo, è necessario eseguire il boot dal supporto o dalla rete utilizzando uno dei metodi di boot elencati al passaggio 1. Importare quindi il pool root (rpool) e attivare l'ambiente di boot per rimuovere l'opzione della password root. Questo processo è identico sulle piattaforme SPARC e x86.

      # zpool import -f rpool
      # beadm list
      be_find_current_be: failed to find current BE name
      be_find_current_be: failed to find current BE name
      BE                 Active Mountpoint Space  Policy Created
      --                 ------ ---------- -----  ------ -------
      solaris            -      -          11.45M static 2011-10-22 00:30
      solaris-2          R      -          12.69G static 2011-10-21 21:04
      # mkdir /a
      # beadm mount solaris-2 /a
      # TERM=vt100
      # export TERM
      # cd /a/etc
      # vi shadow
      <Carefully remove the unknown password>
      # cd /
      # beadm umount solaris-2
      # halt
  3. Per impostare la password root, eseguire il boot in modalità utente singolo e impostare la password.

    Questo passaggio si basa sul presupposto che al passaggio precedente sia stata rimossa una password root sconosciuta.

    • In un sistema x86 modificare l'opzione di boot selezionata nel menu GRUB, quindi aggiungere l'opzione –s alla riga $kernel.
    • In un sistema basato su SPARC, eseguire il boot del sistema in modalità utente singolo, eseguire il login come root e impostare la password root. Ad esempio:
      ok boot -s
      
      Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s
      SunOS Release 5.11 Version 11.2 64-bit
      Copyright (c) 1983, 2012, Oracle and/or its affiliates. All rights
      reserved.
      Booting to milestone "milestone/single-user:default".
      Hostname: systema.domain
      Requesting System Maintenance Mode
      SINGLE USER MODE
      
      Enter user name for system maintenance (control-d to bypass): root
      Enter root password (control-d to bypass): <Press return>
      single-user privilege assigned to root on /dev/console.
      Entering System Maintenance Mode
      .
      .
      .
      root@sysadma.domain:~# passwd -r files root
      New Password: xxxxxx
      Re-enter new Password: xxxxxx
      passwd: password successfully changed for root
      root@systema.central:~# <Press control-d>
      logout
      svc.startd: Returning to milestone all.