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:
Con il termine istantanea si intende un'immagine di sola lettura di un set di dati o di un ambiente di avvio in un momento specifico. Un'istantanea non è avviabile.
Con il termine ambiente di avvio si intende un ambiente Oracle Solaris avviabile, composto da un set di dati radice e, facoltativamente, da un altro set di dati attivato con mount nel primo. Può essere attivo solo un ambiente di avvio per volta.
Con il termine clone si intende una copia di un ambiente di avvio che viene creata da un altro ambiente di avvio. Un clone è avviabile.
Un clone di un ambiente di avvio include tutti gli elementi di livello gerarchico inferiore presenti nel set di dati radice principale dell'ambiente di avvio originale. I set di dati condivisi non si trovano nel set di dati radice, pertanto non vengono clonati. L'ambiente di avvio accede direttamente ai set di dati condivisi originali.
Un set di dati è una denominazione generica per entità ZFS quali i cloni, i file system o le istantanee. Nel contesto dell'amministrazione degli ambienti di avvio, il set di dati si riferisce più specificamente ai file system che sono inclusi in un particolare ambiente di avvio o in un'istantanea.
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.
I set di dati di importanza critica sono inclusi nell'area del set di dati radice di un dato ambiente.
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.
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.
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.
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 |
Controllare le informazioni visualizzate sugli ambienti di avvio disponibili.
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:
R – Attivo al riavvio
N – Attivo ora
“-” – Inattivo
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.
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
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.
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.
Il comando beadm create non crea un ambiente di avvio parziale; crea un ambiente di avvio completo oppure genera un errore.
(Opzionale) È possibile utilizzare il comando beadm mount per attivare con mount il nuovo ambiente di avvio come indicato di seguito:
$ beadm mount beName mountpoint |
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.
Disattivare con mount l'ambiente di avvio prima di riavviare.
(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.
Nel menu di GRUB o di avvio, per impostazione predefinita viene sempre visualizzato l'ambiente di avvio attivato più di recente.
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.
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 |
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.
Assumere il ruolo di superutente o un ruolo equivalente.
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.
È 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.
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
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.
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.
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.
È 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.
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.
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.
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.
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.
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.
È possibile utilizzare il comando beadm mount per attivare un ambiente di avvio come indicato di seguito:
$ beadm mount beName mountpoint |
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.
(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.
Disattivare con mount l'ambiente di avvio prima di riavviare.
Per ulteriori informazioni, vedere la pagina man pkg(1).
È possibile utilizzare il comando beadm per disattivare con unmount un ambiente di avvio esistente.
Non è possibile disattivare con unmount l'ambiente di avvio che è attualmente avviato.
Quando risulta necessario liberare spazio disponibile sul sistema, è possibile usare il comando beadm per eliminare un ambiente di avvio esistente.
Considerare le seguenti specifiche:
Non è possibile eliminare l'ambiente di avvio che è attualmente avviato.
Il comando beadm destroy rimuove automaticamente dal menu di GRUB dei sistemi x86 o dal menu di avvio dei sistemi SPARC la voce dell'ambiente di avvio eliminato.
Il comando beadm destroy elimina solo i set di dati di importanza critica o non condivisi dell'ambiente di avvio. I set di dati condivisi si trovano al di fuori del set di dati radice dell'ambiente di avvio e non vengono interessati dall'eliminazione dell'ambiente di avvio.
Si veda l'esempio seguente, dove BE1 e BE2 condividono i set di dati rpool/export e rpool/export/home. I set di dati includono:
rpool/ROOT/BE1 rpool/ROOT/BE2 rpool/export rpool/export/home |
Eliminare BE2 con il seguente comando:
beadm destroy BE2 |
I set di dati condivisi rpool/export e rpool/export/home non vengono eliminati con l'ambiente di avvio. Restano presenti i seguenti set di dati.
rpool/ROOT/BE1 rpool/export rpool/export/home |
Per eliminare un ambiente di avvio, digitare quanto segue:
$ beadm destroy beName |
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.
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.
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.