Gestione degli ambienti di avvio con Oracle Solaris 11 Express

Capitolo 2 Utilizzo dell'utility beadm (procedure)

In OpenSolaris è possibile creare e gestire istantanee e cloni degli ambienti di avvio tramite l'utility beadm.

Tenere in considerazione le seguenti distinzioni relative all'amministrazione degli ambienti di avvio:


Nota –

Per utilizzare l'utility beadm, è necessario disporre dei diritti di utente root nel sistema.


Per istruzioni dettagliate sull'utility beadm, vedere la pagina man beadm(1M). Vedere anche il Capitolo 4Appendice: riferimenti su beadm.

Elenco degli ambienti di avvio e delle istantanee esistenti

Tutti gli ambienti di avvio, le istantanee e i set di dati creati tramite il comando beadm possono essere visualizzati con il comando secondario beadm list.

È possibile creare istantanee e ambienti di avvio tramite il comando beadm o con altre utility. Ad esempio, se per l'installazione o l'aggiornamento di pacchetti viene utilizzato il comando pkg, è possibile che venga automaticamente creato un clone dell'ambiente di avvio. Nell'output del comando beadm list vengono visualizzati anche gli ambienti di avvio creati mediante il comando pkg.

ProcedureVisualizzare informazioni su ambienti di avvio, istantanee e set di dati

  1. Scegliere le informazioni che si desidera visualizzare, come descritto di seguito.

    • Scegliere un'opzione per il comando beadm list dall'elenco seguente:

      • -a: visualizza un elenco completo delle informazioni disponibili sull'ambiente di avvio. Questa opzione include le istantanee e i set di dati subordinati.

      • -d: visualizza un elenco di informazioni sui set di dati di un ambiente di avvio.

      • -s: visualizza un elenco di informazioni sulle istantanee di un ambiente di avvio.

      • -H: omette le informazioni di intestazione dalla visualizzazione. Con questa opzione si ottiene una visualizzazione che può essere analizzata più facilmente da uno script o un programma.

    • È inoltre possibile scegliere se specificare il nome dell'ambiente di avvio nel comando beadm list.

      Per impostazione predefinita, se non si specifica il nome di un ambiente di avvio nel comando, i risultati includono tutti gli ambienti di avvio.

      Se si indica il nome di un ambiente di avvio nel comando beadm list, i risultati includono solo le informazioni relative all'ambiente di avvio specificato.

  2. Digitare il comando beadm list con le opzioni desiderate.

    Ad esempio, includere l'opzione -a e specificare l'ambiente BE1 come indicato di seguito:


    $ beadm list -a BE1
    
  3. Controllare le informazioni visualizzate sugli ambienti di avvio disponibili.


Esempio 2–1 Visualizzazione delle specifiche di un ambiente di avvio

Nell'esempio seguente è inclusa l'opzione -a ed è specificato l'ambiente BE2:


$ beadm list -a BE2

Esaminare i risultati visualizzati. L'ambiente BE2 sarà attivo al riavvio, come indicato dalla lettera R nella colonna Active.


BE/Dataset             Active Mountpoint Space  Policy Created         
----------             ------ ---------- -----  ------ -------         
BE2 rpool/ROOT/BE2     R      /mnt       89.67M static 2008-09-17 20:17
    rpool/ROOT/BE2/var -      /mnt/var   0      static 2008-09-17 20:17

In BE2 sono inclusi due set di dati: rpool/ROOT/BE2 e rpool/ROOT/BE2/var. I valori della colonna Active sono i seguenti:



Esempio 2–2 Visualizzazione delle specifiche delle istantanee

Nell'esempio seguente viene inclusa l'opzione -s, che consente di visualizzare informazioni sulle istantanee presenti nell'immagine corrente. Lo stato di tali istantanee è indicato dallo stesso elenco visualizzato tramite il comando zfs(1M).


$ beadm list -s test-2

Esaminare i risultati visualizzati.


BE/Snapshot 	Space Policy Created
----------- ----- ------ ------- 
test-2
test-2@2010-04-12-22:29:27 264.02M static 2010-04-12 16:29
test-2@2010-06-02-20:28:51 32.50M static 2010-06-02 14:28
test-2@2010-06-03-16:51:01 16.66M static 2010-06-03 10:51
test-2@2010-07-13-22:01:56 25.93M static 2010-07-13 16:01
test-2@2010-07-21-17:15:15 26.00M static 2010-07-21 11:15
test-2@2010-07-25-19:07:03 13.75M static 2010-07-25 13:07
test-2@2010-07-25-20:33:41 12.32M static 2010-07-25 14:33
test-2@2010-07-25-20:41:23 30.60M static 2010-07-25 14:41
test-2@2010-08-06-15:53:15 8.92M static 2010-08-06 09:53
test-2@2010-08-06-16:00:37 8.92M static 2010-08-06 10:00
test-2@2010-08-09-16:06:11 193.72M static 2010-08-09 10:06
test-2@2010-08-09-20:28:59 102.69M static 2010-08-09 14:28
test-2@install 205.10M static 2010-03-16 19:04

Nei risultati di esempio, ogni titolo di istantanea include un'indicazione di data e ora, corrispondente al momento in cui è stata creata l'istantanea.


Creazione di un ambiente di avvio

Per creare una copia di backup di un ambiente di avvio esistente, ad esempio prima di apportarvi una modifica, è possibile usare il comando beadm per creare e attivare con mount un nuovo ambiente di avvio che sia un clone di quello attivo. Tale clone è inattivo e viene visualizzato come alternativa nel menu di GRUB dei sistemi x86 o nel menu di avvio dei sistemi SPARC al riavvio. Il menu di avvio SPARC si trova in /rpool/boot/menu.lst


Nota –

Durante il processo di creazione di un nuovo ambiente di avvio, viene realizzata automaticamente un'istantanea dell'ambiente di avvio originale, quindi viene creato un nuovo clone ricavato da tale istantanea. La nuova istantanea e il nuovo clone verranno conservati nel sistema.


ProcedureCreare un ambiente di avvio

  1. Nella riga di comando, digitare quanto segue:


    $ beadm create beName
    

    beName è una variabile per il nome del nuovo ambiente di avvio. Questo nuovo ambiente di avvio è inattivo.


    Nota –

    Il comando beadm create non crea un ambiente di avvio parziale; crea un ambiente di avvio completo oppure genera un errore.


  2. (Opzionale) È possibile utilizzare il comando beadm mount per attivare con mount il nuovo ambiente di avvio come indicato di seguito:


    $ beadm mount beName mountpoint
    

    Nota –

    Se la directory per il punto di attivazione non esiste, l'utility beadm la crea, quindi attiva con mount l'ambiente di avvio in tale directory.

    Se l'ambiente di avvio è già attivato con mount, il comando beadm mount genera un errore e non riattiva con mount l'ambiente di avvio nella nuova posizione specificata.


    L'ambiente di avvio viene attivato con mount, ma resta inattivo. Gli ambienti di avvio attivati con mount ma inattivi possono essere aggiornati.


    Nota –

    Disattivare con mount l'ambiente di avvio prima di riavviare.


  3. (Opzionale) Se si desidera avviare il nuovo ambiente di avvio, utilizzare il seguente comando per attivarlo:


    $ beadm activate beName
    

    beName è una variabile che indica il nome dell'ambiente di avvio da attivare.

    Al riavvio, l'ambiente di avvio nuovamente attivo viene visualizzato come selezione predefinita nel menu di GRUB dei sistemi x86 o nel menu di avvio dei sistemi SPARC.


    Nota –

    Nel menu di GRUB o di avvio, per impostazione predefinita viene sempre visualizzato l'ambiente di avvio attivato più di recente.



Esempio 2–3 Creazione di un nuovo ambiente di avvio clonato e con set di dati (BE2)

L'esempio seguente illustra i set di dati presenti in un ambiente di avvio appena creato.

Digitare il comando seguente.


$ beadm create BE2

L'ambiente di avvio originale in questo esempio è BE1. Il nuovo ambiente di avvio, BE2, contiene alcuni set di dati separati clonati da BE1. Se BE1 contiene set di dati separati anche per i file system tradizionali, come /var o /opt, anche questi set di dati vengono clonati.


rpool/ROOT/BE1
rpool/ROOT/BE1/usr
rpool/ROOT/BE1/var
rpool/ROOT/BE1/opt

rpool/ROOT/BE2
rpool/ROOT/BE2/usr
rpool/ROOT/BE2/var
rpool/ROOT/BE2/opt

Nell'esempio, rpool è il nome del pool di archiviazione. Il pool è già presente nel sistema, precedentemente impostato con l'installazione iniziale o con l'aggiornamento. ROOT è un set di dati speciale creato precedentemente con l'installazione iniziale o con l'aggiornamento. L'utilizzo di ROOT è riservato esclusivamente alle radici degli ambienti di avvio.



Esempio 2–4 Creazione di un nuovo ambiente di avvio con set di dati condivisi

Nell'esempio seguente è illustrato un ambiente di avvio appena creato contenente set di dati condivisi.

I set di dati condivisi sono directory definite dall'utente, ad esempio /export, che presentano lo stesso punto di attivazione nell'ambiente di avvio attivo e in quello inattivo. I set di dati condivisi si trovano al di fuori dell'area del set di dati radice di ogni ambiente di avvio.

Digitare il comando seguente.


$ beadm create BE2

I set di dati condivisi rpool/export e rpool/export/home non vengono clonati insieme all'ambiente di avvio. Tali set di dati si trovano infatti in posizioni esterne al set di dati rpool/ROOT/<BE> e vengono referenziati dall'ambiente di avvio clonato nelle rispettive posizioni originali.

L'ambiente di avvio originale, BE1, e i set di dati sono i seguenti:


rpool/ROOT/BE1
rpool/ROOT/BE1/usr
rpool/ROOT/BE1/var
rpool/ROOT/BE1/opt
rpool/export
rpool/export/home

L'ambiente di avvio clonato, BE2, contiene un nuovo set di dati radice, ma i set di dati condivisi originali, rpool/export e rpool/export/home, non vengono modificati.


rpool/ROOT/BE2
rpool/ROOT/BE2/usr
rpool/ROOT/BE2/var
rpool/ROOT/BE2/opt
rpool/export
rpool/export/home

ProcedureCreare un ambiente di avvio da un ambiente di avvio inattivo

Per impostazione predefinita, viene creato un nuovo ambiente di avvio dall'ambiente di avvio attivo. È tuttavia possibile utilizzare il comando beadm create per creare un nuovo ambiente di avvio basato su un ambiente di avvio inattivo già esistente.

  1. Assumere il ruolo di superutente o un ruolo equivalente.

  2. Per creare un nuovo ambiente di avvio inattivo da un ambiente di avvio inattivo esistente, digitare il seguente comando:


    $ beadm create -e non-activeBeName beName
    

    non-activeBeName è una variabile per l'ambiente di avvio inattivo esistente, clonato da questo comando.

    beName è la variabile per il nome del nuovo ambiente di avvio.

    Per impostazione predefinita, il nuovo ambiente di avvio è inattivo.

Creazione di un'istantanea di un ambiente di avvio

È possibile creare manualmente un'istantanea di un ambiente di avvio esistente da usare per riferimento. Tale istantanea è un'immagine di sola lettura di un set di dati o di un ambiente di avvio in un momento specifico. È possibile assegnare un nome di propria scelta all'istantanea, che indichi quando è stata creata o i dati che contiene.

ProcedureCreare un'istantanea di un ambiente di avvio

  1. Utilizzare il seguente comando per creare un'istantanea.


    $ beadm create BEname@snapshotdescription
    

    Sostituire la variabile beName@snapshotdescription con il nome appropriato da assegnare all'istantanea. Il nome personalizzato deve essere espresso nel formato nomeambiente@descrizioneistantanea, in cui nomeambiente rappresenta il nome di un ambiente di avvio esistente da cui si desidera creare un'istantanea. Digitare una descrizione istantanea personalizzata in cui sia indicato lo scopo o la data dell'istantanea.

    Di seguito sono riportati alcuni esempi di nomi di istantanee:

    • BE1@0312200.12:15pm

    • BE2@backup

    • BE1@13marzo2008


    Nota –

    Salvo il caso in cui si utilizzi il comando beadm create per assegnare un titolo personalizzato a un'istantanea, i titoli includono automaticamente un'indicazione di data e ora, corrispondente al momento in cui è stata creata l'istantanea.


Utilizzo di un'istantanea esistente

L'istantanea di un ambiente di avvio non è avviabile. Tuttavia, è possibile creare un nuovo ambiente di avvio da un'istantanea esistente. È quindi possibile attivare e avviare il nuovo ambiente di avvio.

ProcedureCreare un ambiente di avvio da un'istantanea esistente

  1. Utilizzare il seguente comando per creare un nuovo ambiente di avvio da un'istantanea.


    $ beadm create -e BEname@snapshotdescription beName
    

    Sostituire la variabile beName@snapshotdescription con il nome di un'istantanea esistente. Come descritto nell'operazione precedente, i nomi delle istantanee devono essere espressi nel formato nomeambiente@descrizioneistantanea, in cui nomeambiente rappresenta il nome di un ambiente di avvio esistente e descrizioneistantanea la descrizione di un'istantanea specifica creata da tale ambiente.

    Sostituire la variabile BEname con un nome personalizzato per il nuovo ambiente di avvio.

    Vedere l'esempio seguente.


    $ beadm create -e BE1@now BE2
    

    Questo comando consente di creare un nuovo ambiente di avvio, denominato BE2, dall'istantanea esistente denominata BE1@now. La procedura seguente consente di attivare questo ambiente di avvio.

Modifica dell'ambiente di avvio predefinito

È possibile impostare un ambiente di avvio inattivo come ambiente di avvio attivo. Può essere attivo solo un ambiente di avvio per volta. L'ambiente di avvio che viene reso attivo, diventa l'ambiente predefinito al riavvio.

ProcedureAttivare un ambiente di avvio esistente

  1. Utilizzare il seguente comando per attivare un ambiente di avvio inattivo esistente:


    $ beadm activate beName
    

    beName è una variabile che indica il nome dell'ambiente di avvio da attivare.

    Considerare le seguenti specifiche.

    • beadm activate nomeambiente consente di attivare un ambiente di avvio impostando la proprietà del pool avviabile bootfs sul valore del set di dati ROOT dell'ambiente di avvio che viene attivato.

    • beadm activate imposta come ambiente predefinito nel file menu.lst l'ambiente di avvio appena attivato.


      Nota –

      Quando viene creato un ambiente di avvio, nel menu di GRUB dei sistemi x86 o nel menu di avvio dei sistemi SPARC viene creata una voce per tale ambiente, sia esso attivo o inattivo. L'ambiente di avvio predefinito è l'ultimo ambiente di avvio che è stato attivato.


  2. Riavviare il sistema.

    L'ambiente di avvio appena attivato è ora l'opzione predefinita nel menu di GRUB dei sistemi x86 e nel menu di avvio dei sistemi SPARC.


    Nota –

    Se non è possibile avviare l'ambiente di avvio, riavviare il sistema e selezionare l'ambiente di avvio precedente nel menu di GRUB o di avvio.


Attivazione con mount e aggiornamento di un ambiente di avvio inattivo

Se si desidera aggiornare i pacchetti di un ambiente di avvio esistente inattivo, è possibile attivare l'ambiente con mount e quindi aggiornare i pacchetti che contiene.

ProcedureAttivare con mount un ambiente di avvio

  1. È possibile utilizzare il comando beadm mount per attivare un ambiente di avvio come indicato di seguito:


    $ beadm mount beName mountpoint
    

    Nota –

    Se la directory per il punto di attivazione non esiste, l'utility beadm la crea, quindi attiva con mount l'ambiente di avvio in tale directory.

    Se l'ambiente di avvio è già attivato con mount, il comando beadm mount genera un errore e non riattiva con mount l'ambiente di avvio nella nuova posizione specificata.


    L'ambiente di avvio viene attivato con mount, ma resta inattivo.

  2. (Opzionale) È possibile aggiornare i pacchetti dell'ambiente di avvio mediante il comando pkg.

    Ad esempio, è possibile utilizzare il comando pkg install con l'opzione -R per aggiornare pacchetti specifici dell'ambiente di avvio.


    $ pkg -R /mnt install packagename
    

    Dove /mnt è il punto di attivazione dell'ambiente di avvio.


    Nota –

    Disattivare con mount l'ambiente di avvio prima di riavviare.


    Per ulteriori informazioni, vedere la pagina man pkg(1).

Disattivazione con unmount degli ambienti di avvio

È possibile utilizzare il comando beadm per disattivare con unmount un ambiente di avvio esistente.


Nota –

Non è possibile disattivare con unmount l'ambiente di avvio che è attualmente avviato.


ProcedureDisattivare con unmount un ambiente di avvio esistente

  1. Per disattivare con unmount l'ambiente di avvio, digitare quanto segue:


    $ beadm unmount beName
    

Eliminazione di un ambiente di avvio

Quando risulta necessario liberare spazio disponibile sul sistema, è possibile usare il comando beadm per eliminare un ambiente di avvio esistente.

Considerare le seguenti specifiche:

ProcedureEliminare un ambiente di avvio esistente

  1. Per eliminare un ambiente di avvio, digitare quanto segue:


    $ beadm destroy beName
    

    Nota –

    Il comando beadm destroy richiede una conferma prima di eliminare l'ambiente di avvio. Aggiungere l'opzione -F al comando beadm destroy per forzare l'eliminazione dell'ambiente di avvio senza una richiesta di conferma. Aggiungere l'opzione -f per forzare l'eliminazione dell'ambiente di avvio anche se è attivato con mount.


Assegnazione di un nome agli ambienti di avvio

Il comando beadm rename consente di rinominare un ambiente di avvio esistente. Con questo comando è possibile assegnare un nome personalizzato a un ambiente di avvio, che sia più significativo per la propria situazione specifica. Ad esempio, è possibile rinominare gli ambienti di avvio per specificare il modo in cui l'ambiente è stato personalizzato. Anche il nome del set di dati viene modificato di conseguenza, in base al nuovo nome dell'ambiente di avvio.


Nota –

Non è possibile rinominare un ambiente di avvio attivo. È possibile rinominare solo gli ambienti inattivi. Non è inoltre possibile rinominare l'ambiente di avvio attualmente avviato. Per rinominare l'ambiente di avvio attivo, è necessario attivare un altro ambiente di avvio e avviare tale ambiente. A quel punto sarà possibile rinominare l'ambiente di avvio inattivo.


ProcedureRinominare un ambiente di avvio

  1. Per rinominare un ambiente di avvio, utilizzare il seguente comando:


    $ beadm rename beName newBeName
    

    Nota –

    Se il nuovo nome è già in uso, il comando beadm rename genera un errore.