Ce chapitre décrit la mise à niveau d'un système comportant des zones non globales à l'aide de Solaris Live Upgrade.
Ce chapitre décrit Solaris Live Upgrade pour des systèmes de fichiers UFS. Pour consulter les procédures de migration d'un système de fichiers UFS comportant des zones non globales vers un pool racine ZFS, reportez-vous au Chapitre14Solaris Live Upgrade pour ZFS comportant des zones non globales.
Ce chapitre se compose des sections suivantes :
Pour obtenir un récapitulatif des modifications effectuées lorsque vous mettez à niveau un système contenant des zones non globales à l'aide de Solaris Live Upgrade, reportez-vous à la section Mise à niveau avec Solaris Live Upgrade et zones non globales installées (présentation).
Pour obtenir la procédure détaillée relative à la création d'un environnement d'initialisation et à la mise à niveau d'un système à l'aide de Solaris Live Upgrade, reportez-vous à la section Création et mise à niveau d'un environnement d'initialisation comportant des zones non globales (Tâches).
Pour obtenir un exemple présentant de brèves directives relatives à la création d'un environnement d'initialisation et à la mise à niveau d'un système à l'aide de Solaris Live Upgrade, reportez-vous à la section Mise à niveau d'un système comportant des zones non globales (Exemple).
Pour obtenir des informations générales sur la création de zones non globales, reportez-vous au Guide d’administration système : Gestion des ressources conteneurs Solaris et des zones Solaris.
Depuis la commercialisation de la version Solaris 10 8/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.
Vous devez installer le nouveau package SUNWlucfg avec les autres packages Solaris Live Upgrade, SUNWlur et SUNWluu. Ce package est obligatoire pour les systèmes comportant des zones non globales, mais également pour tous les types de système.
La création d'un environnement d'initialisation à partir de l'environnement en cours d'exécution est essentiellement la même que dans les versions précédentes à une exception près. Vous pouvez spécifier une tranche de destination pour un système de fichiers partagé au sein d'une zone non globale. Pour de plus amples informations, reportez-vous à la section Création et mise à niveau d'un environnement d'initialisation comportant des zones non globales (Tâches).
La commande lumount permet aux zones non globales d'accéder aux systèmes de fichiers correspondants présents sur les environnements d'initialisation inactifs. Lorsque l'administrateur de la zone globale monte un environnement d'initialisation inactif à l'aide de la commande lumount, cet environnement s'applique également aux zones non globales. Reportez-vous à la section Utilisation de la commande lumount sur un système comportant des zones non globales.
La comparaison des environnements d'initialisation a été améliorée. La commande lucompare permet désormais de comparer les environnements d'initialisation en tenant compte du contenu des zones non globales. Reportez-vous à la section Comparaison des environnements d'initialisation d'un système comportant des zones non globales.
La commande lufslist a été améliorée et permet désormais de dresser la liste des systèmes pour la zone globale et les zones non globales. Reportez-vous à la section Affichage de la configuration du système de fichiers comportant des zones non globales d'un environnement d'initialisation.
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 8–1 illustre 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.
Dans cet exemple de système à disque unique, le système de fichiers racine ( /) est copié vers c0t0d0s4. Toutes les zones non globales associées au système de fichiers sont également copiées vers s4. L'environnement d'initialisation actuel, bootenv1, et l'environnement d'initialisation inactif, bootenv2, se partagent le système de fichiers /export et le volume /swap. La commande lucreate est la suivante :
# lucreate -c bootenv1 -m /:/dev/dsk/c0t0d0s4:ufs -n bootenv2 |
Dans cet exemple de système à deux disques, le système de fichiers racine (/ ) est copié vers c0t1d0s0. Toutes les zones non globales associées au système de fichiers sont également copiées vers s0. L'environnement d'initialisation actuel, bootenv1, et l'environnement d'initialisation inactif, bootenv2, se partagent le système de fichiers /export et le volume /swap. La commande lucreate est la suivante :
# lucreate -c bootenv1 -m /:/dev/dsk/c0t1d0s0:ufs -n bootenv2 |
La Figure 8–2 illustre la copie de la zone non globale vers l'environnement d'initialisation inactif.
Dans cet exemple de système à disque unique, le système de fichiers racine ( /) est copié vers c0t0d0s4. Toutes les zones non globales associées au système de fichiers sont également copiées vers s4. La zone non globale zone1 présente un système de fichiers distinct créé à l'aide de la commande zonecfg add fs. Le chemin de la zone est /zone1/root/export. Pour éviter qu'il ne soit partagé par l'environnement d'initialisation inactif, le système de fichiers est placé sur la tranche distincte c0t0d0s6. L'environnement d'initialisation actuel, bootenv1, et l'environnement d'initialisation inactif, bootenv2, se partagent le système de fichiers /export et le volume /swap. La commande lucreate est la suivante :
# lucreate -c bootenv1 -m /:/dev/dsk/c0t0d0s4:ufs \ -m /export:/dev/dsk/c0t0d0s6:ufs:zone1 -n bootenv2 |
Dans cet exemple de système à deux disques, le système de fichiers racine (/ ) est copié vers c0t1d0s0. Toutes les zones non globales associées au système de fichiers sont également copiées vers s0. La zone non globale zone1 présente un système de fichiers distinct créé à l'aide de la commande zonecfg add fs. Le chemin de la zone est /zone1/root/export. Pour éviter qu'il ne soit partagé par l'environnement d'initialisation inactif, le système de fichiers est placé sur la tranche distincte c0t1d0s4. L'environnement d'initialisation actuel, bootenv1, et l'environnement d'initialisation inactif, bootenv2, se partagent le système de fichiers /export et le volume /swap. La commande lucreate est la suivante :
# lucreate -c bootenv1 -m /:/dev/dsk/c0t1d0s0:ufs \ -m /export:/dev/desk/c0t1d0s4:ufs:zone1 -n bootenv2 |
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.
Pour consulter un exemple présentant les étapes abrégées de la procédure, reportez-vous à la section Mise à niveau d'un système comportant des zones non globales (Exemple).
À 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 :
Un système de fichiers distinct a été créé pour une zone non globale sur l'environnement d'initialisation actuel à l'aide de la commande zonecfg add fs.
si ce système de fichiers distinct réside sur un système de fichiers partagé, tel que /zone/root/export.
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 dispose d'un nouveau champ facultatif, nom de zone. 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).
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.
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.
Installez les patchs nécessaires.
Assurez-vous de disposer de la liste des derniers patchs mis à jour en consultant le site http://sunsolve.sun.com. Recherchez l'info doc 206844 (auparavant nommé 72099) sur le site Web SunSolve.
Vous obtiendrez la liste des patchs sur le site Web SunSolveSM.
Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.
Installez les patchs en utilisant la commande patchadd.
# patchadd path_to_patches |
chemin_des_patchs correspond au chemin d'accès à l'emplacement des patchs.
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 |
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 |
Installez les packages Solaris Live Upgrade.
Insérez le DVD ou CD Solaris dans le lecteur.
Ce support contient les packages relatifs à la version de mise à niveau.
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.
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu |
Vérifiez que les packages ont été installés.
# pkgchk -v SUNWlucfg SUNWlur SUNWluu |
Créez le nouvel environnement d'initialisation.
# lucreate [-A 'BE_description'] [-c BE_name] \ -m mountpoint:device[,metadevice]:fs_options[:zonename] [-m ...] -n BE_name |
Nom de l'environnement d'initialisation à créer. nom_BE doit être unique sur le système.
(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.
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.
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, indiquant un volume 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.
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 |
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 BE_name -s os_image_path |
Met à niveau une image de système d'exploitation sur un environnement d'initialisation.
Indique le nom de l'environnement d'initialisation que vous souhaitez mettre à niveau.
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 |
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 - |
Activez le nouvel environnement d'initialisation.
# luactivate BE_name |
nom_BE indique le nom de l'environnement d'initialisation à activer.
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.
Réinitialisez le système
# init 6 |
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.
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 Chapitre6Reprise sur échec : restauration de l'environnement d'initialisation d'origine (Tâches).
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).
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 10/08 avec la commande luupgrade. L'environnement d'initialisation mis à niveau est activé au moyen de la commande luactivate.
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.
Installez les patchs requis.
Assurez-vous de disposer de la liste des derniers patchs mis à jour en consultant le site http://sunsolve.sun.com. Recherchez l'info doc 206844 (auparavant nommé 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 |
Supprimez les packages Solaris Live Upgrade de l'environnement d'initialisation.
# pkgrm SUNWlucfg SUNWluu SUNWlur |
Insérez le DVD ou CD Solaris dans le lecteur. Installez ensuite les packages de remplacement Solaris Live Upgrade à partir de la version cible.
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWlucfg SUNWlur SUNWluu |
Créez un environnement d'initialisation.
Dans l'exemple suivant, un nouvel environnement d'initialisation intitulé newbe est créé. Le système de fichiers racine (/) 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 |
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 |
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 - |
Activez le nouvel environnement d'initialisation.
# luactivate newbe # init 6 |
L'environnement d'initialisation newbe est désormais actif.
(Facultatif) Restauration vers 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 Chapitre6Reprise sur échec : restauration de l'environnement d'initialisation d'origine (Tâches).
Les sections suivantes contiennent des informations relatives à la gestion des environnements d'initialisation comportant des zones non globales.
Cette procédure permet d'afficher la liste des systèmes de fichiers de la zone globale et des zones non globales.
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 de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.
Affichez la liste des systèmes de fichiers.
# lufslist -n BE_name |
Indique le nom de l'environnement d'initialisation dont vous souhaitez connaître les caractéristiques
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 - |
La commande lucompare génère désormais une comparaison des environnements d'initialisation incluant le contenu de zones non globales.
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 de plus amples informations sur les rôles, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services.
Comparez le nouvel environnement d'initialisation et l'environnement d'initialisation actuel.
# /usr/sbin/lucompare -i infile (or) -t -o outfile BE_name |
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.
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.
Redirige la liste des différences détectées vers fichier_sortie.
Indique le nom de l'environnement d'initialisation comparé à l'environnement d'initialisation actif.
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 |
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).