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

ProcedureMéthode de migration d'un système de fichiers UFS vers un pool racine ZFS sur un système comportant des zones non globales

La commande lucreate crée un environnement d'initialisation d'un pool racine ZFS à partir d'un système de fichiers racine (/) UFS. Avant de pouvoir exécuter la commande lucreate, un pool racine ZFS doit être créé avec des tranches plutôt qu'avec des disques complets et ce, afin de pouvoir être initialisé et mis à jour. Cette procédure explique la méthode utilisée pour copier une zone non globale avec le système de fichiers racine (/) UFS sur le nouvel environnement d'initialisation du pool racine ZFS.

Dans l'exemple suivant, la racine de la zone non globale, myzone, se trouve dans le système de fichiers racine (/) UFS, tandis que la racine de la zone zzone se trouve dans un système de fichiers ZFS du pool de stockage ZFS, pool. Solaris Live Upgrade procède à la migration de l'environnement d'initialisation UFS, c2t2d0s0, vers un environnement d'initialisation ZFS, zfs2BE. La zone basée sur UFS, myzone, migre vers un nouveau pool de stockage ZFS, mpool, créé avant l'utilisation de Solaris Live Upgrade. La zone non globale basée ZFS, zzone, est clonée, tout en étant conservée dans le pool ZFS, pool, puis migrée vers le nouvel environnement d'initialisation zfs2BE.

  1. Lors de la première exécution de Solaris Live Upgrade, suivez la procédure suivante.


    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. Au besoin, supprimez de votre système les packages Solaris Live Upgrade existants. Si vous procédez à une mise à niveau vers une nouvelle version, vous devez installer les packages correspondant à cette version.

      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.


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    2. 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.

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

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

      • 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
        
  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 c3t0d0s0
    

    Dans cet exemple; le ZFS à créer est nommé rpool. Le pool est créé sur une tranche initialisable appelée c3t0d0s0.

    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.

    Toutes les zones non globales non partagées sont copiées sur le nouvel environnement d'initialisation avec les systèmes de fichiers critiques. 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.

    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.


Exemple 14–1 Migration d'un système de fichiers racine (/) UFS comportant des zones non globales vers un pool racine ZFS

Dans l'exemple suivant, la racine de la zone non globale, myzone, se trouve dans le système de fichiers racine (/) UFS. tandis que la racine de la zone zzone se trouve dans un système de fichiers ZFS du pool de stockage ZFS, pool. Solaris Live Upgrade procède à la migration de l'environnement d'initialisation UFS, c2t2d0s0, vers un environnement d'initialisation ZFS, zfs2BE. La zone basée sur UFS, myzone, migre vers un nouveau pool de stockage ZFS, mpool, créé avant l'utilisation de Solaris Live Upgrade. La zone non globale basée ZFS, zzone, est clonée, tout en étant conservée dans le pool ZFS, pool, puis migrée vers le nouvel environnement d'initialisation zfs2BE.


# zoneadm list -iv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - myzone           installed  /zones/myzone                  native   shared
   - zzone            installed  /pool/zones                    native   shared

# zpool create mpool mirror c3t0d0s0 c4td0s0
# lucreate -c c1t2d0s0 -n zfs2BE -p mpool
Analyzing system configuration.
No name for current boot environment.
Current boot environment is named <c1t2d0s0>.
Creating initial configuration for primary boot environment <c1t2d0s0>.
The device </dev/dsk/c1t2d0s0> is not a root device for any 
boot environment; cannot get BE ID.
PBE configuration successful: PBE name <c1t2d0s0> PBE Boot Device 
</dev/dsk/c1t2d0s0>.
Comparing source boot environment <c1t2d0s0> 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 <zfsBE>.
Source boot environment is <c1t2d0s0>.
Creating boot environment <zfsBE>.
Creating file systems on boot environment <zfsBE>.
Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>.
Populating file systems on boot environment <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 <zfsBE> successful.
Creation of boot environment <zfsBE> successful.

Une fois l'exécution de la commande lucreate terminée, utilisez la commande lustatus pour afficher l'état de l'environnement d'initialisation, comme dans cet exemple.


# lustatus
Boot Environment           Is       Active Active    Can    Copy      
Name                       Complete Now    On Reboot Delete Status    
-------------------------- -------- ------ --------- ------ ----------
c1t2d0s0                   yes      yes    yes       no     -         
zfsBE                      yes      no     no        yes    -         

# zoneadm list -iv
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - myzone           installed  /zones/myzone                  native   shared
   - zzone            installed  /pool/zones                    native   shared

Ensuite, utilisez la commande luactivate pour activer le nouvel environnement d'initialisation ZFS. Exemple :


# luactivate 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 <ZFSbe> successful.

Réinitialisez le système de 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.
.
.
.

Vérifiez le nouvel environnement d'initialisation et l'état des zones migrées, comme dans cet exemple.


# lustatus
Boot Environment           Is       Active Active    Can    Copy      
Name                       Complete Now    On Reboot Delete Status    
-------------------------- -------- ------ --------- ------ ----------
c1t2d0s0                   yes      yes    yes       no     -         
zfsBE                      yes      no     no        yes    -         

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 s'affichent, similaires à ceux présentés ci-dessous.


# luactivate c1t2d0s0
WARNING: The following files have changed on both the current boot 
environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>:
 /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 <c1t2d0s0>. These files will not be automatically synchronized 
from the current boot environment <ZFSbe> when boot environment <c1t2d0s0>