Per eseguire la migrazione di un file system radice (/) UFS a un pool radice ZFS, è necessario fornire il nome del pool radice. I file system di importanza critica vengono copiati nel pool radice.
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 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.
L'utilizzo di Solaris Live Upgrade per creare nuovi ambienti di boot ZFS richiede la versione Solaris 10 10/08 o superiore. Le versioni precedenti non includono il software richiesto per ZFS e Solaris Live Upgrade.
Acquisire i diritti di superutente o di un ruolo equivalente.
Seguire le istruzioni indicate nel documento informativo 206844, disponibili nel sito Web di SunSolve, per rimuovere e aggiungere i pacchetti 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. 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 |
Installare i nuovi pacchetti di Solaris Live Upgrade dalla versione verso la quale si esegue l'aggiornamento. Per informazioni, vedere Installazione di Solaris Live Upgrade.
Prima di installare o eseguire Solaris Live Upgrade, è necessario installare le seguenti patch. Queste patch garantiscono che tutte le correzioni dei bug e le nuove funzioni siano installate.
Verificare di disporre dell'elenco più aggiornato delle patch accedendo al sito SunSolve. Consultare il documento informativo 206844 (in precedenza 72099) sul sito Web di SunSolve.
Se le patch vengono memorizzate sul disco rigido locale creare una directory, ad esempio /var/tmp/patches_lu, e scaricare le patch in quella directory.
Dal sito Web SunSolve, scaricare l'elenco delle patch.
Spostarsi nella directory delle patch.
# cd /var/tmp/lupatches |
Installare le patch con il comando patchadd.
# patchadd patch_id |
patch_id indica il numero o i numeri delle patch. Se le patch sono più di una, separare i nomi con uno spazio.
Le patch devono essere applicate nell'ordine specificato nel documento informativo (Infodoc) 206844.
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 |
Sono ora disponibili i pacchetti e le patch necessarie per una migrazione corretta.
Creare un pool radice ZFS.
Il pool radice ZFS deve trovarsi su una singola slice per essere avviabile e aggiornabile.
# zpool create rpool c0t1d0s5 |
Specifica il nome del nuovo pool radice ZFS da creare.
Crea il nuovo pool radice sulla slice del disco, c0t1d0s5.
Per informazioni sulla creazione di un nuovo pool radice, vedere il manuale Solaris ZFS Administration Guide.
Eseguire la migrazione del file system radice (/) UFS sul nuovo pool radice ZFS.
# lucreate [-c ufsBE] -n new-zfsBE -p rpool |
Assegna il nome BE_ufs all'ambiente di boot UFS corrente. 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.
Assegna il nome nuovo-BE-zfs all'ambiente di boot da creare. Il nome deve essere unico sul sistema.
Posiziona il nuovo file system radice (/) ZFS nel pool radice ZFS definito in pool_radice.
La creazione del nuovo ambiente di boot ZFS può richiedere un certo tempo. I dati del file system UFS vengono copiati nel pool radice ZFS. Una volta creato l'ambiente di boot inattivo, è possibile usare i comandi luupgrade o luactivate per aggiornare o attivare il nuovo ambiente di boot ZFS.
(Opzionale) Verificare che l'ambiente di boot sia completo.
In questo esempio, 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 ----------------------------------------------------------------- ufsBE yes yes yes no - new-zfsBE yes no no yes - |
(Opzionale) Verificare le informazioni di base sui set di dati.
Il comando list indica i nomi di tutti i set di dati presenti sul sistema. In questo esempio, rpool è il nome del pool ZFS e nuovo-BE-zfs è il nome dell'ambiente di boot ZFS appena creato.
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
I punti di attivazione elencati per il nuovo ambiente di boot sono temporanei fino all'esecuzione del comando luactivate. I volumi /dump e /swap non sono condivisi con l'ambiente di boot UFS originale ma vengono condivisi con il pool radice ZFS e con gli ambienti di boot inclusi nel pool radice.
A questo punto è possibile aggiornare e attivare il nuovo ambiente di boot. Vedere l'Esempio 13–1.
In questo esempio, il nuovo pool radice ZFS, rpool, viene creato su una slice separata, C0t0d0s4. Il comando lucreate esegue la migrazione dell'ambiente di boot UFS corrente in esecuzione,c0t0d0, sul nuovo ambiente di boot ZFS, nuovo-BE-zfs, e posiziona il nuovo ambiente di boot in rpool.
# zpool create rpool C0t0d0s4 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool # lucreate -c c0t0d0 -n new-zfsBE -p rpool Analyzing system configuration. Current boot environment is named <c0t0d0>. Creating initial configuration for primary boot environment <c0t0d0>. The device </dev/dsk/c0t0d0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <c0t0d0> PBE Boot Device </dev/dsk/c0t0d0>. Comparing source boot environment <c0t0d0> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <new-zfsBE>. Source boot environment is <c0t0d0>. Creating boot environment <new-zfsBE>. Creating file systems on boot environment <new-zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/new-zfsBE>. Populating file systems on boot environment <new-zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-cBc.mnt updating /.alt.tmp.b-cBc.mnt/platform/sun4u/boot_archive Population of boot environment <new-zfsBE> successful. Creation of boot environment <new-zfsBE> successful. # lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ c0t0d0 yes yes yes no - new-zfsBE yes no no yes - # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
A questo punto è possibile aggiornare o attivare il nuovo ambiente di boot.
In questo esempio, il nuovo ambiente di boot viene aggiornato con il comando luupgrade a partire da un'immagine che è memorizzata nella posizione indicata dall'opzione -s.
# luupgrade -n zfsBE -u -s /net/install/export/s10/combined.s10 51135 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/install/export/solaris_10/combined.solaris_10_wos /Solaris_10/Tools/Boot> Validating the contents of the media </net/install/export/s10/combined.s10>. The media is a standard Solaris media. The media contains an operating system upgrade image. The media contains Solaris version <10_1008>. Constructing upgrade profile to use. Locating the operating system upgrade program. Checking for existence of previously scheduled Live Upgrade requests. Creating upgrade profile for BE <zfsBE>. Determining packages to install or upgrade for BE <zfsBE>. Performing the operating system upgrade of the BE <zfsBE>. CAUTION: Interrupting this process may leave the boot environment unstable or unbootable. Upgrading Solaris: 100% completed Installation of the packages from this media is complete. Adding operating system patches to the BE <zfsBE>. The operating system patch installation is complete. INFORMATION: The file /var/sadm/system/logs/upgrade_log on boot environment <zfsBE> contains a log of the upgrade operation. INFORMATION: The file var/sadm/system/data/upgrade_cleanup on boot environment <zfsBE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfsBE>. Before you activate boot environment <zfsBE>, determine if any additional system maintenance is required or if additional media of the software distribution must be installed. The Solaris upgrade of the boot environment <zfsBE> is complete. |
Il nuovo ambiente di boot può essere attivato in qualsiasi momento dopo la creazione.
# luactivate new-zfsBE ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Change the boot device back to the original boot environment by typing: setenv boot-device /pci@1f,0/pci@1/scsi@4,1/disk@2,0:a 3. Boot to the original boot environment by typing: boot ********************************************************************** Modifying boot archive service Activation of boot environment <new-zfsBE> successful. |
Riavviare il sistema nell'ambiente di boot ZFS.
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . . |
Se si ritorna all'ambiente di boot UFS, sarà necessario importare nuovamente eventuali pool di memorizzazione ZFS creati nell'ambiente di boot ZFS in quanto questi non sono automaticamente disponibili nell'ambiente di boot UFS. Quando si torna all'ambiente di boot UFS vengono visualizzati messaggi simili ai seguenti.
# luactivate c0t0d0 WARNING: The following files have changed on both the current boot environment <new-zfsBE> zone <global> and the boot environment to be activated <c0t0d0>: /etc/zfs/zpool.cache INFORMATION: The files listed above are in conflict between the current boot environment <zfsBE> zone <global> and the boot environment to be activated <c0t0d0>. These files will not be automatically synchronized from the current boot environment <new-zfsBE> when boot environment <c0t0d0> |