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

Chapitre 9 Solaris Live Upgrade – Exemples

Ce chapitre propose des exemples de création, de mise à jour et d'activation d'un environnement d'initialisation en vue d'en faire le système d'exécution.


Remarque –

Ce chapitre décrit Solaris Live Upgrade pour des systèmes de fichiers UFS. Pour connaître les procédures de migration d'un système de fichiers UFS vers un pool racine ZFS ou de création et d'installation d'un pool racine ZFS, reportez-vous au Chapitre 13Création d'un environnement d'initialisation pour des pools racine ZFS.


Ce chapitre se compose des sections suivantes :

Exemple de mise à niveau à l'aide de Solaris Live Upgrade

Dans cet exemple, un environnement d'initialisation est créé à l'aide de la commande lucreate sur un système exécutant Solaris 9. Le nouvel environnement d'initialisation est mis à niveau vers Solaris 10 10/09 avec la commande luupgrade. L'environnement d'initialisation mis à niveau est activé au moyen de la commande luactivate. Vous trouverez également un exemple de restauration de l'environnement d'initialisation d'origine.

Préparation à l'utilisation de Solaris Live Upgrade

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'info doc SunSolve 206844. Recherchez l'info doc 206844 (ex 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 étapes suivantes décrivent les procédures de l'info doc SunSolve 206844.


Remarque –

Cette procédure suppose que votre système exploite le gestionnaire de volumes Volume Manager. Pour plus d'informations sur la gestion des médias amovibles à l'aide de Volume Manager, reportez-vous au System Administration Guide: Devices and File Systems.


  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.

    1. Supprimez les packages Solaris Live Upgrade existants.

      Les trois packages Solaris Live Upgrade, SUNWluu, SUNWlur et SUNWlucfg, contiennent le logiciel nécessaire à la mise à niveau ou à l'application de patch à 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 ou l'application de patch échoue si vous ne supprimez pas les packages existants et si vous n'installez pas 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
      
    2. Installez les nouveaux packages Solaris Live Upgrade.

      Vous pouvez installer les packages à l'aide de la commande liveupgrade20 du CD ou DVD d'installation ou à l'aide de la commande pkgadd . La commande liveupgrade20 requiert le logiciel Java. Si votre système n'est pas équipé du logiciel Java, vous devez utiliser la commande pkgadd pour installer les packages. Reportez-vous à l'info doc SunSolve pour de plus amples informations.

      • Si vous utilisez le DVD du système d'exploitation Solaris, modifiez les répertoires et exécutez le programme d'installation :

        • Changez de répertoire.


          # cd /cdrom/cdrom0/Solaris_10/Tools/Installers
          

          Remarque –

          Pour les systèmes SPARC, le chemin d'accès au programme d'installation est différent pour les versions antérieures à la version Solaris 10 10/08 :


          # cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers
          

        • Exécutez le programme d'installation.


          # ./liveupgrade20  -noconsole - nodisplay
          

          Les options -noconsole et -nodisplay empêchent l'interface utilisateur en mode caractère (CUI, Character User Interface) de s'afficher.


          Remarque –

          La CUI Solaris Live Upgrade n'est plus prise en charge.


      • Si vous utilisez le logiciel Solaris - 2 CD, vous pouvez exécuter le programme d'installation sans modifier le chemin.


        % ./installer
        
      • Vérifiez que les packages ont été installés.


        # pkgchk -v SUNWlucfg SUNWlur SUNWluu
        
  3. Installez les patchs répertoriés dans l'info doc 206844.

    1. Si vous stockez les patchs sur un disque local, créez un répertoire tel que /var/tmp/lupatches.

    2. Obtenez la liste des patchs à partir du site Web SunSolve.

    3. Accédez au répertoire des patchs comme dans l'exemple ci-dessous.


      # cd /var/tmp/lupatches
      
    4. Installez les patchs.


      # patchadd -M  path-to-patchespatch-id  patch-id
      

      path-to-patches correspond au chemin vers le répertoire des patchs, par exemple /var/tmp/lupatches. patch-id correspond au(x) numéro(s) de patch(s). Séparez les noms de patch par un espace.


      Remarque –

      Les patchs doivent être appliqués dans l'ordre indiqué dans l'info doc 206844.


    5. 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, sinon Solaris Live Upgrade échoue.


      # init 6
      

      Vous disposez maintenant des packages et des patchs nécessaires à la création d'un nouvel environnement d'initialisation.

Création d'un environnement d'initialisation

L'environnement d'initialisation source reçoit le nom c0t4d0s0 à l'aide de l'option -c. L'attribution d'un nom à l'environnement d'initialisation source n'est requise qu'après création du premier environnement d'initialisation. Pour plus d'informations sur l'attribution de noms à l'aide de l'option -c, reportez-vous à la description de la section “Création d'un environnement d'initialisation pour la première fois” Étape 2.

Le nouvel environnement d'initialisation porte le nom c0t15d0s0. L'option -A crée une description associée au nom de l'environnement d'initialisation.

Le système de fichiers racine (/) est copié dans le nouvel environnement d'initialisation et au lieu de partager la tranche de swap de l'environnement d'initialisation source, une nouvelle tranche de swap est créée.


# lucreate -A 'BE_description' -c /dev/dsk/c0t4d0s0 -m /:/dev/dsk/c0t15d0s0:ufs\
-m -:/dev/dsk/c0t15d0s1:swap -n /dev/dsk/c0t15d0s0

Mise à niveau de l'environnement d'initialisation inactif

L'environnement d'initialisation inactif reçoit le nom c0t15d0s0. L'image du système d'exploitation à utiliser pour la mise à niveau provient du réseau.


# luupgrade -n c0t15d0s0 -u -s /net/ins-svr/export/Solaris_10 \ 
combined.solaris_wos

Pour vérifier le caractère initialisable de l'environnement d'initialisation

La commande lustatus indique si la création de l'environnement d'initialisation est achevée et si l'environnement peut être initialisé.


# lustatus
boot environment   Is        Active  Active     Can	    Copy
Name               Complete  Now	 OnReboot   Delete	 Status
------------------------------------------------------------------------
c0t4d0s0           yes       yes      yes      no      -
c0t15d0s0          yes       no       no       yes     -

Pour activer l'environnement d'initialisation inactif

L'environnement d'initialisation c0t15d0s0 est rendu initialisable par la commande luactivate. Le système est ensuite réinitialisé et c0t15d0s0 devient l'environnement d'initialisation actif. L'environnement d'initialisation c0t4d0s0 est désormais inactif.


# luactivate c0t15d0s0
# init 6

(Facultatif) Pour revenir à l'environnement d'initialisation source

En fonction de l'état de l'activation de votre nouvel environnement d'initialisation, il existe les procédures de restauration suivantes :


Exemple 9–1 SPARC : restauration malgré la réussite de la création de l'environnement d'initialisation

Dans cet exemple, l'environnement d'initialisation original (c0t4d0s0) est réinstitué comme environnement d'initialisation actif, malgré la réussite de son activation. Le nom du périphérique est first_disk.


# /sbin/luactivate first_disk 
# init 6


Exemple 9–2 SPARC : restauration à partir de l'échec de l'activation de l'environnement d'initialisation

Dans cet exemple, le nouvel environnement n'était pas initialisable. Vous devez revenir à l'invite OK avant d'initialiser le système à partir de l'environnement d'initialisation original, c0t4d0s0, en mode monoutilisateur.


OK boot net -s
# /sbin/luactivate first_disk
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# init 6

L'environnement d'initialisation original, c0t4d0s0, devient environnement d'initialisation actif.



Exemple 9–3 SPARC : restauration de l'environnement d'initialisation d'origine à partir d'un DVD, d'un CD ou d'une image de l'installation réseau

Dans cet exemple, le nouvel environnement n'était pas initialisable. Vous ne pouvez pas initialiser à partir de l'environnement d'initialisation original, et vous devez utiliser un support ou une image d'installation réseau. Le périphérique est /dev/dsk/c0t4d0s0. L'environnement d'initialisation original, c0t4d0s0, devient environnement d'initialisation actif.


OK boot net -s
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# umount /mnt 
# init 6


Exemple 9–4 x86 : restauration de l'environnement d'initialisation d'origine à l'aide du menu GRUB

Depuis Solaris 10 1/06, l'exemple suivant décrit comment revenir à l'environnement d'initialisation d'origine à l'aide du menu GRUB.

Dans cet exemple, le menu GRUB s'affiche correctement mais le nouvel environnement d'initialisation ne peut pas être initialisé. Pour permettre une nouvelle tentative, l'environnement d'initialisation est initialisé en mode monoutilisateur.

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

  2. Réinitialisez le système pour afficher le menu GRUB.


    # init 6
    

    Le menu GRUB s'affiche.


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris                                                            |
    |Solaris failsafe                                                   |
    |second_disk                                                        |
    |second_disk failsafe                                               |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  3. Dans le menu GRUB, sélectionnez l'environnement d'initialisation d'origine. L'environnement d'initialisation doit avoir été créé à l'aide du logiciel GRUB. Un environnement d'initialisation créé avant Solaris 10 1/06 n'est pas un environnement d'initialisation GRUB. Si vous ne possédez pas d'environnement d'initialisation GRUB initialisable, passez à l'Exemple 9–5.

  4. Modifiez le menu GRUB en tapant : e.

  5. Sélectionnez kernel /boot/multiboot à l'aide des touches de direction et tapez e. Le menu Edition de GRUB s'affiche.


    grub edit>kernel /boot/multiboot
  6. Initialisez en mode monoutilisateur en tapant -s.


    grub edit>kernel /boot/multiboot -s
    
  7. Initialisez et montez l'environnement d'initialisation. Ensuite, activez-le.


# b
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0
(yes or no)? yes
# umount /mnt
# init 6


Exemple 9–5 x86 : restauration de l'environnement d'initialisation d'origine avec le menu GRUB à l'aide du DVD ou du CD

Depuis Solaris 10 1/06, l'exemple suivant décrit comment revenir à l'environnement d'initialisation d'origine à l'aide du DVD ou du CD.

Dans cet exemple, le nouvel environnement n'était pas initialisable. De plus, le menu GRUB ne s'affiche pas. Pour permettre une nouvelle tentative, l'environnement d'initialisation est initialisé en mode monoutilisateur.

  1. Insérez le DVD du système d'exploitation Solaris pour plates-formes x86 ou Logiciel Solaris pour les plates-formes x86 - 1 CD.

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

  3. Initialisez à partir du DVD ou du CD.


    # init 6
    

    Le menu GRUB s'affiche.


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris 10 10/09                                                    |
    |Solaris 10 10/09 Serial Console ttya                                |
    |Solaris 10 10/09 Serial Console ttyb (for lx50, v60x and v65x       |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  4. Patientez jusqu'à l'initialisation de l'option par défaut ou sélectionnez une des options affichées.

    L'écran d'installation s'affiche.


    +-------------------------------------------------------------------+
    
    |Select the type of installation you want to perform:                |
    |                                                                    |
    |         1 Solaris Interactive                                      |
    |         2 Custom JumpStart                                         |
    |         3 Solaris Interactive Text (Desktop session)               |
    |         4 Solaris Interactive Text (Console session)               |
    |         5 Apply driver updates                                     |
    |         6 Single user shell                                        |
    |                                                                    |
    |        Enter the number of your choice followed by the <ENTER> key.|
    |        Alternatively, enter custom boot arguments directly.        |
    |
    |         If you wait 30 seconds without typing anything,            |
    |         an interactive installation will be started.               |
    +----------------------------------------------------------------- --+
  5. Sélectionnez l'option Single user shell.

    Le message suivant s'affiche :


    Do you wish to automatically update the boot archive? y /n
  6. Type : n


    Starting shell...
    #

    Le mode monoutilisateur est activé.

  7. Montez l'environnement d'initialisation. Ensuite, activez-le et effectuez une réinitialisation.


    # fsck /dev/dsk/c0t4d0s0
    # mount /dev/dsk/c0t4d0s0 /mnt 
    # /mnt/sbin/luactivate
    Do you want to fallback to activate boot environment c0t4d0s0
    (yes or no)? yes
    # umount /mnt
    # init 6
    

Exemple de séparation et de mise à niveau d'une face d'un volume RAID-1 (miroir)

Cet exemple illustre comment exécuter les tâches suivantes :

La Figure 9–1 représente l'environnement d'initialisation actuel constitué de trois disques physiques.

Figure 9–1 Séparation et mise à niveau d'un volume RAID-1 (Miroir)

Le contexte illustre la figure.

  1. Créez un nouvel environnement d'initialisation second_disk, qui contient un miroir.

    La commande ci-dessous permet de réaliser ces tâches.

    • lucreate configure un système de fichiers UFS pour le point de montage racine (/). Un miroir, d10, est créé. Ce miroir contient le système de fichiers ( /) de la racine de l'environnement d'initialisation actuelle, qui est copié dans le miroir d10. Toutes les données du miroir d10 sont écrasées.

    • Deux tranches, c0t1d0s0 et c0t2d0s0 , sont définies comme sous-miroirs. ces derniers étant rattachés au miroir d10.


    # lucreate -c first_disk -n second_disk \ 
    -m /:/dev/md/dsk/d10:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:attach \ 
    -m /:/dev/dsk/c0t2d0s0:attach
    
  2. Activez l'environnement d'initialisation second_disk.


    # /sbin/luactivate second_disk
    # init 6
    
  3. Créez un autre environnement d'initialisation, third_disk.

    La commande ci-dessous permet de réaliser ces tâches.

    • lucreate configure un système de fichiers UFS pour le point de montage racine (/). Un miroir, d20, est créé.

    • La tranche c0t1d0s0est supprimée du miroir actuel et ajoutée au miroir d20. Les contenus du sous-miroir et le système de fichiers racine (/) sont préservés et aucune copie n'est effectuée.


    # lucreate -n third_disk \ 
    -m /:/dev/md/dsk/d20:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:detach,attach,preserve
    
  4. Mettez à niveau le nouvel environnement de démarrage, third_disk


    # luupgrade -u -n third_disk \ 
    -s /net/installmachine/export/Solaris_10/OS_image
    
  5. Ajoutez un patch à l'environnement de démarrage mis à niveau.


    # luupgrade -t n third_disk -s /net/patches 222222-01
    
  6. Activez l'environnement d'initialisation third_disk pour en faire le système en cours de fonctionnement.


    # /sbin/luactivate third_disk
    # init 6
    
  7. Supprimez l'environnement d'initialisation second_disk.


    # ludelete second_disk
    
  8. Les commandes ci-dessous permettent de réaliser ces tâches :

    • supprimer le miroir d10 ;

    • vérifier le numéro de concaténation de c0t2d0s0 ;

    • rattacher la concaténation trouvée par la commande metastat au miroir d20. La commande metattach synchronise la concaténation qui vient d'être rattachée avec celle du miroir d20. Toutes les données de la concaténation sont écrasées.


    # metaclear d10 
    # metastat -p | grep c0t2d0s0
    dnum 1 1 c0t2d0s0
    # metattach d20 dnum
    
    num

    est le numéro trouvé par la commande metastat pour la concaténation

Le nouvel environnement d'initialisation, third_disk, a été mis à niveau et est maintenant le système en cours de fonctionnement. third_disk contient le système de fichiers racine (/) qui est mis en miroir.

La Figure 9–2 illustre le processus de séparation d'un miroir et la mise à niveau de ce miroir à l'aide des commandes utilisées dans l'exemple précédent.

Figure 9–2 Séparation et mise à niveau d'un volume RAID-1 (Miroir) (suite)

Le contexte illustre la figure.

Exemple de migration d'un volume existant vers un volume Solaris Volume Manager RAID-1

Solaris Live Upgrade permet de créer un nouvel environnement d'initialisation sur des volumes RAID–1 (miroir). Les systèmes de fichiers de l'environnement d'initialisation actif peuvent être :

Par contre, la cible du nouvel environnement d'initialisation doit obligatoirement être un volume RAID-1 de Solaris Volume Manager. Par exemple, la tranche désignée pour contenir une copie du système de fichiers racine ( /) doit être /dev/vx/dsk/rootvol. rootvol est le volume contenant le système de fichiers racine (/).

Dans cet exemple, l'environnement d'initialisation actuel contient le système de fichiers racine ( /) sur un volume qui n'est pas un volume de Solaris Volume Manager. Le nouvel environnement d'initialisation est créé avec le système de fichiers racine (/) sur le volume RAID-1c0t2d0s0 de Solaris Volume Manager. La commande lucreate permet de migrer le volume actuel vers un volume Solaris Volume Manager. Le nom du nouvel environnement d'initialisation est svm_be. La commande lustatus indique si le nouvel environnement d'initialisation est prêt à être activé et réinitialisé. Celui-ci est activé pour devenir le nouvel environnement d'initialisation.


# lucreate -n svm_be -m /:/dev/md/dsk/d1:mirror,ufs \  
-m /:/dev/dsk/c0t2d0s0:attach
# lustatus
# luactivate svm_be
# lustatus
# init 6

Exemple de création d'un environnement d'initialisation vide et d'installation d'une archive Solaris Flash

Les procédures suivantes couvrent le processus en trois étapes :

La commande lucreate crée un environnement d'initialisation basé sur les systèmes de fichiers dans l'environnement d'initialisation actif. La commande lucreate associée à l'option -s, lucreate permet de rapidement créer un environnement d'initialisation vide. Les tranches sont réservées aux systèmes de fichiers spécifiés, mais aucun de ces derniers n'est copié. Un nom est attribué à l'environnement d'initialisation, mais celui-ci ne sera véritablement créé qu'après l'installation d'une archive Solaris Flash. Une fois l'archive installée, les systèmes de fichiers sont installés sur les tranches réservées. L'environnement d'initialisation est ensuite activé.

Création d'un environnement d'initialisation vide

Au cours de cette première étape, un environnement d'initialisation vide est créé. Les tranches sont réservées aux systèmes de fichiers spécifiés, mais ces derniers ne sont pas copiés depuis l'environnement d'initialisation actif. Le nouvel environnement d'initialisation s'appelle second_disk.


# lucreate  -s - -m /:/dev/dsk/c0t1d0s0:ufs \  
-n second_disk

L'environnement d'initialisation est prêt à être rempli avec une archive Solaris Flash.

La Figure 9–3 représente la création d'un environnement d'initialisation vide.

Figure 9–3 Création d'un environnement d'initialisation vide

Le contexte illustre la figure.

Installation d'une archive Solaris Flash dans le nouvel environnement d'initialisation

Au cours de cette deuxième étape, une archive est installée sur l'environnement d'initialisation second_disk créé dans l'exemple précédent. et réside dans le système local. Les versions des systèmes d'exploitation pour les options -s et -a sont toutes les deux des versions de Solaris 10 10/09. L'archive est nommée Solaris_10.flar.


# luupgrade -f -n second_disk \
-s /net/installmachine/export/Solaris_10/OS_image \ 
-a /net/server/archive/10.flar 

L'environnement d'initialisation est prêt à être activé.

Activation du nouvel environnement d'initialisation

Au cours de cette dernière étape, l'environnement d'initialisation second_disk est rendu initialisable à l'aide de la commande luactivate. Le système est ensuite réinitialisé et second_disk devient l'environnement d'initialisation actif.


# luactivate second_disk
# init 6