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

Chapitre 9 Mise à niveau du système d'exploitation Solaris sur un système comportant des zones non globales

Ce chapitre décrit la mise à niveau d'un système comportant des zones non globales à l'aide de Solaris Live Upgrade. Ce chapitre se compose des sections suivantes :

Mise à niveau avec Solaris Live Upgrade et zones non globales installées (présentation)

Depuis la commercialisation de la version Solaris Solaris 10 6/07, vous pouvez mettre à niveau ou corriger un système comportant des zones non globales à l'aide de Solaris Live Upgrade. Si votre système comporte des zones non globales, il est conseillé d'utiliser le programme Solaris Live Upgrade pour la mise à niveau et l'ajout de patchs. La durée de mise à niveau risque d'être beaucoup plus longue avec d'autres programmes de mise à niveau, car celle-ci augmente de façon linéaire en fonction du nombre de zones non globales installées. Si vous appliquez un patch au système à l'aide de Solaris Live Upgrade, il est inutile de mettre le système en mode mono-utilisateur. Solaris Live Upgrade permet également d'optimiser la disponibilité du système pendant l'opération. La liste suivante récapitule les changements requis à la mise à niveau de systèmes comportant des zones non globales.

Présentation de Solaris Zones et de Solaris Live Upgrade

La technologie de partitionnement Solaris Zones permet de virtualiser des services de système d'exploitation et de fournir un environnement isolé et sécurisé aux applications d'exécution. Une zone non globale est un environnement de système d'exploitation virtualisé et créé au sein d'une instance unique du système d'exploitation Solaris, la zone globale. Lorsque vous créez une zone non globale, vous générez un environnement d'exécution d'application dans lequel les processus sont isolés du reste du système.

Solaris Live Upgrade est un mécanisme de copie du système en cours d'exécution sur de nouvelles tranches. Lors de leur installation, les zones non globales peuvent être copiées sur l'environnement d'initialisation inactif en même temps que les systèmes de fichiers de la zone globale.

La Figure 9–1illustre une zone non globale copiée dans l'environnement d'initialisation inactif en même temps que le système de fichiers de la zone globale.

Figure 9–1 Création d'un environnement d'initialisation – Copie des zones non globales

Le contexte illustre la figure.

La Figure 9–2 illustre la copie de la zone non globale vers l'environnement d'initialisation inactif.

Figure 9–2 Création d'un environnement d'initialisation – Copie d'un système de fichiers partagé à partir d'une zone non globale

Le contexte illustre la figure.

Création et mise à niveau d'un environnement d'initialisation comportant des zones non globales (Tâches)

Les sections suivantes contiennent des informations relatives à la création d'un environnement d'initialisation comportant des zones non globales et à la mise à niveau de cet environnement.

Création d'un environnement d'initialisation comportant une zone non globale dans un système de fichiers distinct

À une exception près, la procédure de création d'un environnement d'initialisation à partir de l'environnement d'initialisation en cours d'exécution n'a pas changé par rapport aux versions précédentes. Vous pouvez spécifier une tranche de destination pour un système de fichiers partagé au sein d'une zone non globale. Cette exception se produit dans les conditions suivantes :

Pour éviter que le système de fichiers distinct ne soit partagé dans le nouvel environnement d'initialisation, spécifiez une tranche de destination à l'aide de la commande lucreate. L'argument de l'option -m comporte un nouveau champ facultatif, zonename. Ce nouveau champ place le système de fichiers distinct de la zone non globale sur une tranche à part dans le nouvel environnement d'initialisation. Pour plus d'informations sur la configuration d'une zone non globale comportant un système de fichiers distinct, voir zonecfg(1M).


Remarque –

Par défaut, tout système de fichiers autre que les systèmes de fichiers critiques (root (/), /usr et /opt) est partagé entre l'environnement d'initialisation actuel et le nouvel environnement d'initialisation. Lorsque vous mettez à jour des fichiers partagés dans l'environnement d'initialisation actif, vous mettez automatiquement à jour les données de l'environnement d'initialisation inactif. Par exemple, le système de fichiers /export est partagé. Les options -m et zonename permettent de copier le système de fichiers de la zone non globale sur une tranche distincte et d'éviter le partage des données. Cette option empêche le partage des systèmes de fichiers de la zone non globale (créés à l'aide de la commande zonecfg add fs) entre les environnements d'initialisation.


ProcedureMise à niveau d'un système comportant des zones non globales à l'aide de Solaris Live Upgrade (Tâches)

La procédure suivante présente les instructions détaillées de mise à niveau d'un système comportant des zones non globales à l'aide de Solaris Live Upgrade.

  1. Installez les patchs nécessaires.

    Assurez-vous de posséder la liste des derniers patchs mis à jour en consultant le site http://sunsolve.sun.com. Recherchez l'info doc 72099 sur le site Web SunSolve.

    1. Vous obtiendrez la liste des patchs sur le site Web SunSolveSM.

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

    3. Installez les patchs en utilisant la commande patchadd.


      # patchadd chemin_des_patchs
      

      chemin_des_patchs correspond au chemin d'accès à l'emplacement des patchs.

    4. 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. 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 à 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
    
  3. Installez les packages Solaris Live Upgrade.

    1. Insérez le DVD ou CD Solaris dans le lecteur.

      Ce support contient les packages relatifs à la version de mise à niveau.

    2. Installez les packages à partir du support d'installation ou de l'image d'installation réseau, dans l'ordre suivant.


      # pkagadd -d path_to_packages SUNWlucfg SUNWlur SUNWluu
      

      Dans l'exemple suivant, les packages sont installés à partir du support d'installation.

      • Pour les systèmes SPARC :


        # pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
        
      • Pour les systèmes x86 :


        # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
        
  4. Vérifiez que les packages ont été installés.


    # pkgchk -v SUNWlucfg SUNWlur SUNWluu
    
  5. Créez le nouvel environnement d'initialisation.


    # lucreate [-A 'description_BE'] [-c nom_BE] \
     -m point_montage:périphérique[,métapériphérique]:options_fs[:nom de zone] [-m ...] -n nom_BE
    
    -n nom_BE

    Nom de l'environnement d'initialisation à créer. nom_BE doit être unique sur le système.

    -A 'description_BE'

    (Facultatif) Permet la création d'une description d'environnement d'initialisation associée au nom de celui-ci (nom_BE). La longueur de la description est indifférente, de même que le nombre de caractères.

    -c nom_BE

    Attribue le nom nom_BE à votre environnement d'initialisation actuel. 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.

    -m point_montage:périphérique[,métapériphérique]:options_fs [:nom de zone] [-m ...]

    Spécifie la configuration des systèmes de fichiers du nouvel environnement d'initialisation dans vfstab. Les systèmes de fichiers spécifiés comme arguments de -m peuvent aussi bien figurer sur un même disque ou sur plusieurs disques. Utilisez cette option autant de fois que nécessaire pour créer le nombre de systèmes de fichiers dont vous avez besoin.

    • point_montage peut désigner n'importe quel point de montage valide ou (trait d'union), qui désigne une partition de swap.

    • Le champ périphérique peut comporter l'une des valeurs suivantes :

      • le nom d'un périphérique de disque, sous la forme /dev/dsk/c wtxdys z ;

      • le nom d'un volume Solaris Volume Manager sous la forme /dev/md/dsk/dnum ;

      • le nom d'un volume Veritas Volume Manager sous la forme /dev/md/vxfs/dsk/dnum ;

      • le mot-clé merged, imposant la fusion du système de fichiers correspondant au point de montage indiqué avec son parent.

    • Le champ de l'options_fs peut correspondre à l'un des éléments suivants :

      • ufs, désignant un système de fichiers UFS.

      • vxfs, désignant un système de fichiers Veritas.

      • swap, désignant un système de fichiers swap. Le point de montage du swap doit être un – (trait d'union).

      • Pour les systèmes de fichiers qui sont des périphériques logiques (miroirs), plusieurs mots-clés permettent de spécifier les actions à réaliser sur les systèmes de fichiers. Ces mots-clés permettent de créer un périphérique logique, d'en modifier la configuration ou de le supprimer. Pour obtenir une description de ces mots-clés, reportez-vous à la section Création d'un environnement d'initialisation avec des volumes RAID-1 (miroirs).

    • nom_zone indique que le système de fichiers d'une zone non globale doit être placé sur une tranche distincte. Cette option est utilisée lorsque le système de fichiers distinct de la zone réside dans un système de fichiers partagé tel que /zone1/root/export. Elle permet de copier le système de fichiers de la zone dans une nouvelle tranche et évite qu'il ne soit partagé. Le système de fichiers partagé a été créé à l'aide de la commande zonecfg add fs.

    Dans l'exemple suivant, un nouvel environnement d'initialisation intitulé newbe est créé. Le système de fichiers (/) est placé sur c0t1d0s4 . Toutes les zones non globales de l'environnement d'initialisation actuel sont copiées dans le nouvel environnement d'initialisation. La zone non globale zone1 reçoit le point de montage distinct c0t1d0s1.


    Remarque –

    Par défaut, tout système de fichiers autre que les systèmes de fichiers critiques (root (/), /usr et /opt) est partagé entre l'environnement d'initialisation actuel et le nouvel environnement d'initialisation. Le système de fichiers /export est partagé. L'option -m permet de placer le système de fichiers de la zone non globale sur une tranche distincte et d'éviter que les données ne soient partagées. Ainsi, les systèmes de fichiers de zones non globales créés à l'aide de la commande zonecfg add fs ne seront pas partagés entre les environnements d'initialisation. Pour plus d'informations, voir zonecfg(1M).



    # lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1
    
  6. Mettez à niveau l'environnement d'initialisation.

    L'image du système d'exploitation à utiliser pour la mise à niveau provient du réseau.


    # luupgrade -u -n nom_BE -s chemin_image_os
    
    -u

    Met à niveau une image de système d'exploitation sur un environnement d'initialisation.

    -n nom_BE

    Indique le nom de l'environnement d'initialisation que vous souhaitez mettre à niveau.

    -s chemin_image_os

    Indique le chemin d'accès au répertoire comportant une image du système d'exploitation.

    Dans cet exemple, la mise à niveau du nouvel environnement d'initialisation newbe s'effectue à partir d'une image d'installation réseau.


    # luupgrade -n newbe -u -s /net/server/export/Solaris_10/combined.solaris_wos
    
  7. Si vous le souhaitez, vérifiez que l'environnement d'initialisation peut être activé.

    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
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no      -
    newbe               yes       no       no       yes     -
  8. Activez le nouvel environnement d'initialisation.


    # luactivate nom_BE
    

    nom_BE indique le nom de l'environnement d'initialisation à activer.


    Remarque –

    Dans un système x86, l'activation initiale de l'environnement d'initialisation doit s'effectuer à l'aide de la commande luactivate. Pour les activations suivantes, il suffit de sélectionner l'environnement d'initialisation dans le menu GRUB. Pour obtenir des instructions détaillées, reportez-vous à la section x86 : activation d'un environnement d'initialisation avec le menu GRUB.


    L'activation d'un environnement d'initialisation requiert plusieurs conditions. Pour plus d'informations, reportez-vous à la section Activation d'un environnement d'initialisation.

  9. Réinitialisez le système


    # init 6
    

    Attention – Attention –

    N'utilisez que les commandes init ou shutdown pour la réinitialisation. Si vous utilisez les commandes reboot, halt ou uadmin, le système ne changera pas d'environnement d'initialisation. Le dernier environnement d'initialisation à avoir été activé est réinitialisé.


    Les environnements d'initialisation ont permuté : le nouvel environnement d'initialisation est désormais l'environnement d'initialisation actuel.

  10. Si vous le souhaitez, retournez à un autre environnement d'initialisation.

    Si le nouvel environnement d'initialisation n'est pas viable ou si vous souhaitez changer d'environnement d'initialisation, reportez-vous au Chapitre 6, Reprise sur échec : restauration de l'environnement d'initialisation d'origine (Tâches).

Mise à niveau d'un système comportant des zones non globales (Exemple)

La procédure suivante présente les directives abrégées relatives à la mise à niveau à l'aide de Solaris Live Upgrade.

Pour obtenir des explications détaillées, reportez-vous à la section Mise à niveau d'un système comportant des zones non globales à l'aide de Solaris Live Upgrade (Tâches).

Mise à niveau d'un système comportant des zones non globales à l'aide de Solaris Live Upgrade (Tâches)

L'exemple suivant décrit les étapes abrégées de la mise à niveau d'un système comportant des zones non globales. Dans cet exemple, un nouvel environnement d'initialisation est créé à l'aide de la commande lucreate sur un système exécutant Solaris 10. Le système comporte des zones non globales dont une présente un système de fichiers distinct sur un système de fichiers partagé, zone1/root/export. Le nouvel environnement d'initialisation est mis à niveau vers Solaris 10 5/08 avec la commande luupgrade. L'environnement d'initialisation mis à niveau est activé au moyen de la commande luactivate.


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. Installez les patchs requis.

    Vérifiez que vous possédez bien la liste des derniers patchs mis à jour en consultant le site http://sunsolve.sun.com. Recherchez l'info doc 72099 sur le site Web SunSolve. Dans cet exemple, le chemin d'accès aux patchs est le suivant :/ net/server/export/patches.


    # patchadd /net/server/export/patches
    # init 6
    
  2. Supprimez les packages Solaris Live Upgrade de l'environnement d'initialisation.


    # pkgrm SUNWlucfg SUNWluu SUNWlur
    
  3. Insérez le DVD ou CD Solaris dans le lecteur. Installez ensuite les packages de remplacement Solaris Live Upgrade à partir de la version cible.

    • Pour les systèmes SPARC :


      # pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
      
    • Pour les systèmes x86 :


      # pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu
      
  4. Créez un environnement d'initialisation.

    Dans l'exemple suivant, un nouvel environnement d'initialisation intitulé newbe est créé. Le système de fichiers (/) est placé sur c0t1d0s4 . Toutes les zones non globales de l'environnement d'initialisation actuel sont copiées dans le nouvel environnement d'initialisation. Un système de fichiers distinct a été créé à l'aide de la commande zonecfg add fs pour la zone1. Ce système de fichiers distinct (/zone/root/export) est placé sur le système de fichiers partagé c0t1d0s1. Par conséquent, l'environnement d'initialisation actuel et le nouvel environnement d'initialisation ne peuvent pas se le partager.


    # lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1
    
  5. Mettez à niveau le nouvel environnement d'initialisation.

    Dans cet exemple, /net/server/export/Solaris_10/combined.solaris_wos est le chemin d'accès à l'image d'installation réseau.


    # luupgrade -n newbe -u -s  /net/server/export/Solaris_10/combined.solaris_wos
    
  6. Si vous le souhaitez, vérifiez que l'environnement d'initialisation peut être activé.

    La commande lustatus indique si la création de l'environnement d'initialisation est achevée


    # lustatus
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    c0t1d0s0            yes      yes      yes       no           -
    newbe               yes       no       no       yes          -
  7. Activez le nouvel environnement d'initialisation.


    # luactivate newbe
    # init 6
    

    L'environnement d'initialisation newbe est désormais actif.

  8. Si vous le souhaitez, retournez à un autre environnement d'initialisation. Si le nouvel environnement d'initialisation n'est pas viable ou si vous souhaitez changer d'environnement d'initialisation, reportez-vous au Chapitre 6, Reprise sur échec : restauration de l'environnement d'initialisation d'origine (Tâches).

Gestion d'environnements d'initialisation comportant des zones non globales

Les sections suivantes contiennent des informations relatives à la gestion des environnements d'initialisation comportant des zones non globales.

ProcedureAffichage de la configuration du système de fichiers comportant des zones non globales d'un environnement d'initialisation

Cette procédure permet d'afficher la liste des systèmes de fichiers de la zone globale et des zones non globales.

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

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Affichez la liste des systèmes de fichiers.


    # lufslist -n BE_name
    
    nom_BE

    Indique le nom de l'environnement d'initialisation dont vous souhaitez connaître les caractéristiques


Exemple 9–1 Liste des systèmes de fichiers comportant des zones non globales

L'exemple suivant affiche la liste des systèmes de fichiers comportant des zones non globales.


# lufslist -n s3
boot environment name: s3
This boot environent is currently active.
This boot environment will be active on next system boot.

Filesystem              fstype    device size Mounted on Mount Options
------------------------------------------------------------------
/dev/dsk/c0t0d0s1         swap     2151776256   -        -
/dev/dsk/c0t0d0s3         ufs     10738040832   /        -
/dev/dsk/c0t0d0s7         ufs     10487955456   /export  -
                zone <zone1> within boot environment <s3>
/dev/dsk/c0t0d0s5         ufs      5116329984   /export  -

ProcedureComparaison des environnements d'initialisation d'un système comportant des zones non globales

La commande lucompare génère désormais une comparaison des environnements d'initialisation incluant le contenu de zones non globales.

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

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.

  2. Comparez le nouvel environnement d'initialisation et l'environnement d'initialisation actuel.


    # /usr/sbin/lucompare -i  fichier_entrée (or) -t -o  fichier_sortie  nom_BE
    
    -i  fichier_entrée

    Compare les fichiers répertoriés dans fichier_entrée. Le nom des fichiers à comparer doit être absolu. Si l'entrée dans le fichier est un répertoire, la comparaison est récursive pour le répertoire en question. Utilisez cette option ou -t, mais pas les deux.

    -t

    Compare uniquement des fichiers non binaires. La commande file (1) est utilisée sur chaque fichier afin de déterminer si le fichier est un fichier texte. Utilisez cette option ou -i, mais pas les deux.

    -o  fichier_sortie

    Redirige la liste des différences détectées vers fichier_sortie.

    nom_BE

    Indique le nom de l'environnement d'initialisation comparé à l'environnement d'initialisation actif.


Exemple 9–2 Comparaison d'environnements d'initialisation

Dans cet exemple, l'environnement d'initialisation actuel (source) est comparé à l'environnement d'initialisation second_disk et le résultat est inclus dans un fichier.


# /usr/sbin/lucompare -i  /etc/lu/compare/ -o /var/tmp/compare.out second_disk

Utilisation de la commande lumount sur un système comportant des zones non globales

La commande lumount fournit aux zones non globales l'accès à leurs systèmes de fichiers qui résident sur des environnements d'initialisation inactifs. Lorsque l'administrateur de la zone globale se sert de la commande lumount pour monter un environnement d'initialisation inactif, celui-ci s'applique également aux zones non globales.

Dans l'exemple suivant, les systèmes de fichiers adéquats sont montés pour l'environnement d'initialisation newbe sur /mnt dans la zone globale. Les systèmes de fichiers sur newbe des zones non globales en cours d'exécution, montées ou prêtes sont également disponibles sur /mnt au sein de chaque zone.


# lumount -n newbe /mnt

Pour plus d'informations sur le montage, reportez-vous à la page de manuel lumount(1M).