Guide d'installation de Solaris 10 5/09 : Solaris Live Upgrade et planification de la mise à niveau

ProcedureMéthode de migration d'un système de fichiers UFS vers un système de fichiers ZFS


Remarque –

Pour faire migrer un système de fichiers racine (/) UFS vers un pool racine ZFS, vous devez donner le nom du pool racine. Les systèmes de fichiers critiques sont copiés dans le pool racine.


  1. Avant d'exécuter Solaris Live Upgrade pour la première fois, vous devez installer les derniers packages de Solaris Live Upgrade à partir du support d'installation, ainsi que les patchs répertoriés dans l'nfo doc SunSolve 206844. Recherchez l'info doc 206844 (auparavant nommé 72099) sur le site Web SunSolve.

    Ces patchs et packages garantissent que vous disposez des tous derniers correctifs de bogues et des nouvelles fonctions de la version. Veillez à installer tous les patchs destinés à votre système avant de créer un nouvel environnement d'initialisation.

    Les sous-étapes suivantes décrivent la procédure de l'info doc SunSolve 206844.


    Remarque –

    Pour créer des environnements d'initialisation ZFS à l'aide de Solaris Live Upgrade, la version installée sur votre système ne doit pas être antérieure à la version Solaris 10 10/08, car les versions précédentes ne disposent pas des logiciels Solaris Live Upgrade et ZFS pour procéder à l'exécution de ces tâches.


    1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    2. Sur le site web de SunSolve, suivez les instructions contenues dans l'info doc 206844 pour supprimer et ajouter les packages Solaris Live Upgrade.

      Les trois packages Solaris Live Upgrade SUNWluu, SUNWlur et SUNWlucfg contiennent le logiciel nécessaire à la mise à niveau à l'aide de Solaris Live Upgrade. Outre les fonctionnalités existantes, ils intègrent de nouvelles fonctions ainsi que des correctifs de bogues. La mise à niveau de la version cible échoue si vous ne supprimez pas les packages existants et si vous installez les nouveaux packages sur le système préalablement à l'utilisation de Solaris Live Upgrade. Le package SUMWlucfg est un nouvel élément de la version Solaris 10 8/07. Si vous utilisez des packages Solaris Live Upgrade d'une version antérieure à Solaris 10 8/07, vous n'avez pas besoin de supprimer ce package.


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    3. Installez les nouveaux packages Solaris Live Upgrade de la version pour laquelle vous effectuez la mise à niveau. Pour obtenir les instructions correspondantes, reportez-vous à la section Installation de Solaris Live Upgrade.

    4. Avant d'installer ou d'exécuter Solaris Live Upgrade, vous devez installer les patchs suivants. Ces patchs garantissent que vous disposez des tout derniers correctifs de bogues et fonctions de la version.

      Vérifiez que vous disposez de la dernière liste de patchs en visitant le site Web SunSolve. Recherchez l'info doc 206844 (auparavant nommé 72099 sur le site Web SunSolve.

      • Si vous stockez les patchs sur un disque local, créez un répertoire, tel que /var/tmp/lupatches, puis téléchargez les patchs dans ce répertoire.

      • Vous obtiendrez la liste des patchs sur le site Web SunSolve.

      • Allez dans le répertoire des patchs.


        # cd /var/tmp/lupatches
        
      • Installez les patchs en utilisant la commande patchadd.


        # patchadd patch_id
        

        id_patch correspond au(x) numéro(s) de patch(s). Séparez les noms de patch par un espace.


        Remarque –

        Vous devez appliquer les patchs dans l'ordre spécifié dans l'info doc 206844.


      • Réinitialisez le système si nécessaire. Certains patchs doivent être réinitialisés pour être effectifs.

        x86 uniquement. La réinitialisation du système est requise ou Solaris Live Upgrade échoue.


        # init 6
        

        Vous disposez maintenant des packages et des patchs nécessaires à une migration réussie.

  2. Créez un pool racine ZFS.

    Pour pouvoir être initialisé et mis à niveau, le pool racine ZFS doit se trouver sur une tranche unique.


    # zpool create rpool  c0t1d0s5
    
    rpool

    Spécifie le nom du pool racine ZFS à créer.

    c0t1d0s5

    Crée le pool racine sur la tranche de disque, c0t1d0s5.

    Pour obtenir des informations sur la création d'un pool racine, reportez-vous au Guide d’administration Solaris ZFS.

  3. Procédez à la migration du système de fichiers racine (/) UFS vers le nouveau pool racine ZFS.


    # lucreate [-c ufsBE] -n new-zfsBE -p rpool
    
    -cufsBE

    Attribue le nom ufsBE à l'environnement d'initialisation UFS en cours. Cette option n'est pas obligatoire et n'est utilisée que pour créer un premier environnement d'initialisation. Si vous exécutez la commande lucreate pour la première fois et omettez l'option -c, le logiciel crée pour vous un nom par défaut.

    -n new-zfsBE

    Attribue le nom new-zfsBE à l'environnement d'initialisation à créer. Le nom doit être unique sur le système.

    -p rpool

    Place le dernier système de fichiers racine (/) ZFS créé dans le pool racine ZFS défini dans rpool.

    La création d'un environnement d'initialisation ZFS peut prendre un certain temps. Les données du système de fichiers UFS sont copiées dans le pool racine ZFS. Une fois l'environnement d'initialisation inactif créé, vous pouvez utiliser la commande luupgrade ou luactivate pour mettre à niveau ou activer cet environnement.

  4. Si vous le souhaitez, vérifiez que la création de l'environnement d'initialisation est terminée.

    Dans cet exemple, la commande lustatus génère un rapport relatif à l'état de la création et de l'activation de l'environnement d'initialisation.


    # 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         -
  5. Si vous le souhaitez, vérifiez les informations de base sur les jeux de données du système.

    La commande list affiche le nom de tous les jeux de données du système. Dans cet exemple, rpool est le nom du pool ZFS et new-zfsBE est le nom du dernier environnement d'initialisation ZFS créé.


    # 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  - 

    Les points de montage répertoriés pour le nouvel environnement d'initialisation sont créés temporairement jusqu'à l'exécution de la commande luactivate. Les volumes /dump et /swap ne sont pas partagés avec l'environnement d'initialisation UFS d'origine, mais dans le pool racine ZFS et dans les environnements d'initialisation de ce pool.

    Vous pouvez à présent mettre à niveau et activer le nouvel environnement d'initialisation. Voir Exemple 13–1.


Exemple 13–1 Migration d'un système de fichiers racine (/) UFS vers un pool racine ZFS

Dans cet exemple, le pool racine ZFS, rpool, est créé sur une tranche distincte, C0t0d0s4. La commande lucreate migre l'environnement d'initialisation UFS en cours d'exécution, c0t0d0, vers le nouvel environnement d'initialisation ZFS, new-zfsBE, et place ce dernier dans 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  - 

Vous pouvez à présent mettre à niveau ou activer le nouvel environnement d'initialisation.

Dans cet exemple, le nouvel environnement d'initialisation est mis à niveau à l'aide de la commande luupgrade à partir d'une image stockée à l'emplacement indiqué via l'option -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.

Après sa création, vous pouvez à tout moment activer le nouvel environnement d'initialisation.


# 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.

Réinitialisez le système dans l'environnement d'initialisation ZFS.


# init 6
# svc.startd: The system is coming down.  Please wait.
svc.startd: 79 system services are now being stopped.
.
.
.

Si vous procédez à la restauration de l'environnement d'initialisation UFS, vous devrez importer à nouveau tout pool de stockage ZFS créé dans l'environnement d'initialisation ZFS, car ces pools ne sont pas automatiquement disponibles dans l'environnement UFS. Lors de la restauration de l'environnement UFS, des messages, similaires à ceux de l'exemple ci-dessous, apparaîtront.


# 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>