Guide d'administration système : Gestion des ressources des conteneurs et des zones Oracle Solaris

Partie II Zones

Cette partie présente la technologie de partitionnement du logiciel Solaris Zones laquelle permet de rendre virtuels les services du système d'exploitation dans le but de créer un environnement isolé pour l'exécution des applications. Ce partitionnement empêche les processus en cours d'exécution dans une zone d'analyser ou d'affecter les processus en cours d'exécution dans d'autres zones.

Chapitre 16 Introduction aux zones Solaris

L'utilitaire Solaris Zones du système d'exploitation Solaris permet de disposer d'un environnement isolé pour y exécuter des applications sur le système. Les zones Solaris sont des composants de l'environnement Solaris Container

Ce chapitre comprend les sections suivantes :

Pour passer directement à la création de zones, allez au Chapitre 17Configuration des zones non globales (présentation).

Présentation des zones

La technologie de partitionnement Solaris Zones permet de virtualiser les services des systèmes d'exploitation et fournit un environnement isolé et sécurisé pour l'exécution des applications. Une zone est un environnement de système d'exploitation virtualisé, créé au sein d'une instance unique du système d'exploitation Solaris. En créant une zone, vous créez un environnement d'exécution d'applications dans lequel les processus sont isolés du reste du système. Cela empêche les processus exécutés dans une zone de contrôler ou d'affecter les processus exécutés dans d'autres zones. Ainsi, même un processus exécuté avec les informations d'identification du superutilisateur ne peut affecter l'activité des autres zones.

Toute zone fournit également une couche abstraite qui sépare les applications des attributs physiques de la machine sur laquelle elles sont déployées, par exemple les chemins d'accès aux périphériques physiques.

L'utilitaire Zones peut être utilisé sur toute machine équipée de Solaris 10 ou version plus récente. La nombre maximum de zones sur un système est 8192. Le nombre de zones pouvant être hébergées sur un même système est en fait déterminé par les besoins en ressources totaux de l'application exécutée sur toutes les zones.

Dans la version Solaris 10, il existe deux modèles de systèmes de fichiers racine de zones non globales : à racine fragmentée et à racine entière. Le modèle à racine fragmentée optimise le partage des objets. Le modèle à racine entière offre une capacité de configuration maximale. Ces concepts font l'objet d'une explication détaillée dans le Chapitre 18Planification et configuration de zones non globales (tâches).

Solaris 10 9/10 : les produits installés, appelés ressources système, sont contrôlés par une fonction d'enregistrement automatique. Lors de l'installation, l'utilisateur fournit des informations d'identification ou s'enregistre de manière anonyme. Lors de la réinitialisation du système, les balises de service des nouveaux produits sont chargées sur le serveur My Oracle Support. Cette fonction n'est disponible que dans la zone globale. Pour plus d'informations, reportez-vous au System Administration Guide: Basic Administration .

À propos des zones marquées

Les zones marquées (BrandZ) forment le cadre pour créer des conteneurs qui contiennent des ensembles alternatifs de comportements d'exécution. La marque peut renvoyer à un large éventail d'environnements d'exploitation. Par exemple, la zone non globale peut émuler le système d'exploitation Solaris 8 ou un environnement d'exploitation tel que Linux.

La marque définit l'environnement d'exploitation qu'il est possible d'installer dans la zone et détermine comment le système se comportera au sein de la zone, afin que le logiciel installé dans cette zone fonctionne correctement. En outre, une marque de zone identifie le type correct d'application au lancement de celle-ci. La gestion des zones marquées est assurée par le biais d'extensions des commandes de zones standard. La plupart des procédures d'administration sont identiques à toutes les zones.

Les deux marques suivantes sont prises en charge sur les machines SPARC exécutées sous le système d'exploitation Solaris 10 8/07 ou sous une version ultérieure de Solaris 10 :

Les autres marques prises en charge sur le système d'exploitation Solaris 10 sont les suivantes :

Vous pouvez configurer et installer des zones marquées sur un système Solaris de confiance dont les étiquettes sont activées. Cependant, vous ne pouvez pas initialiser les zones marquées sur cette configuration système.

Utilité des zones

Les zones sont idéales pour les environnements consolidant plusieurs applications sur un serveur unique. La gestion de plusieurs machines pouvant s'avérer coûteuse et complexe, il est intéressant de consolider plusieurs applications sur de gros serveurs, plus évolutifs.

Le système de la figure ci-dessous comporte quatre zones. Les tâches sont exécutées de manière indépendante dans chacune des zones (apps, users et work) de l'environnement consolidé. Cet exemple montre comment différentes versions d'une même application peuvent être exécutées sans inconvénient dans différentes zones, afin de répondre aux exigences de consolidation. Chaque zone fournit un ensemble personnalisé de services.

Figure 16–1 Exemple de consolidation de serveurs de zones

Vous pouvez exécuter sans risque différentes versions d'une même application dans différentes zones.

Les zones permettent d'utiliser plus efficacement les ressources du système. La réallocation dynamique offre la possibilité de déplacer les ressources non utilisées vers d'autres conteneurs. L'isolement des erreurs et des violations de la sécurité évite par ailleurs d'avoir recours à un système dédié, et donc sous-utilisé, pour les applications à risques. Grâce aux zones, vous pouvez les consolider avec d'autres applications.

Les zones permettent également de déléguer certaines fonctions administratives pendant la maintenance de l'ensemble de la sécurité du système.

Fonctionnement des zones

Une zone non globale peut être considérée comme une boîte dans laquelle vous pouvez exécuter une ou plusieurs applications sans interférer avec le reste du système. Les zones Solaris isolent les applications et les services à l'aide de limites flexibles, définies à l'échelle logicielle. Les applications exécutées dans une même instance du système d'exploitation Solaris peuvent être gérées indépendamment les unes des autres. Vous pouvez donc exécuter différentes versions d'une même application dans différentes zones, en fonction des exigences de la configuration.

Tout processus assigné à une zone peut manipuler, contrôler et communiquer directement avec les autres processus assignés à cette même zone. Cela est toutefois impossible si ces processus sont assignés à d'autres zones du système ou ne sont assignés à aucune zone. Les processus assignés à différentes zones peuvent uniquement communiquer via les API du réseau.

À partir de la version Solaris 10 8/07, le réseau IP peut être configuré de deux façons, selon que la zone possède sa propre instance IP ou partage l'état et la configuration de la couche IP avec la zone globale. Pour plus d'informations sur les types d'IP dans les zones, reportez-vous à la section Interfaces réseau de zones. Pour en savoir plus sur la configuration, reportez-vous à la section Configuration d'une zone.

Tout système Solaris contient une zone globale. La zone globale a deux fonctions principales. La zone globale est à la fois la zone par défaut pour le système et la zone utilisée pour le contrôle administratif au niveau du système. En l'absence de zones non globales (nommées tout simplement zones), tous les processus exécutés dans la zone globale sont créés par l'administrateur global.

C'est la seule zone à partir de laquelle il est possible de configurer, d'installer, de gérer ou de désinstaller une zone non globale. Seule la zone globale peut être initialisée à partir du matériel système. L'administration de l'infrastructure du système, notamment les périphériques physiques, le routage dans une zone en mode IP partagé et la reconfiguration dynamique, n'est réalisable qu'à partir de la zone globale. Les processus auxquels sont affectés les privilèges adéquats et s'exécutant dans la zone globale peuvent accéder à des objets associés à d'autres zones.

Dans certains cas, les processus ne disposant pas de privilèges dans une zone globale peuvent exécuter des opérations non permises aux processus dotés de privilèges dans une zone non globale. Par exemple, les utilisateurs travaillant dans la zone globale peuvent consulter les informations relatives à tous les processus existant sur le système. Si cette capacité pose un problème pour votre site, vous pouvez limiter l'accès à la zone globale.

Chaque zone, y compris la zone globale, se voit assigner un nom. Celui de la zone globale est toujours global. Chaque zone possède également un identificateur numérique unique, qui lui est assigné par le système lors de son initialisation. L'ID de la zone globale est toujours 0. Vous trouverez des explications détaillées sur les noms et les ID de zones à la section Utilisation de la commande zonecfg.

Chaque zone possède aussi un nom de nœud, indépendant du nom de zone et assigné par l'administrateur de la zone. Pour plus d'informations, reportez-vous à la section Nom de nœud dans une zone non globale.

Le chemin du répertoire racine de chaque zone est lié au répertoire racine de la zone globale. Pour plus d'informations, reportez-vous à la section Utilisation de la commande zonecfg.

La classe de programmation des zones non globales est définie sur celle du système par défaut. Pour une explication détaillée des méthodes utilisées pour définir la classe de programmation dans une zone, reportez-vous à la section Classe de programmation dans une zone.

La commande priocntl décrite dans la page de manuel priocntl(1) permet de placer les processus en cours d'exécution dans une autre classe de programmation sans changer la classe de programmation par défaut et sans réinitialiser.

Résumé des caractéristiques des zones

Vous trouverez, dans le tableau ci-dessous, un résumé des caractéristiques des zones globales et non globales.

Type de zone 

Caractéristique 

Globale 

 

  • Se voit assigner l'ID 0 par le système

  • Fournit une instance unique du noyau Solaris initialisable et exécuté sur le système

  • Contient une installation complète des packages des logiciels système Solaris

  • Peut contenir des packages logiciels ou des logiciels supplémentaires, des répertoires, des fichiers et d'autres données non installées par l'intermédiaire de packages

  • Fournit une base de données de produits complète et cohérente contenant les informations relatives à tous les composants logiciels installés dans la zone globale

  • Détient les informations de configuration spécifiques à la zone globale uniquement, par exemple le nom d'hôte de la zone globale et la table du système de fichiers

  • Est la seule zone ayant connaissance de tous les périphériques et systèmes de fichiers

  • Est la seule zone ayant connaissance de l'existence et de la configuration d'une zone non globale

  • Est la seule zone à partir de laquelle il est possible de configurer, d'installer, de gérer ou de désinstaller une zone non globale

Non globale 

 

  • Se voit assigner un ID de zone lors de son initialisation (ID assigné par le système)

  • Partage les opérations au-dessous du noyau Solaris initialisé à partir de la zone globale

  • Contient un sous-ensemble installé de l'ensemble des packages des logiciels système Solaris

  • Contient des packages logiciels Solaris partagés à partir de la zone globale

  • Peut contenir des packages logiciels supplémentaires installés, non partagés à partir de la zone globale

  • Peut contenir d'autres logiciels, répertoires, fichiers et données créés dans la zone non globale et non installés par l'intermédiaire de packages ni partagés à partir de la zone globale

  • Détient une base de données de produits complète et cohérente contenant des informations sur tous les composants logiciel installés dans la zone, qu'ils soient présents dans la zone non globale ou partagés en lecture seule à partir de la zone globale

  • N'a pas connaissance de l'existence d'autres zones

  • Ne peut ni installer, ni gérer, ni désinstaller des zones, y compris elle-même

  • Détient des informations de configuration spécifiques à cette zone non globale uniquement, par exemple le nom d'hôte de la zone non globale et la table du système de fichiers

  • Peut posséder son propre paramètre de fuseau horaire

Administration de zones non globales

L'administrateur global possède des privilèges de superutilisateur ou joue le rôle d'administrateur principal. Lorsqu'il est connecté à une zone globale, l'administrateur global peut contrôler le système comme un tout.

Les zones non globales peuvent être administrées par un administrateur de zone. Le profil de gestion de zone correspondant lui est assigné par l'administrateur global. Les privilèges d'un administrateur de zone sont limités à une zone non globale.

Création de zones non globales

Pour configurer une zone, l'administrateur global utilise la commande zonecfg et spécifie différents paramètres concernant la plate-forme virtuelle et l'environnement applicatif. Il utilise ensuite la commande d'administration de zone zoneadm pour installer les logiciels au niveau du package dans l'arborescence de système de fichiers définie pour la zone. Il peut se connecter à la zone installée à l'aide de la commande zlogin. La première connexion marque la fin de la configuration interne de la zone. La commande zoneadm permet de l'initialiser.

Pour plus d'informations sur la configuration des zones, reportez-vous au Chapitre 17Configuration des zones non globales (présentation). Pour plus de détails sur l'installation des zones, reportez-vous au Chapitre 19À propos de l'installation, de l'arrêt, du clonage et de la désinstallation de zones non globales (présentation). Pour plus d'informations sur la connexion aux zones, reportez-vous au Chapitre 21Connexion à une zone non globale (présentation).

États des zones non globales

Les zones non globales peuvent se trouver dans différents états :

Configuré

La configuration de la zone est terminée et validée sur support de stockage stable. Cependant, les éléments devant être spécifiés après l'initialisation initiale de l'environnement applicatif de la zone ne sont pas encore présents.

Incomplet

Pendant l'installation ou la désinstallation, la commande zoneadm définit l'état de la zone cible sur Incomplet. Une fois l'opération correctement effectuée, l'état est défini sur l'état correct.

Installé

La configuration de la zone est instanciée sur le système. La commande zoneadm permet de s'assurer que la configuration peut être utilisée avec succès sur le système Solaris désigné. Les packages sont installés sous le chemin racine de la zone. Dans cet état, la zone n'a pas de plate-forme virtuelle associée.

Prêt

La plate-forme virtuelle de la zone est établie. Le noyau crée le processus zsched ; les interfaces réseau sont paramétrées et disponibles pour la zone ; les systèmes de fichiers sont montés et les périphériques configurés. Un ID de zone unique est attribué par le système. À ce stade, aucun processus associé à la zone n'a été démarré.

En cours d'exécution

Les processus utilisateur associés à l'environnement d'application de la zone sont en cours d'exécution. La zone passe à l'état En cours d'exécution dès que le premier processus utilisateur associé à l'environnement applicatif (init) est créé.

Arrêt en cours et hors service

Ces états sont des états transitoires qui sont visibles pendant l'arrêt de la zone. Cependant, une zone incapable de s'arrêter pour quelque raison que ce soit s'arrêtera dans l'un de ces états.

Le Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches) et la page de manuel zoneadm(1M) décrivent l'utilisation de la commande zoneadm pour déclencher les transitions entre ces états.

Tableau 16–1 Commandes affectant l'état des zones

État actuel de la zone 

Commandes pertinentes 

Configuré 

zonecfg -z nom de zone verify

zonecfg -z nom de zone commit

zonecfg -z nom de zone delete

zoneadm -z nom de zone attach

zoneadm -z nom de zone verify

zoneadm -z nom de zone install

zoneadm -z nom de zone clone

Vous pouvez également utiliser la commande zonecfg pour renommer une zone en état Configuré ou Installé.

Incomplet 

zoneadm -z nom de zone uninstall

Installée 

zoneadm -z nom de zone ready (optionnelle)

zoneadm -z nom de zone boot

zoneadm -z nom de zone uninstall désinstalle du système la configuration de la zone spécifiée.

zoneadm -z nom de zone move chemin

zoneadm -z nom de zone detach

zonecfg -z nom de zone peut être utilisée pour ajouter ou supprimer une propriété attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl ou scheduling-class. Vous pouvez également renommer les zones installées. Les ressources inherit-pkg-dir ne peuvent pas être modifiées.

Prêt 

zoneadm -z nom de zone boot

zoneadm halt et la réinitialisation du système passent les zones prêtes à l'état Installé.

zonecfg -z nom de zone peut être utilisée pour ajouter ou supprimer une propriété attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl ou scheduling-class. Les ressources inherit-pkg-dir ne peuvent pas être modifiées.

En cours d'exécution 

zlogin options nom de zone

zoneadm -z nom de zone reboot

zoneadm -z nom de zone halt définit les zones prêtes sur l'état Installé.

zoneadm halt et la réinitialisation du système redéfinissent les zones en cours d'exécution sur l'état Installé.

zonecfg -z nom de zone peut être utilisée pour ajouter ou supprimer une propriété attr, bootargs, capped-memory, dataset, dedicated-cpu, device, fs, ip-type, limitpriv , net, rctl ou scheduling-class. Les ressources zonepath et inherit-pkg-dir ne peuvent pas être modifiées.


Remarque –

Les paramètres modifiés par la commande zonecfg n'ont aucune incidence sur les zones en cours d'exécution. La zone doit être réinitialisée pour que les changements soient effectifs.


Caractéristiques des zones non globales

L'isolement assuré par les zones peut porter sur presque tous les niveaux de granularité souhaités. Une zone peut fonctionner sans CPU dédiée, périphérique physique ou toute autre partie de la mémoire physique. Ces ressources peuvent soit être multiplexées sur un certain nombre de zones en cours d'exécution au sein d'un domaine ou d'un système unique, soit être allouées zone par zone grâce aux fonctions de gestion de ressources disponibles sur le système d'exploitation.

Chaque zone fournit un ensemble personnalisé de services. Pour renforcer l'isolement des processus, il est possible de faire en sorte que seuls les processus existants d'une même zone soient détectés ou signalés. La communication entre les zones s'effectue en dotant chaque zone d'une connectivité réseau IP. Une application s'exécutant dans une zone ne peut observer le trafic réseau d'une autre zone. L'isolement est garanti même si les flux de paquets respectifs transitent par la même interface physique.

Une partie de l'arborescence du système de fichiers est attribuée à chacune des zones. Chaque zone étant confinée à sa subdivision de l'arborescence du système de fichiers, la charge s'exécutant dans une zone particulière ne peut accéder aux données sur disque d'une charge s'exécutant dans une autre zone.

Les fichiers utilisés par des services d'attribution de noms résident dans la vue du système de fichiers racine d'une zone. Les services d'attribution de noms des différentes zones sont ainsi isolés les uns des autres et les services peuvent être configurés différemment.

Utilisation des fonctions de gestion de ressources avec les zones non globales

Si vous utilisez des fonctions de gestion de ressources, vous devez aligner les limites des contrôles de gestion de ressources sur celles des zones. Cet alignement crée un modèle de machine virtuelle plus complet, dans lequel l'accès aux espaces de noms, l'isolement de sécurité et l'utilisation des ressources sont contrôlés.

Les exigences particulières relatives à l'utilisation des fonctions de gestion de ressources avec des zones sont traitées individuellement dans les chapitres consacrés à ces fonctions.

Fonctions fournies par les zones non globales

Les zones non globales assurent les fonctions suivantes :

Sécurité

Lorsqu'un processus a été placé dans une zone autre que la zone globale, ni ce processus ni aucun de ses fils ne peuvent être déplacés vers une autre zone.

Les services réseau peuvent être exécutés dans une zone. En exécutant les services réseau dans une zone, vous limitez les dommages éventuels en cas de violation de la sécurité. Les actions susceptibles d'être entreprises par un intrus ayant exploité une faille de sécurité dans un logiciel exécuté dans une zone se limitent à cette zone. Les privilèges disponibles dans une zone sont un sous-ensemble de ceux disponibles sur le système.

Isolement

Les zones permettent de déployer de nombreuses applications sur une même machine, même si ces applications s'exécutent sur des domaines de confiance différents, requièrent un accès exclusif à une ressource globale ou posent des problèmes dans le cas de configurations globales. Plusieurs applications exécutées dans différentes zones en mode IP partagé sur un même système peuvent par exemple être liées au même port réseau à l'aide des différentes adresses IP associées à chaque zone ou à l'aide de l'adresse générique. Cela évite que les applications contrôlent ou interceptent mutuellement leur trafic réseau, les données de leurs systèmes de fichiers ou l'activité de leurs processus.

Isolement du réseau

Lorsqu'il est nécessaire d'isoler une zone au niveau de la couche IP sur le réseau, par exemple en la connectant à des VLAN ou des LAN autres que la zone globale ou des zones non globales, pour des raisons de sécurité, la zone peut avoir une instance IP exclusive. La zone en mode IP exclusif peut être utilisée pour consolider les applications devant communiquer sur divers sous-réseaux sous différents VLAN ou LAN.

Les zones peuvent aussi être configurées comme des zones en mode IP partagé. Ces zones sont reliées au même VLAN ou au même LAN que la zone globale et partagent la configuration de routage IP avec celle-ci. Les zones en mode IP partagé possèdent des adresses IP séparées, mais partagent le reste de la configuration IP.

Virtualisation

Les zones fournissent un environnement virtuel qui peut cacher des détails tels que les périphériques physiques, l'adresse IP principale du système et le nom d'hôte aux applications. Un même environnement applicatif peut être mis à jour sur différentes machines physiques. L'environnement virtuel permet de séparer l'administration de chacune des zones. Les actions entreprises par un administrateur de zone dans une zone non globale n'ont aucune incidence sur le reste du système.

Granularité

L'isolement assuré par les zones peut porter sur presque tous les niveaux de granularité souhaités. Pour plus d'informations, reportez-vous à la section Caractéristiques des zones non globales.

Environnement

Les zones ne modifient pas l'environnement dans lequel les applications sont exécutées, excepté lorsque cela s'avère nécessaire pour atteindre les objectifs de sécurité et d'isolement voulus. Les zones ne possédant pas d'API ou d'ABI spécifique, il n'est pas nécessaire d'y porter les applications. Celles-ci s'exécutent dans l'environnement applicatif Solaris standard doté des interfaces correspondantes, avec certaines limitations. Ces limitations concernent essentiellement les applications qui tentent d'exécuter des opérations requérant des privilèges.

Les applications de la zone globale s'exécutent sans changement, que d'autres zones soient configurées ou non.

Paramétrage des zones sur le système (liste des tâches)

Vous trouverez dans le tableau ci-dessous une vue d'ensemble des tâches nécessaires au paramétrage initial des zones de votre système.

Tâche 

Description 

Voir 

Identifier les applications devant être exécutées dans des zones. 

Répertoriez les applications qui s'exécutent sur le système : 

  • Triez les applications cruciales pour vos objectifs métier.

  • Évaluez les besoins des applications au niveau du système.

Au besoin, reportez-vous à vos objectifs métier et à votre documentation système. 

Déterminer le nombre de zones à configurer. 

Évaluez : 

  • les prescriptions de performances des applications à exécuter dans les zones ;

  • la disponibilité des 100 Mo d'espace disque libre recommandés pour chaque zone à installer.

 

Reportez-vous à la section Évaluation du paramétrage du système.

Décider de l'utilisation ou non de pools de ressources avec la zone pour créer un conteneur. 

Si vous utilisez également des fonctions de gestion de ressources sur le système, alignez les zones avec les limites de gestion des ressources. Configurez les pools de ressources avant de configurer les zones. 

Notez qu'à partir de la version Solaris 10 8/07, vous pouvez ajouter rapidement des contrôles de ressources et des fonctionnalités de pool aux zones à l'aide des propriétés zonecfg.

Reportez-vous à la section Configuration d'une zone et au Chapitre 13Création et administration des pools de ressources (tâches).

Exécuter les tâches de préconfiguration. 

Déterminez le nom de la zone et son chemin d'accès. Décidez s'il doit s'agir d'une zone en mode IP partagé ou IP exclusif et déterminez les adresses IP ou le nom de la liaison de données. Déterminez les systèmes de fichiers et les périphériques requis pour chaque zone. Déterminez la classe de programmation de la zone. Déterminez le jeu de privilèges auxquels les processus devront être limités au sein de la zone si le jeu par défaut est insuffisant. Notez que certains paramètres de zonecfg ajoutent des privilèges automatiquement. Par exemple, ip-type=exclusive ajoute automatiquement les privilèges requis pour la configuration et la gestion des piles réseau.

Pour plus d'informations sur le nom de la zone, son chemin, les types d'IP, les adresses IP, les systèmes de fichiers, les périphériques, la classe de programmation et les privilèges, reportez-vous au Chapitre 17Configuration des zones non globales (présentation) et à la section Évaluation du paramétrage du système. Pour en savoir plus sur les privilèges par défaut et les privilèges pouvant être configurés dans les zones non globales, reportez-vous à la section Privilèges dans une zone non globale. Pour plus d'informations sur la disponibilité des fonctionnalités IP, reportez-vous aux sections Mise en réseau dans des zones non globales en mode IP partagé et Solaris 10 8/07 : mise en réseau dans des zones non globales en mode IP exclusif.

Développer les configurations. 

Configurez les zones non globales. 

Reportez-vous à la section Configuration, vérification et validation d'une zone et à la page de manuel zonecfg(1M).

En tant qu'administrateur global, vérifier et installer les zones configurées. 

Les zones doivent être vérifiées et installées avant la connexion. 

Reportez-vous au Chapitre 19À propos de l'installation, de l'arrêt, du clonage et de la désinstallation de zones non globales (présentation) et au Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches).

En tant qu'administrateur global, se connecter à chaque zone non globale à l'aide de la commande zlogin et de l'option -C ou placer un fichier sysidcfg dans le répertoire /etc de la zone.

 

Reportez-vous au Chapitre 21Connexion à une zone non globale (présentation) et au Chapitre 22Connexion à une zone non globale (tâches).

En tant qu'administrateur global, initialiser la zone non globale. 

Initialisez chaque zone de manière à ce qu'elle soit en cours d'exécution. 

Reportez-vous au Chapitre 19À propos de l'installation, de l'arrêt, du clonage et de la désinstallation de zones non globales (présentation) et au Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches).

Préparer la nouvelle zone à des fins de production. 

Créez les comptes utilisateurs, ajoutez les logiciels souhaités et personnalisez la configuration de la zone. 

Reportez-vous à la documentation que vous utilisez pour paramétrer les machines nouvellement installées. Les considérations particulières applicables aux environnements comportant des zones sont traitées dans ce guide. 

Chapitre 17 Configuration des zones non globales (présentation)

Ce chapitre constitue une introduction à la configuration des zones non globales.

Il comprend les sections suivantes :

Après avoir étudié la configuration des zones, allez au Chapitre 18Planification et configuration de zones non globales (tâches) pour configurer les zones non globales en vue de leur installation sur le système.

Pour plus d'informations sur la configuration des zones marquées lx, reportez-vous au Chapitre 32Planification de la configuration de zone marquée lx (présentation) et au Chapitre 33Configuration de la zone marquée lx (tâches).

Nouveautés

Solaris 10 6/06 : ajout de la prise en charge du système de fichiers ZFS, y compris la capacité à ajouter une ressource de jeu de données dans une zone non globale native. Pour plus d'informations, reportez-vous à la section Propriétés des types de ressources.

Solaris 10 11/06 : prise en charge de privilèges configurables. Reportez-vous à la section Solaris 10 11/06 et versions ultérieures : privilèges configurables.

Solaris 10 8/07 : prise en charge des fonctionnalités suivantes pour la commande zonecfg :

Solaris 10 10/08 : La propriété defrouter a été ajoutée à la ressource net dans l'utilitaire zonecfg pour les zones non globales à IP partagé. Vous pouvez définir le routeur par défaut pour l'interface réseau à l'aide de cette propriété.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

À propos des ressources dans les zones

Toute zone dotée de fonctionnalités de gestion de ressources est appelée conteneur. Dans un conteneur, les ressources pouvant être contrôlées sont notamment :

Configuration avant installation

Avant d'installer une zone non globale et de l'utiliser sur un système, il faut la configurer.

La commande zonecfg permet de créer la configuration et de déterminer si les ressources et les propriétés spécifiées sont valides sur un système hypothétique. La vérification effectuée par zonecfg pour une configuration donnée consiste à :

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

Composants des zones

Cette section porte sur les composants de zones, requis et optionnels, susceptibles d'être configurés. Vous trouverez de plus amples informations dans la section Données de configuration de zones.

Nom de zone et chemin d'accès

Vous devez nommer la zone et choisir le chemin qui permettra d'y accéder.

Initialisation automatique (autoboot) d'une zone

Le paramètre de propriété autoboot détermine si la zone est automatiquement initialisée en cas d'initialisation de la zone globale. Le service des zones, svc:/system/zones:default doit également être activé.

Association de pools de ressources

Si vous avez configuré des pools de ressources sur votre système, comme décrit dans le Chapitre 13Création et administration des pools de ressources (tâches), vous pouvez utiliser la propriété pool pour associer la zone à l'un des pools de ressources lorsque vous la configurez.

À partir de la version Solaris 10 8/07, même si aucun pool de ressources n'est configuré, vous pouvez spécifier, à l'aide de la ressource dedicated-cpu, qu'un sous-ensemble des processeurs du système doit être dédié à une zone non globale tant que celle-ci est en cours d'exécution. Le système crée de manière dynamique un pool temporaire destiné à être utilisé lorsque la zone est en cours d'exécution. Vous pouvez propager les paramètres du pool pendant les migrations en les spécifiant dans la commande zonecfg.


Remarque –

Toute configuration de zone utilisant un pool permanent défini par le biais de la propriété pool est incompatible avec un pool temporaire configuré à l'aide de la ressource dedicated-cpu. Vous ne pouvez définir que l'une de ces deux propriétés.


Solaris 10 8/07 : ressource dedicated-cpu

La ressource dedicated-cpu spécifie qu'un sous-ensemble des processeurs du système doit être dédié à une zone non globale tant que celle-ci est en cours d'exécution. Dès que la zone est initialisée, le système crée de manière dynamique un pool temporaire destiné à être utilisé lorsque la zone est en cours d'exécution.

Vous pouvez propager les paramètres du pool pendant les migrations en les spécifiant dans la commande zonecfg.

La ressource dedicated-cpu définit les limites de ncpus et éventuellement d'importance.

ncpus

Spécifie le nombre de CPU ou une plage de CPU (par exemple 2–4). Si vous optez pour une plage de CPU parce que vous souhaitez que le pool de ressources se comporte de manière dynamique, vous devez également :

importance

Si, pour un plus grand dynamisme du pool de ressources, vous avez choisi d'utiliser une plage de CPU, définissez également la propriété importance. La propriété importance détermine l'importance relative du pool mais est optionnelle. Elle n'est nécessaire que si vous spécifiez une plage pour ncpus et utilisez des pools de ressources dynamiques gérés par poold. Si poold n'est pas en cours d'exécution, la propriété importance est ignorée. Si poold est en cours d'exécution et si la propriété importance n'a pas été définie, importance adopte par défaut la valeur 1. Pour plus d'informations, reportez-vous à la section Contrainte de propriété pool.importance.


Remarque –

Les ressources capped-cpu et dedicated-cpu sont incompatibles. L'instance de contrôle de ressource cpu-shares et la ressource dedicated-cpu sont incompatibles.


Solaris 10 5/08 : ressource capped-cpu

La ressource capped-cpu définit une limite absolue très précise de la quantité de ressources CPU qu'un projet ou une zone peut consommer. Associée aux jeux de processeurs, la capacité de CPU limite l'utilisation de ressources CPU au sein d'un jeu. La ressource capped-cpu possède une seule propriété ncpus, dont la valeur est un nombre décimal positif avec deux chiffres après la virgule. Cette propriété correspond aux unités de CPU. Cette ressource n'accepte pas de plage, mais elle accepte les nombres décimaux. Lorsque vous spécifiez la propriété ncpus, notez que la valeur 1 correspond à 100 pourcent d'une CPU. Ainsi, la valeur 1,25 équivaut à 125 pourcent, car 100 pourcent correspond à une CPU complète sur le système.


Remarque –

Les ressources capped-cpu et dedicated-cpu sont incompatibles.


Classe de programmation dans une zone

Vous pouvez utiliser l'ordonnanceur équitable (FSS, Fair Share Scheduler) pour contrôler l'allocation des ressources CPU disponibles aux différentes zones en fonction de leur charge de travail. Celle-ci se reflète dans le nombre de parts de ressources CPU que vous assignez à chaque zone. Même si vous n'utilisez pas FSS pour gérer l'allocation de ressources CPU aux zones, vous pouvez définir la classe de programmation des zones pour utiliser FSS de manière à pouvoir assigner des parts aux projets au sein des zones.

Lorsque vous définissez explicitement la propriété cpu-shares, l'ordonnanceur équitable sert de classe de programmation pour la zone concernée. Dans ce cas, il est cependant préférable de définir FSS comme classe de programmation par défaut du système à l'aide de la commande dispadmin. Toutes les zones disposent ainsi d'une part équitable des ressources CPU du système. Toute zone pour laquelle la propriété cpu-shares n'est pas définie utilise la classe de programmation par défaut du système. Pour définir la classe de programmation d'une zone, vous pouvez procéder de différentes façons :

Notez que vous pouvez utiliser la commande priocntl décrite dans la page de manuel priocntl(1) pour placer les processus en cours d'exécution dans une autre classe de programmation sans modifier la classe de programmation par défaut et sans réinitialiser.

Solaris 10 8/07 : contrôle de la mémoire physique et ressource capped-memory

La ressource capped-memory définit les limites des propriétés physical, swap et locked de la mémoire. Chaque limite est optionnelle, mais vous devez en définir au moins une.


Remarque –

Généralement, les applications ne bloquent pas une quantité importante de mémoire, mais vous pouvez décider de définir un verrouillage de mémoire si les applications de la zone sont susceptibles de bloquer de la mémoire. Si la confiance de la zone est un problème, vous pouvez définir la limite de mémoire verrouillée à 10 % de la mémoire physique du système, ou 10 % de la limite de mémoire physique de la zone.


Pour plus d'informations, reportez-vous au Chapitre 10Contrôle de la mémoire physique à l'aide du démon d'allocation restrictive (présentation), au Chapitre 11Administration du démon d'allocation restrictive (tâches), ainsi qu'à la section Configuration d'une zone. Pour définir temporairement une limitation de ressources pour une zone, reportez-vous à la section Spécification d'une limitation temporaire de ressources pour une zone.

Interfaces réseau de zones

Les interfaces réseau configurées à l'aide de la commande zonecfg pour doter les zones d'une connectivité réseau sont automatiquement paramétrées et placées dans la zone concernée lors de son initialisation.

La couche IP accepte et livre les paquets pour le réseau. Cette couche inclut le routage IP, le protocole de résolution d'adresse (ARP, Address Resolution Protocol), l'architecture de sécurité IP (IPsec, IP security architecture) et le filtrage IP.

Deux modes IP sont disponibles pour les zones non globales : le mode IP partagé et le mode IP exclusif. Les zones en mode IP partagé partagent une interface réseau et les zones en mode IP exclusif doivent posséder une interface réseau dédiée.

Pour plus d'informations sur les fonctionnalités IP dans chacun de ces cas, reportez-vous aux sections Mise en réseau dans des zones non globales en mode IP partagé et Solaris 10 8/07 : mise en réseau dans des zones non globales en mode IP exclusif.

Zones non globales en mode IP partagé

Par défaut, les zones sont en mode IP partagé. Elles doivent avoir une ou plusieurs adresses IP dédiées et possèdent le même état et la même configuration de couche IP que la zone globale. Vous devez utiliser l'instance d'IP partagé si les deux conditions suivantes sont vérifiées :

La commande zonecfg permet d'assigner une ou plusieurs adresses IP aux zones en mode IP partagé. Il convient également de configurer les noms des liaisons de données dans la zone globale.

Ces adresses sont associées à des interfaces réseau logiques. La commande ifconfig peut être utilisée dans la zone globale pour ajouter ou supprimer des interfaces logiques dans une zone en cours d'exécution. Pour plus d'informations, reportez-vous à la section Interfaces réseau en mode IP partagé.

Solaris 10 8/07 : zones non globales en mode IP exclusif

Les zones en mode IP exclusif disposent de fonctionnalités IP complètes.

Elles possèdent leur propre état en termes d'IP.

Cela inclut les fonctionnalités suivantes :

Toute zone en mode IP exclusif se voit assigner son propre jeu de liaisons de données à l'aide de la commande zonecfg. La propriété physical de la ressource net permet d'assigner un nom de liaison de données tel que xge0, e1000g1 ou bge32001 à la zone. La propriété address de la ressource net n'est pas définie.

Notez que la liaison de données assignée active la commande snoop.

La commande dladm peut être utilisée avec la sous-commande show-linkprop pour afficher l'assignation de liaisons de données aux zones en mode IP exclusif en cours d'exécution. La commande dladm peut également être utilisée avec la sous-commande set-linkprop pour assigner des liaisons de données supplémentaires aux zones en cours d'exécution. Vous trouverez des exemples d'utilisation à la section Solaris 10 8/07 : gestion des liaisons de données dans les zones non globales en mode IP exclusif.

Dans les zones en mode IP exclusif en cours d'exécution, la commande ifconfig peut être utilisée pour définir la configuration IP, ajout et suppression d'interfaces logiques compris. Vous pouvez procéder comme pour une zone globale, à l'aide de sysidtools, comme décrit dans la page de manuel sysidcfg(4).


Remarque –

La configuration IP d'une zone en mode IP exclusif ne peut être affichée que depuis la zone globale, à l'aide de la commande zlogin. Reportez-vous à l'exemple ci-dessous.


global# zlogin zone1 ifconfig -a

Différences entre les zones non globales en modes IP partagé et IP exclusif en matière de sécurité

Dans une zone en mode IP partagé, les applications de la zone (superutilisateur compris) ne peuvent pas envoyer de paquets avec des adresses IP source autres que celles assignées à la zone par le biais de l'utilitaire zonecfg. Dans ce type de zone, il est impossible d'envoyer ou de recevoir des paquets de liaisons de données arbitraires (couche 2).

Par contre, dans les zones en mode IP exclusif, zonecfg attribue la totalité de la liaison de données spécifiée à la zone. Son superutilisateur peut donc envoyer des paquets usurpés sur ces liaisons de données, comme dans une zone globale.

Utilisation simultanée de zones non globales en modes IP partagé et IP exclusif

Les zones en mode IP partagé partagent la couche IP avec la zone globale alors que les zones en mode IP exclusif possèdent leur propre instance de la couche IP. Ces deux types de zones peuvent être utilisées sur une même machine.

Systèmes de fichiers montés dans une zone

En règle générale, les systèmes de fichiers montés dans une zone comportent :

Il s'agit par exemple de :

Les montages exécutés dans l'environnement applicatif font l'objet de certaines restrictions qui empêchent l'administrateur de zone de refuser de fournir des services au reste du système ou de réaliser des opérations affectant les autres zones.

Des restrictions de sécurité sont par ailleurs associées au montage de certains systèmes de fichiers à l'intérieur d'une zone et d'autres systèmes de fichiers ont un comportement particulier lorsqu'ils sont montés dans une zone. Pour plus d'informations, reportez-vous à la section Systèmes de fichiers et zones non globales.

Périphériques configurés dans des zones

La commande zonecfg utilise un système basé sur des règles pour spécifier les périphériques qui doivent figurer dans une zone donnée. Les périphériques répondant à l'une de ces règles sont inclus dans le système de fichiers /dev de la zone. Pour plus d'informations, reportez-vous à la section Configuration d'une zone.

ID hôte dans les zones

Vous pouvez définir une propriété hostid pour la zone non globale différente de la propriété hostid de la zone globale. Cette action est effectuée sur une machine physique consolidée dans une zone à l'aide de la capacité P2V. Les applications se trouvant actuellement dans la zone peuvent dépendre de la propriété hostid d'origine. Il se peut également que vous ne puissiez pas mettre à jour la configuration de l'application. Pour plus d'informations, reportez-vous à la section Types de ressources et de propriétés.

Paramétrage des contrôles de ressources à l'échelle d'une zone

L'administrateur global peut définir des contrôles de ressources privilégiés à l'échelle d'une zone. L'intérêt de ces contrôles est de limiter l'utilisation des ressources totales pour l'ensemble des entités processus à l'intérieur d'une zone.

La commande zonecfg permet de spécifier ces limites, pour les zones globales et non globales. Reportez-vous à la section Configuration d'une zone.

À partir de la version Solaris 10 8/07, le meilleur moyen de paramétrer un contrôle de ressource à l'échelle d'une zone consiste à utiliser le nom de propriété au lieu de la ressource rctl.

Solaris 10 5/08 : le contrôle de ressource zone.cpu-cap définit une limite absolue pour la quantité de ressources CPU correspondant à une zone. La valeur 100 représente 100 pourcent d'une CPU pour le paramètre project.cpu-cap. La valeur 1,25 équivaut à 125 pourcent, car 100 pourcent correspond à une capacité de CPU complète sur le système.


Remarque –

Lors de la définition de la ressource capped-cpu, il est possible de définir un nombre décimal pour l'unité. La valeur correspond au contrôle de ressource zone.capped-cpu mais est réduite par 100. La valeur 1 équivaut à la valeur 100 pour le contrôle de ressource.


Le contrôle de ressource zone.cpu-shares permet de limiter le nombre de parts de CPU FSS pour une zone. Les parts de CPU sont tout d'abord allouées à la zone, puis subdivisées entre les projets à l'intérieur de celle-ci comme spécifié dans les entrées project.cpu-shares. Pour plus d'informations, reportez-vous à la section Utilisation de l'ordonnanceur FSS sur un système Solaris doté de zones. Le nom de propriété globale de ce contrôle est cpu-shares.

Le contrôle de ressource zone.max-locked-memory permet de limiter le volume de mémoire physique verrouillée mis à disposition d'une zone et le contrôle de ressource project.max-locked-memory de contrôler l'allocation de ce type de mémoire aux différents projets à l'intérieur de la zone. Voir le Tableau 6–1 pour plus d'informations.

Le contrôle de ressource zone.max-lwps renforce l'isolement en empêchant que la présence de trop nombreux LWP dans une zone affecte d'autres zones. Le contrôle de ressource project.max-lwps permet de contrôler l'allocation de la ressource LWP aux différents projets à l'intérieur de la zone. Voir le Tableau 6–1 pour plus d'informations. Le nom de propriété globale de ce contrôle est max-lwps.

Les contrôles de ressources zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids et zone.max-shm-memory permettent de limiter les ressources System V utilisées par tous les processus à l'intérieur d'une zone. Vous pouvez contrôler l'allocation des ressources System V aux différents projets à l'intérieur de la zone à l'aide des versions de projet de ces contrôles de ressources. Les noms de propriétés globales de ces contrôles sont max-msg-ids, max-sem-ids, max-shm-ids et max-shm-memory .

Le contrôle de ressource zone.max-swap permet de limiter le swap consommé par les mappages d'espace d'adresses des processus utilisateur et les montages tmpfs à l'intérieur d'une zone. La commande prstat -Z affiche une colonne SWAP indiquant le swap total consommé par les montages tmpfs et les processus de la zone. Cette valeur facilite le contrôle du swap réservé par chaque zone, qui peut être utilisé pour choisir un paramètre zone.max-swap adéquat.

Tableau 17–1 Contrôles des ressources à l'échelle d'une zone

Nom de la commande 

Nom de propriété globale 

Description 

Unité par défaut 

Valeur utilisée par 

zone.cpu-cap

 

Solaris 10 5/08 : limite absolue pour la quantité de ressources CPU correspondant à cette zone.

Quantité (nombre de CPU), exprimée en pourcentage 


Remarque –

Lors de la définition de la ressource capped-cpu, il est possible de définir un nombre décimal pour l'unité.


 

zone.cpu-shares

cpu-shares

Nombre de partages CPU de l'ordonnanceur FSS de cette zone. 

Quantité (partages) 

 

zone.max-locked-memory

 

Quantité totale de mémoire physique verrouillée accessible par une zone. 

Si priv_proc_lock_memory est assigné à une zone, envisagez de paramétrer également ce contrôle de ressource pour empêcher cette zone de verrouiller toute la mémoire.

Taille (octets) 

Propriété locked de capped-memory.

zone.max-lwps

max-lwps

Nombre maximum de LWP accessibles simultanément par cette zone. 

Quantité (LWP) 

 

zone.max-msg-ids

max-msg-ids

Nombre maximum d'ID de file d'attente des messages autorisé pour cette zone. 

Quantité (ID de file d'attente des messages) 

 

zone.max-sem-ids

max-sem-ids

Nombre maximum d'ID de sémaphore autorisé pour cette zone. 

Quantité (ID de sémaphore) 

 

zone.max-shm-ids

max-shm-ids

Nombre maximum d'ID de mémoire partagée autorisé pour cette zone. 

Quantité (ID de mémoire partagée) 

 

zone.max-shm-memory

max-shm-memory

Quantité totale de mémoire partagée du System V autorisée pour cette zone. 

Taille (octets) 

 

zone.max-swap

 

Quantité totale de swap utilisable par les mappages d'espace d'adressage des processus utilisateur et les montages tmpfs pour cette zone.

Taille (octets) 

Propriété swap de capped-memory

Vous pouvez spécifier ces limites en exécutant les processus à l'aide de la commande prctl. Vous trouverez un exemple sous la section Définition de partages FSS dans la zone globale à l'aide de la commande prctl. Les limites spécifiées à l'aide de la commande prctl ne sont pas persistantes. Elles perdent leur effet dès que vous réinitialisez le système.

Solaris 10 11/06 et versions ultérieures : privilèges configurables

Lorsque vous initialisez une zone, un jeu par défaut de privilèges fiables est inclus dans la configuration. Ces privilèges sont jugés fiables, car ils évitent que tout processus privilégié d'une zone affecte les processus d'autres zones non globales du système ou de la zone globale. La commande zonecfg permet :


Remarque –

Certains privilèges ne peuvent pas être supprimés du jeu de privilèges par défaut d'une zone et d'autres ne peuvent actuellement pas y être ajoutés.


Pour plus d'informations, reportez-vous aux sections Privilèges dans une zone non globale et Configuration d'une zone, ainsi qu'à la page de manuel privileges(5).

Ajout d'un commentaire à une zone

Le type de ressource attr permet d'ajouter un commentaire à une zone. Pour plus d'informations, reportez-vous à la section Configuration d'une zone.

Utilisation de la commande zonecfg

La commande zonecfg, décrite dans la page de manuel zonecfg(1M), permet de configurer les zones non globales. Dans la version Solaris 10 8/07, elle permet également de spécifier de manière persistante les paramètres de gestion des ressources pour la zone globale.

La commande zonecfg peut être utilisée dans différents modes : interactif, ligne de commande ou fichier de commande. Elle permet d'effectuer les opérations suivantes :

L'invite zonecfg se présente sous la forme suivante :


zonecfg:zonename>

Lorsque vous configurez un type de ressource donné, par exemple un système de fichiers, celui-ci figure également dans l'invite :


zonecfg:zonename:fs>

Pour plus d'informations, notamment sur l'utilisation des différents composants zonecfg décrits dans ce chapitre, reportez-vous au Chapitre 18Planification et configuration de zones non globales (tâches).

Modes d'exécution de zonecfg

Le concept d'étendue s'applique à l'interface utilisateur. L'étendue peut être globale ou spécifique à une ressource. Par défaut, elle est globale.

Lorsque l'étendue est globale, les sous-commandes add et select permettent de sélectionner une ressource spécifique. L'étendue devient alors spécifique à ce type de ressource.

L'étendue globale est alors rétablie.

Certaines sous-commandes telles que add, remove et set possèdent une sémantique différente dans chaque type d'étendue.

Mode d'exécution interactif de zonecfg

En mode interactif, les commandes ci-dessous sont prises en charge. Pour plus d'informations sur la sémantique et les options pouvant être utilisées avec ces sous-commandes, reportez-vous à la page de manuel zonecfg(1M. ) Avant d'exécuter une sous-commande susceptible d'entraîner la destruction ou une perte de données, le système demande confirmation à l'utilisateur. L'option -F (force) permet d'ignorer cette confirmation.

help

Imprime l'aide générale ou affiche l'aide concernant une ressource donnée.


zonecfg:my-zone:inherit-pkg-dir> help
create

Commence à créer une configuration en mémoire pour la nouvelle zone spécifiée à l'une des fins suivantes :

  • Pour appliquer les paramètres par défaut à une nouvelle configuration (méthode par défaut).

  • Avec l'option -t modèle, pour créer une configuration identique au modèle spécifié. Le nom de zone (celui du modèle) est remplacé par le nouveau nom de la zone.

  • Avec l'option -F, pour écraser la configuration existante.

  • Avec l'option -b, pour créer une configuration vide, dans laquelle rien n'est défini.

export

Imprime la configuration sur la sortie standard ou dans le fichier de sortie spécifié, sous une forme pouvant être utilisée dans un fichier de commande.

add

En étendue globale, ajoute le type de ressource spécifié à la configuration.

En étendue spécifique, ajoute au nom donné une propriété possédant la valeur donnée.

Pour plus d'informations, reportez-vous à la section Configuration d'une zone et à la page de manuel zonecfg(1M).

set

Assigne un nom de propriété donné à une valeur de propriété donnée. Notez que certaines propriétés telles que zonepath sont globales, alors que d'autres sont spécifiques aux ressources. Cette commande est donc applicable quel que soit le type d'étendue : globale ou spécifique à une ressource.

select

Uniquement applicable en étendue globale. Sélectionne la ressource de type donné répondant à la paire de critères nom de propriété-valeur de propriété donnés en vue de sa modification. L'étendue devient alors spécifique à ce type de ressource. Pour que la ressource soit identifiée de manière unique, vous devez spécifier un nombre suffisant de paires nom-valeur de propriété.

clear

Solaris 10 8/07 : Efface la valeur des paramètres optionnels. Les paramètres requis ne peuvent pas être effacés. Vous pouvez cependant modifier certains d'entre eux en leur assignant une nouvelle valeur.

remove

En étendue globale, supprime le type de ressource spécifié. Pour que le type de ressource soit identifié de manière unique, vous devez spécifier un nombre suffisant de paires nom-valeur de propriété. Si aucune paire nom-valeur de propriété n'est spécifiée, toutes les instances sont supprimées. S'il en existe plus d'une, le système vous demande confirmation, sauf si vous avez spécifié l'option -F.

En étendue spécifique, supprime la paire nom-valeur de propriété spécifiée de la ressource actuelle.

end

Uniquement applicable en étendue spécifique. Arrête la spécification de la ressource.

La commande zonecfg permet ensuite de vérifier si la ressource actuelle est entièrement spécifiée.

  • Le cas échéant, elle est ajoutée à la configuration en mémoire et l'étendue redevient globale.

  • Dans le cas contraire, c'est-à-dire si la spécification est incomplète, le système affiche un message d'erreur indiquant la marche à suivre.

cancel

Uniquement applicable en étendue spécifique. Arrête la spécification de la ressource et rétablit l'étendue globale. Les ressources partiellement spécifiées ne sont pas conservées.

delete

Détruit la configuration spécifiée. Efface la configuration de la mémoire et des supports de stockage stables. Avec delete, vous devez utiliser l'option -F (force).


Attention – Attention –

Cette action est instantanée. Elle ne requiert aucune validation et toute zone supprimée ne peut être rétablie.


info

Affiche des informations sur la configuration actuelle ou sur les propriétés de ressources globales zonepath, autoboot et pool. Si un type de ressource est spécifié, cette sous-commande affiche uniquement des informations sur les ressources de ce type. En étendue spécifique, elle s'applique uniquement à la ressource en cours d'ajout ou de modification.

verify

Vérifie si la configuration actuelle est correcte. S'assure que toutes les propriétés requises des ressources sont spécifiées.

commit

Valide la configuration actuelle, de la mémoire vers le support de stockage stable. Tant que la configuration en mémoire n'est pas validée, les changements peuvent être supprimés à l'aide de la sous-commande revert. Pour être utilisée par zoneadm, la configuration doit être validée. Cette opération s'effectue automatiquement lorsque vous arrêtez une session zonecfg. Seules les configurations correctes peuvent être validées. C'est pourquoi elles sont automatiquement vérifiées.

revert

Rétablit le dernier état validé de la configuration.

exit

Quitte la session zonecfg. Vous pouvez utiliser l'option -F (force) avec exit.

Au besoin, la commande commit s'exécute automatiquement. Notez que vous pouvez également utiliser une marque de fin de fichier (EOF, End Of File) pour quitter la session.

Mode d'exécution fichier de commande de zonecfg

En mode fichier de commande, l'entrée est extraite d'un fichier. La sous-commande export décrite à la section Mode d'exécution interactif de zonecfg permet de produire ce fichier. La configuration peut être imprimée sur la sortie standard ou dans le fichier de sortie spécifié à l'aide de l'option -f.

Données de configuration de zones

Les données de configuration de zones sont constituées de deux types d'entités : les ressources et les propriétés. Les ressources sont classées par type et chacune d'entre elles possède une propriété ou un jeu de propriétés. Ces propriétés ont un nom et possèdent des valeurs. Le jeu de propriétés dépend du type de ressource.

Types de ressources et de propriétés

Vous trouverez, ci-dessous, une description des types de ressources et de propriétés :

Nom de zone

Le nom de zone identifie la zone auprès de l'utilitaire de configuration. Les règles suivantes s'appliquent aux noms de zones :

  • Chaque zone doit posséder un nom unique.

  • Les noms de zones sont sensibles à la casse.

  • Les noms de zones doivent commencer par un caractère alphanumérique.

    Ils peuvent contenir des caractères alphanumériques, des traits de soulignement (_), des traits d'union (-) et des points (.).

  • Les noms de zones ne doivent pas comporter plus de 64 caractères.

  • Le nom global et tous les noms commençant par SUNW ne peuvent être utilisés, car ils sont réservés.

zonepath

La propriété zonepath correspond au chemin contenant la racine de la zone. Chaque zone contient un répertoire root se trouvant dans le système de fichiers de la zone globale sous le répertoire zonepath. Lors de l'installation de la zone, l'arborescence des répertoires zonepath sera créée avec le propriétaire et le mode correspondant. Le répertoire zonepath doit appartenir à la root avec le mode 700.

Le chemin du répertoire racine des zones non globales se trouve un niveau en dessous. Le propriétaire et les droits d'accès du répertoire racine de ces zones sont identiques à ceux du répertoire racine (/) de la zone globale. Le répertoire des zones doit appartenir à root et être en mode 755. Ces répertoires sont créés automatiquement avec les droits d'accès correspondants. Il n'est pas nécessaire que l'administrateur de zone les vérifie. Cette hiérarchie permet d'éviter que les utilisateurs ne possédant pas de privilèges dans la zone globale puissent traverser le système de fichiers d'une zone non globale.

Chemin 

Description 

/home/export/my-zone

zonecfg zonepath

/home/export/my-zone/root

Racine de la zone 

/home/export/my-zone/dev

Périphériques créés pour la zone 

Pour plus d'informations à ce sujet, reportez-vous à la section Parcours des systèmes de fichiers.


Remarque –

Pour en savoir plus sur les restrictions de ces versions en ce qui concerne les systèmes de fichiers Zettabyte (ZFS), reportez-vous à la section Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 et Solaris 10 5/08 : ne pas placer le système de fichiers racine d'une zone non globale sur le ZFS.


autoboot

Si cette propriété est définie sur true, l'initialisation de la zone globale entraîne automatiquement celle de la zone. Notez cependant que, quelle que soit la valeur de cette propriété, la zone ne s'initialise pas automatiquement si le service svc:/system/zones:default des zones est désactivé. Vous pouvez l'activer à l'aide de la commande svcadm, décrite dans la page de manuel svcadm(1M) :


global# svcadm enable zones
bootargs

Solaris 10 8/07 : Cette propriété permet de définir un argument d'initialisation pour la zone. Cet argument est appliqué, excepté s'il est ignoré par les commandes reboot, zoneadm boot ou zoneadm reboot. Reportez-vous à la section Solaris 10 8/07 : arguments d'initialisation des zones.

pool

Cette propriété permet d'associer la zone à un pool de ressources sur le système. Plusieurs zones peuvent partager les ressources d'un pool. Reportez-vous également à la section Solaris 10 8/07 : ressource dedicated-cpu.

limitpriv

Solaris 10 11/06 et versions ultérieures : Cette propriété permet de spécifier un masque de privilège autre que celui par défaut. Reportez-vous à la section Privilèges dans une zone non globale.

Pour ajouter un privilège, spécifiez son nom en le faisant précéder ou non de priv_. Pour exclure un privilège, faites précéder son nom d'un tiret (-) ou d'un point d'exclamation (!). Les valeurs des privilèges doivent être séparées par des virgules et placées entre guillemets ().

Comme décrit dans la page de manuel priv_str_to_set(3C), les jeux spéciaux de privilèges none, all et basic s'étendent à leur définition normale. Le jeu spécial de privilèges zone ne peut pas être utilisé, car la configuration des zones a lieu dans la zone globale. Étant donné qu'il est courant de modifier le jeu de privilèges par défaut en ajoutant ou en supprimant certains privilèges, le jeu spécial default est mappé avec le jeu de privilèges par défaut. Lorsque default figure au début de la propriété limitpriv, celle-ci s'applique au jeu par défaut.

L'entrée ci-dessous ajoute la capacité à utiliser des programmes DTrace requérant uniquement les privilèges dtrace_proc et dtrace_user dans la zone :


global# zonecfg -z userzone
zonecfg:userzone> set limitpriv="default,dtrace_proc,dtrace_user"

Si le jeu de privilèges de la zone contient un privilège annulé ou inconnu, ou s'il lui manque un privilège, toute tentative de vérification, de préparation ou d'initialisation de la zone échoue et un message d'erreur s'affiche.

scheduling-class

Solaris 10 8/07 : cette propriété définit la classe de programmation de la zone. Pour obtenir informations et conseils, reportez-vous à la section Classe de programmation dans une zone.

ip-type

Solaris 10 8/07 : cette propriété ne doit être définie que s'il s'agit d'une zone en mode IP exclusif. Reportez-vous aux sections Solaris 10 8/07 : zones non globales en mode IP exclusif et Configuration d'une zone.

dedicated-cpu

Solaris 10 8/07 : cette ressource consacre un sous-ensemble des processeurs du système à la zone tant qu'elle est en cours d'exécution. La ressource dedicated-cpu définit les limites de ncpus et éventuellement d'importance. Pour plus d'informations, reportez-vous à la section Solaris 10 8/07 : ressource dedicated-cpu.

Ressource capped-cpu

Solaris 10 5/08 : cette ressource définit une limite pour la quantité de ressources CPU que la zone peut consommer lors de son exécution. Elle fournit une limite pour ncpus.

Ressource capped-memory

Solaris 10 8/07 : cette ressource groupe les propriétés utilisées lors de la limitation de la mémoire de la zone. La ressource capped-memory définit les limites de la mémoire physical, swap, et locked. Vous devez spécifier au moins une de ces propriétés.

dataset

Solaris 10 6/06 : l'ajout d'une ressource de jeu de données ZFS active la délégation de l'administration du stockage à une zone non globale. L'administrateur de zone peut créer et détruire les systèmes de fichiers à l'intérieur de ce jeu de données. Il peut également créer et détruire les clones et modifier les propriétés du jeu de données. Il ne peut cependant ni affecter de jeux de données non ajoutés à la zone, ni dépasser les quotas de niveau maximum définis dans le jeu de données assigné à la zone.

Pour ajouter des jeux de données ZFS à une zone, vous pouvez procéder de l'une des manières suivantes :

  • comme pour un système de fichiers LOFS monté, si le seul but recherché est de partager de l'espace avec la zone globale ;

  • comme pour un jeu de données délégué.

Reportez-vous au Chapitre 10, Rubriques avancées Oracle Solaris ZFS du Guide d’administration Oracle Solaris ZFS et à la section Systèmes de fichiers et zones non globales.

Pour plus d'informations sur les jeux de données, reportez-vous également au Chapitre 30Dépannage de problèmes liés aux zones Solaris.

fs

Toute zone peut posséder plusieurs systèmes de fichiers. Ils sont montés quand la zone passe de l'état installé à l'état prêt. La ressource du système de fichiers spécifie le chemin du point de montage du système de fichiers. Pour plus d'informations sur l'utilisation des systèmes de fichiers dans les zones, reportez-vous à la section Systèmes de fichiers et zones non globales.

inherit-pkg-dir

Cette ressource ne doit pas être configurée dans une zone à racine entière.

Dans une zone à racine fragmentée, la ressource inherit-pkg-dir permet de représenter des répertoires contenant des packages de logiciels partagés entre une zone non globale et la zone globale.

la zone non globale hérite du contenu des packages de logiciels transférés dans le répertoire inherit-pkg-dir, en lecture seule. La base de données de packages de la zone est mise à jour en conséquence. À partir du moment où la zone a été installée à l'aide de zoneadm, ces ressources ne peuvent être ni modifiées ni supprimées.


Remarque –

Quatre ressources inherit-pkg-dir par défaut sont incluses dans la configuration. Ces ressources de répertoires indiquent les répertoires dont les packages associés sont hérités de la zone globale. Ces ressources sont implémentées par le biais d'un montage de système de fichiers loopback en lecture seule.

  • /lib

  • /platform

  • /sbin

  • /usr


net

La ressource de l'interface réseau est le nom de l'interface. Chaque zone peut posséder des interfaces réseau. Elles sont paramétrées lorsque la zone passe de l'état installé à l'état prêt.

device

La ressource périphérique est le spécificateur correspondant au périphérique. Chaque zone peut présenter des périphériques qui doivent être configurés quand la zone passe de l'état installé à l'état prêt.

rctl

La ressource rctl est dédiée aux contrôles de ressources à l'échelle de la zone. Ces contrôles sont activés lorsque la zone passe de l'état installé à l'état prêt.

hostid

Vous pouvez définir une propriété hostid différente de la propriété hostid de la zone globale.

attr

Cet attribut générique peut être utilisé pour les commentaires utilisateur ou par d'autres sous-systèmes. La propriété name d'un attribut attr doit commencer par un caractère alphanumérique. La propriété name peut contenir des caractères alphanumériques, des traits d'union (-) et des points (.). Les noms d'attributs commençant par zone. sont réservés au système.

Propriétés des types de ressources

Les ressources ont elles aussi des propriétés qu'il convient de configurer. Vous trouverez ci-dessous la liste des propriétés associées aux différents types de ressources.

dedicated-cpu

ncpus, importance

Solaris 10 8/07 : spécifie le nombre de CPU et, éventuellement, l'importance relative du pool. L'exemple ci-dessous spécifie la plage de CPU utilisée par la zone ma-zone. L'importance est également définie.


zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end
capped-cpu

ncpus

Définit le nombre de CPU. L'exemple ci-dessous spécifie une capacité de 3,5 CPU pour la zone my-zone.


zonecfg:my-zone> add capped-cpu
zonecfg:my-zone:capped-cpu> set ncpus=3.5
zonecfg:my-zone:capped-cpu> end
capped-memory

physical, swap, locked

Spécifie les limites de mémoire pour la zone my-zone. Chaque limite est optionnelle, mais vous devez en définir au moins une.


zonecfg:my-zone> add capped-memory
zonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
fs

dir, special, raw, type, options

Les paramètres de la ressource fs indiquent les valeurs qui déterminent comment et où monter les systèmes de fichiers. Les paramètres fs se définissent comme suit :

dir

Spécifie le point de montage du système de fichiers.

special

Spéficie le nom du périphérique spécial en mode bloc ou le répertoire de zone globale à monter.

raw

Spécifie le périphérique brut sur lequel fsck doit être exécuté avant le montage du système de fichiers.

type

Spécifie le type de système de fichiers.

options

Spécifie les options de montage similaires à celles associées à la commande mount.

L'exemple ci-dessous spécifie que /dev/dsk/c0t0d0s2 de la zone globale doit être monté comme étant /mnt dans une zone en cours de configuration. La propriété raw spécifie le périphérique optionnel sur lequel vous devez exécuter la commande fsck avant toute tentative de montage du système de fichiers. Le type de système de fichiers à utiliser est UFS. Les options nodevices et logging sont ajoutées.


zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/mnt
zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d0s2
zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d0s2
zonecfg:my-zone:fs> set type=ufs
zonecfg:my-zone:fs> add options [nodevices,logging]
zonecfg:my-zone:fs> end

Pour plus d'informations, reportez-vous aux sections Option -o nosuid et Restrictions de sécurité et comportement du système de fichiers, ainsi qu'aux pages de manuel fsck(1M) et mount(1M). Notez aussi que la section 1M des pages de manuel est disponible pour les options de montage spécifiques à un système de fichiers donné. Ces pages de manuel sont nommées de la manière suivante : mount_système de fichiers.


Remarque –

Pour savoir comment ajouter un système de fichiers ZFS à l'aide de la propriété de ressource fs, reportez-vous à la section Ajout de systèmes de fichiers ZFS à une zone non globale du Guide d’administration Oracle Solaris ZFS.


dataset

name

L'exemple ci-dessous spécifie que le jeu de données ventes doit être visible et monté dans la zone non globale et doit cesser d'être visible dans la zone globale.


zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end
inherit-pkg-dir

dir

L'exemple ci-dessous spécifie que /opt/sfw doit être monté en loopback depuis la zone globale.


zonecfg:my-zone> add inherit-pkg-dir
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
zonecfg:my-zone:inherit-pkg-dir> end
net

address, physical, defrouter


Remarque –

Dans une zone en mode IP partagé, l'adresse IP et le périphérique sont tous deux spécifiés. Le routeur par défaut peut être défini (facultatif).

  • Vous pouvez utiliser la propriété defrouter pour définir une route par défaut lorsque la zone non globale se trouve sur un sous-réseau qui n'est pas configuré dans la zone globale.

  • Toute zone dont la propriété defrouter est définie doit se trouver sur un sous-réseau qui n'est pas configuré dans la zone globale.

Lorsque des zones en mode IP partagé existent sur des sous-réseaux différents, ne configurez aucune liaison de données dans la zone globale.

Dans une zone en mode IP exclusif, seule l'interface physique est spécifiée. La propriété physique peut être une carte d'interface réseau virtuelle (VNIC).


L'exemple ci-dessous montre comment ajouter l'adresse 192.168.0.1 à une zone en mode IP partagé. L'interface physique utilisée est une carte hme0. Pour déterminer l'interface physique à utiliser, tapez ifconfig -a sur votre système. Toute ligne de sortie autre que les lignes de pilote de loopback commence par le nom d'une carte installée sur le système. Les lignes dont les descriptions contiennent LOOPBACK ne concernent pas les cartes.


zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=hme0
zonecfg:my-zone:net> set address=192.168.0.1
zonecfg:my-zone:net> end

Dans l'exemple ci-dessous, qui se rapporte à une zone en mode IP exclusif, une liaison bge32001 est utilisée pour l'interface physique. Pour connaître les liaisons de données disponibles, exécutez la commande dladm show-link. Pour être utilisée avec des zones en mode IP exclusif, la liaison de données doit être GLDv3. Les liaisons de données non-GLDv3 se distinguent par la mention type: legacy dans la sortie dladm show-link. Notez que ip-type=exclusive doit également être spécifié.


zonecfg:my-zone> set ip-type=exclusive
zonecfg:my-zone> add net
zonecfg:my-zone:net> set physical=bge32001
zonecfg:my-zone:net> end
device

match

Dans l'exemple ci-dessous, un périphérique /dev/pts est inclus à une zone.


zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/pts*
zonecfg:my-zone:device> end
rctl

name, value

Solaris 10 8/07 : cette version propose de nouveaux contrôles de ressources : zone.max-locked-memory, zone.max-msg-ids, zone.max-sem-ids, zone.max-shm-ids, zone.max-shm-memory et zone.max-swap.

À l'échelle des zones, les contrôles de ressources suivants sont disponibles :

  • zone.cpu-shares (conseillé : cpu-shares )

  • zone.max-locked-memory

  • zone.max-lwps (recommandé : max-lwps)

  • zone.max-msg-ids (recommandé : max-msg-ids)

  • zone.max-sem-ids (recommandé : max-sem-ids)

  • zone.max-shm-ids (recommandé : max-shm-ids)

  • zone.max-shm-memory (recommandé : max-shm-memory)

  • zone.max-swap

Pour définir un contrôle de ressource à l'échelle d'une zone, il est recommandé et plus simple d'utiliser le nom de propriété que la ressource rctl, comme indiqué à la section Configuration d'une zone. Si vous configurez les entrées de contrôle de ressource à l'échelle d'une zone à l'aide de add rctl, leur format diffère de celui des entrées de contrôle de ressource de la base de données project. Dans une configuration de zone, le type de ressource rctl est composé de trois paires nom/valeur. Les noms sont : priv, limit et action. Chacun d'entre eux possède une valeur simple.


zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.cpu-shares
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)zonecfg:my-zone:rctl> end

zonecfg:my-zone> add rctl
zonecfg:my-zone:rctl> set name=zone.max-lwps
zonecfg:my-zone:rctl> add value (priv=privileged,limit=100,action=deny)
zonecfg:my-zone:rctl> end

Pour plus d'informations sur les attributs et les contrôles de ressources, reportez-vous au Chapitre 6Contrôles des ressources (présentation) et à la section Utilisation de contrôles de ressources dans les zones non globales.

attr

name, type, value

L'exemple ci-dessous montre l'ajout d'un commentaire à propos d'une zone.


zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:my-zone:attr> set type=string
zonecfg:my-zone:attr> set value="Production zone"
zonecfg:my-zone:attr> end

Vous pouvez utiliser la sous-commande export pour imprimer une configuration de zone sur une sortie standard. La configuration est enregistrée sous une forme pouvant être utilisée dans un fichier de commande.

Bibliothèque d'édition de ligne de commande Tecla

La bibliothèque d'édition de ligne de commande Tecla est intégrée à la commande zonecfg. Elle fournit un support d'édition et d'accès à l'historique des lignes de commande.

La bibliothèque d'édition de ligne de commande Tecla est documentée dans les pages de manuel suivantes :

Chapitre 18 Planification et configuration de zones non globales (tâches)

Ce chapitre décrit les opérations à effectuer avant de pouvoir configurer une zone sur un système. Il explique également comment configurer une zone et comment modifier et supprimer sa configuration.

Vous trouverez une introduction à la configuration des zones dans le Chapitre 17Configuration des zones non globales (présentation).

Planification et configuration d'une zone non globale (liste des tâches)

Avant de paramétrer votre système en vue de l'utilisation de zones, vous devez collecter des informations et prendre des décisions sur la manière dont vous allez les configurer. Vous trouverez, dans la liste ci-dessous, un résumé des tâches de planification et de configuration correspondantes.

Tâche 

Description 

Voir 

Planifier la stratégie de la zone 

  • Répertoriez les applications présentes sur le système et déterminez celles qui devront être exécutées dans une zone.

  • Évaluez l'espace disque disponible pour accueillir les fichiers uniques dans la zone.

  • Si vous utilisez également des fonctions de gestion de ressources, déterminez comment aligner la zone avec les limites de gestion des ressources.

Reportez-vous à l'historique d'utilisation, ainsi qu'aux sections Espace disque requis et Pools de ressources utilisés dans les zones.

Attribuer un nom à la zone. 

Choisissez un nom de zone conforme aux conventions de dénomination. 

Reportez-vous aux sections Données de configuration de zones et Nom d'hôte.

Déterminer le chemin de la zone. 

Le chemin du répertoire racine de chaque zone est lié au répertoire racine de la zone globale. 

Reportez-vous à la section Données de configuration de zones.

Évaluer les restrictions de CPU nécessaires si vous ne configurez pas de pools de ressources. 

Examinez les exigences applicatives. 

Reportez-vous à la section Solaris 10 8/07 : ressource dedicated-cpu.

Évaluer l'allocation de mémoire nécessaire si vous avez l'intention de limiter la mémoire de la zone à l'aide de rcapd depuis la zone globale.

Examinez les exigences applicatives. 

Reportez-vous auChapitre 10Contrôle de la mémoire physique à l'aide du démon d'allocation restrictive (présentation), au Chapitre 11Administration du démon d'allocation restrictive (tâches) et à la section Solaris 10 8/07 : contrôle de la mémoire physique et ressource capped-memory.

Définir FSS comme ordonnanceur par défaut du système. 

Assignez des parts de CPU à chacune des zones pour contrôler leur droit aux ressources CPU. En se basant sur les parts allouées, le FSS garantit un partage équitable des ressources CPU entre les zones. 

Chapitre 8Ordonnanceur FSS (présentation), section Classe de programmation dans une zone.

Déterminer si la zone doit être en mode IP partagé ou IP exclusif. 

S'il s'agit d'une zone en mode IP partagé (type de zone par défaut), obtenez ou configurez ses adresses IP. Selon votre configuration, vous devez obtenir au moins une adresse IP pour chaque zone non globale que vous souhaitez doter d'un accès réseau. 

S'il s'agit d'une zone en mode IP exclusif, déterminez la liaison de données qui lui sera assignée. Ce type de zone requiert un accès exclusif à une ou plusieurs interfaces réseau. Cette interface peut se présenter sous la forme d'un LAN séparé tel que bge1 ou d'un VLAN séparé tel que bge2000. La liaison de données doit être GLDv3. Les liaisons de données non GLDv3 se distinguent par la mention type: legacy dans la sortie de la commande dladm show-link.

Reportez-vous aux sections Détermination du nom d'hôte d'une zone et obtention de son adresse réseau et Configuration d'une zone, et au Guide d’administration système : services IP.

Pour plus d'informations sur les interfaces GLDv3, reportez-vous à la section Types d’interface Oracle Solaris du Guide d’administration système : services IP.

Répertorier les systèmes de fichiers à monter dans la zone. 

Examinez les exigences applicatives. 

Pour plus d'informations, reportez-vous à la section Systèmes de fichiers montés dans une zone.

Répertorier les interfaces réseau devant être disponibles dans la zone 

Examinez les exigences applicatives. 

Pour plus d'informations, reportez-vous à la section Interfaces réseau en mode IP partagé.

Déterminer si le jeu de droits d'accès de la zone non globale par défaut doit être modifié 

Vérifiez le jeu de privilèges : jeu par défaut, privilèges pouvant être ajoutés et supprimés, et privilèges ne pouvant pas encore être utilisés. 

Reportez-vous à la section Privilèges dans une zone non globale.

Répertorier les périphériques à configurer dans chaque zone. 

Examinez les exigences applicatives. 

Reportez-vous à la documentation de l'application. 

Configurer la zone 

Utilisez zonecfg pour créer une configuration pour la zone.

Reportez-vous à la section Configuration, vérification et validation d'une zone.

Vérifier et valider la zone configurée 

Déterminez si les ressources et les propriétés spécifiées sont valides sur un système hypothétique. 

Reportez-vous à la section Configuration, vérification et validation d'une zone.

Évaluation du paramétrage du système

L'utilitaire Zones peut être utilisé sur toute machine équipée de Solaris 10. L'utilisation des zones est liée aux considérations suivantes concernant la machine :

Espace disque requis

L'espace disque utilisable par une zone n'est pas limité. La restriction de l'espace est du ressort de l'administrateur global, qui doit s'assurer que la capacité locale de stockage est suffisante pour accueillir un système de fichiers racine de zone non globale. Même un système à processeur unique peut supporter plusieurs zones s'exécutant simultanément.

La nature des packages installés dans la zone globale a une incidence sur l'espace disque requis par les zones non globales créées. Le nombre de packages et l'espace disque requis sont des facteurs.

Zones à racine fragmentée

Dans la version Solaris 10, les zones non globales disposant de ressources inherit-pkg-dir sont appelées zones à racine fragmentée.

Les zones de ce type optimisent le partage des objets de la manière suivante :

Dans le modèle à racine fragmentée, tous les packages semblent être installés dans la zone non globale. Les packages qui ne livrent pas de contenu dans les systèmes de fichiers montés en loopback en lecture seule sont entièrement installés. Il n'est pas nécessaire d'installer de contenu livré dans les systèmes de fichiers montés en loopback en lecture seule, car ce contenu est hérité (et visible) de la zone globale.

Il est recommandé de prévoir 40 méga-octets supplémentaires de RAM par zone, mais cela n'est pas indispensable sur les machines disposant d'un espace de swap suffisant.

Zones à racine entière

Les zones de ce type offrent une capacité de configuration maximale. Tous les packages requis et tous les packages Solaris optionnels sélectionnés sont installés sur les systèmes de fichiers privés de la zone. Ce modèle de zone présente différents avantages. Il offre notamment aux administrateurs globaux la possibilité de personnaliser la configuration des systèmes de fichiers des zones. Ils peuvent par exemple ajouter arbitrairement des packages tiers ou non fournis en standard.

Les exigences requises en ce qui concerne le disque sont déterminées par l'espace disque utilisé par les packages installés dans la zone globale.


Remarque –

Si vous créez une zone à racine fragmentée contenant les répertoires inherit-pkg-dir ci-dessous, vous devez supprimer ces répertoires de la configuration de zone non globale avant l'installation de la zone pour obtenir une zone à racine entière :

Reportez-vous à la section Configuration d'une zone.


Limitation de la taille d'une zone

Pour restreindre la taille d'une zone, vous avez le choix entre plusieurs options :

Détermination du nom d'hôte d'une zone et obtention de son adresse réseau

Vous devez déterminer le nom d'hôte de la zone, puis lui assigner une adresse IPv4 ou configurer manuellement une adresse IPv6 et la lui assigner pour la doter d'un connectivité réseau.

Nom d'hôte

Le nom d'hôte choisi doit être défini soit dans la base de données hosts, soit dans la base de données /etc/inet/hosts, comme spécifié par le fichier /etc/nsswitch.conf de la zone globale. Les bases de données réseau sont des fichiers fournissant des informations sur la configuration réseau. Le fichier nsswitch.conf spécifie le service d'attribution de nom à utiliser.

S'il s'agit de fichiers locaux, la base de données hosts est mise à jour dans le fichier /etc/inet/hosts. Les noms d'hôtes des interfaces réseau de zone sont résolus depuis la base de données locale hosts dans /etc/inet/hosts. L'adresse IP peut également être spécifiée directement lors de la configuration de la zone, ce qui évite toute résolution de nom d'hôte.

Pour plus d'informations, reportez-vous à la section Fichiers de configuration TCP/IP du Guide d’administration système : services IP et à la section Bases de données réseau et fichier nsswitch.conf du Guide d’administration système : services IP.

Adresse réseau en mode IP partagé

Toute zone en mode IP partagé requérant une connectivité réseau possède une ou plusieurs adresses à IP unique. Les adresses IPv4 et IPv6 sont prises en charge.

Adresse réseau IPv4

Si vous utilisez IPv4, obtenez une adresse et assignez-la à la zone concernée.

Vous pouvez également spécifier la longueur du préfixe de l'adresse IP. Le format de ce préfixe se présente de la manière suivante : adresse/longueur_préfixe, par exemple, 192.168.1.1/24. l'adresse à utiliser est 192.168.1.1 et le masque de réseau 255.255.255.0 ou le masque dont les 24 premiers bits sont des bits 1.

Adresse réseau IPv6

Si vous utilisez IPv6, vous devez configurer manuellement l'adresse. Habituellement, au moins deux types d'adresses doivent être configurées :

Adresse lien-local

Les adresses lien-local se présentent sous la forme fe80:: ID d'interface 64 bits/10, /10 correspondant à une longueur de préfixe de 10 bits.

Adresse constituée d'un préfixe global configuré sur le sous-réseau

Les adresses unicast globales sont basées sur un préfixe 64 bits configuré par l'administrateur pour chaque sous-réseau et sur un ID d'interface 64 bits. Le préfixe peut également être obtenu en exécutant la commande ifconfig avec l'option -a6 sur tout système se trouvant sur le sous-réseau qui a été configuré en vue de l'utilisation du protocole IPv6.

L'ID d'interface 64 bits est typiquement dérivé d'une adresse MAC. Une adresse alternative unique de zone peut être dérivée de l'adresse IPv4 de la zone globale de la manière suivante :

16 bits of zero:upper 16 bits of IPv4 address:lower 16 bits of IPv4 address:a zone-unique number

Si l'adresse IPv4 de la zone globale est par exemple 192.168.200.10, fe80::c0a8:c80a:1/10 est une adresse lien-local valide pour une zone non globale utilisant un numéro unique de zone 1. Si le préfixe global utilisé sur ce sous-réseau est 2001:0db8:aabb:ccdd/64, 2001:0db8:aabb:ccdd::c0a8:c80a:1/64 est une adresse unicast globale unique pour la même zone non globale. Notez que vous devez spécifier une longueur de préfixe lorsque vous configurez une adresse IPv6.

Pour plus d'informations sur les adresses lien-local et les adresses unicast globales, reportez-vous à la page de manuel inet6(7P).

Adresse réseau en mode IP exclusif

Pour configurer des adresses à l'intérieur d'une zone en mode IP exclusif, procédez comme pour une zone globale. Notez que vous pouvez utiliser l'utilitaire de configuration automatique d'adresses sans état IPv6 et DHCP pour configurer des adresses.

Pour plus d'informations, reportez-vous à la page de manuel sysidcfg(4).

Configuration des systèmes de fichiers

La plate-forme virtuelle étant paramétrée, vous pouvez spécifier le nombre de montages à exécuter. Les systèmes de fichiers montés en loopback dans une zone à l'aide du système de fichiers loopback virtuel LOFS doivent être montés avec l'option nodevices. Pour plus d'informations sur l'option nodevices, reportez-vous à la section Systèmes de fichiers et zones non globales.

Le système de fichiers LOFS permet de créer un système de fichiers virtuel et d'accéder ainsi aux fichiers par le biais d'un nom de chemin alternatif. Dans les zones non globales, le montage en loopback donne l'impression que l'arborescence du système de fichiers est dupliquée sous la racine de la zone. À l'intérieur de celle-ci, tous les fichiers sont accessibles avec un nom de chemin commençant par la racine de la zone. Le montage LOFS préserve l'espace de noms du système de fichiers.

Figure 18–1 Systèmes de fichiers montés en loopback

L'illustration présente des systèmes de fichiers montés en loopback.

Pour plus d'informations, reportez-vous à la page de manuel lofs(7S).

Création, modification et suppression de configurations de zones non globales (liste des tâches)

Tâche 

Description 

Voir 

Configurer une zone non globale. 

Pour créer une zone, vérifier la configuration et la valider, exécutez la commande zonecfg.

Vous pouvez également avoir recours à un script pour configurer et initialiser plusieurs zones sur le système. Pour afficher la configuration de zones non globales, exécutez la commande zonecfg.

Configuration, vérification et validation d'une zone, Script de configuration de zones multiples

Modifier la configuration d'une zone. 

Utilisez cette procédure pour modifier un type de ressource dans la configuration d'une zone ou ajouter un périphérique dédié à une zone. 

Modification de la configuration d'une zone à l'aide de zonecfg

Rétablir ou supprimer la configuration d'une zone. 

Pour annuler un paramétrage de ressource dans la configuration d'une zone ou supprimer la configuration d'une zone, exécutez la commande zonecfg.

Rétablissement ou suppression de la configuration d'une zone à l'aide de zonecfg

Supprimer la configuration d'une zone. 

Pour supprimer la configuration d'une zone du système, exécutez la commande zonecfg avec la sous-commande delete.

Suppression de la configuration d'une zone

Configuration, vérification et validation d'une zone

Utilisez la commande zonecfg, décrite dans la page de manuel zonecfg(1M), pour exécuter les actions suivantes :

La commande zonecfg permet également de spécifier de manière persistante les paramètres de gestion des ressources pour la zone globale.

Pour annuler le paramétrage d'une ressource pendant la configuration d'une zone à l'aide de l'utilitaire zonecfg, exécutez la commande revert. Reportez-vous à la section Rétablissement de la configuration d'une zone.

Pour savoir comment configurer plusieurs zones sur le système à l'aide d'un script, consultez la section Script de configuration de zones multiples.

Pour plus d'informations sur l'affichage de la configuration des zones non globales, reportez-vous à la section Affichage de la configuration d'une zone non globale.

ProcedureConfiguration d'une zone

Pour créer une zone non globale native, seules les propriétés zonename et zonepath sont nécessaires. Les autres ressources et propriétés sont facultatives. Pour certaines ressources facultatives, vous devez également choisir entre plusieurs possibilités, comme, par exemple, utiliser la ressource dedicated-cpu ou la ressource capped-cpu. Pour plus d'informations sur les ressources et les propriétés zonecfg, reportez-vous à la section Données de configuration de zones.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Attribuez à la zone le nom que vous avez choisi.

    Dans cet exemple, la zone est nommée my-zone.


    global# zonecfg -z my-zone
    

    Si c'est la première fois que vous configurez cette zone, le message suivant s'affiche :


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  3. Créez la configuration de la nouvelle zone.

    Les paramètres utilisés sont les paramètres par défaut.


    zonecfg:my-zone> create
    
  4. Définissez le chemin de la zone, ici /export/home/my-zone.


    zonecfg:my-zone> set zonepath=/export/home/my-zone
    

    Ne placez pas le zonepath sur un ZFS pour les versions antérieures à Solaris 10 10/08.

  5. Définissez la valeur d'initialisation automatique.

    Si cette propriété est définie sur true, l'initialisation de la zone globale entraîne automatiquement celle de cette zone. Notez que les zones ne s'initialisent automatiquement que si le service svc:/system/zones:default est activé. La valeur par défaut est false.


    zonecfg:my-zone> set autoboot=true
    
  6. Définissez des arguments d'initialisation permanents pour la zone.


    zonecfg:my-zone> set bootargs="-m verbose"
    
  7. Dédiez une ou plusieurs CPU à cette zone.


    zonecfg:my-zone> add dedicated-cpu
    
    1. Définissez le nombre de CPU.


      zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
      
    2. (Optionnel) Définissez l'importance.


      zonecfg:my-zone:dedicated-cpu> set importance=10
      

      La valeur par défaut est 1.

    3. Clôturez la spécification.


      zonecfg:my-zone:dedicated-cpu> end
      
  8. Révisez le jeu de privilèges par défaut.


    zonecfg:my-zone> set limitpriv="default,sys_time"
    

    Cette ligne ajoute la capacité à définir l'horloge système sur le jeu de privilèges par défaut.

  9. Définissez la classe de programmation sur FSS.


    zonecfg:my-zone> set scheduling-class=FSS
    
  10. Ajoutez une limite de mémoire.


    zonecfg:my-zone> add capped-memory
    
    1. Définissez la limite de mémoire.


      zonecfg:my-zone:capped-memory> set physical=50m
      
    2. Définissez la limite de mémoire swap.


      zonecfg:my-zone:capped-memory> set swap=100m
      
    3. Définissez la limite de mémoire verrouillée.


      zonecfg:my-zone:capped-memory> set locked=30m
      
    4. Terminez la spécification des limites de mémoire.


      zonecfg:my-zone:capped-memory> end
      
  11. Ajoutez un système de fichiers.


    zonecfg:my-zone> add fs
    
    1. Définissez le point de montage du système de fichiers, ici /usr/local.


      zonecfg:my-zone:fs> set dir=/usr/local
      
    2. Spécifiez que /opt/zones/my-zone/local de la zone globale doit être monté comme /usr/local dans la zone en cours de configuration.


      zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local
      

      Dans la zone non globale, le système de fichiers /usr/local sera accessible en lecture et en écriture.

    3. Spécifiez le type de système de fichiers, ici lofs.


      zonecfg:my-zone:fs> set type=lofs
      

      Le type indique la manière dont le noyau dialogue avec le système de fichiers.

    4. Clôturez la spécification du système de fichiers.


      zonecfg:my-zone:fs> end
      

    Cette étape peut être répétée pour ajouter plus d'un système de fichiers.

  12. Facultatif : définissez la propriété hostid.


    zonecfg:my-zone> set hostid=80f0c086
    
  13. Ajoutez un jeu de données ZFS nommé sales dans le pool de stockage tank.


    zonecfg:my-zone> add dataset
    
    1. Spécifiez le chemin du jeu de données ZFS sales.


      zonecfg:my-zone> set name=tank/sales
      
    2. Terminez la spécification du jeu de données.


      zonecfg:my-zone> end
      
  14. (Uniquement pour les zones à racine fragmentée) Ajoutez un système de fichiers partagé monté en loopback depuis la zone globale.

    Ignorez cette étape si la zone créée est une zone à racine entière (ce type de zone ne possède pas de systèmes de fichiers partagés). Pour plus de détails sur les zones à racine entière, reportez-vous à la section Espace disque requis.


    zonecfg:my-zone> add inherit-pkg-dir
    
    1. Spécifiez que /opt/sfw de la zone globale doit être monté en mode lecture seule dans la zone en cours de configuration.


      zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
      

      Remarque –

      La base de données de packages de la zone est mise à jour en conséquence. À partir du moment où la zone a été installée à l'aide de zoneadm, ces ressources ne peuvent être ni modifiées ni supprimées.


    2. Terminez la spécification de inherit-pkg-dir.


      zonecfg:my-zone:inherit-pkg-dir> end
      

    Cette étape peut être répétée pour ajouter plusieurs systèmes de fichiers partagés.


    Remarque –

    Si vous voulez créez une zone à racine entière et que des ressources de systèmes de fichiers partagés par défaut ont été ajoutées à l'aide de inherit-pkg-dir, vous devez supprimer ces ressources inherit-pkg-dir par défaut avec zonecfg avant d'installer la zone :

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/lib

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/platform

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin

    • zonecfg:my-zone> remove inherit-pkg-dir dir=/usr


  15. (Optionnel) Si la zone créée est une zone en mode IP exclusif, définissez le type d'IP (ip-type).


    zonecfg:my-zone> set ip-type=exclusive
    

    Remarque –

    Seul le type correspondant aux périphériques physiques doit être spécifié dans l'étape add net.


  16. Ajoutez une interface réseau.


    zonecfg:my-zone> add net
    
    1. (Uniquement pour les zones à racine entière) Définissez l'adresse IP de l'interface réseau, ici 192.168.0.1.


      zonecfg:my-zone:net> set address=192.168.0.1
      
    2. Définissez le type de périphérique physique de l'interface réseau, ici le périphérique hme.


      zonecfg:my-zone:net> set physical=hme0
      
    3. Solaris 10 08/10 : (facultatif, IP partagé uniquement) définissez le routeur par défaut de l'interface réseau 10.0.0.1 lors de cette procédure.


      zonecfg:my-zone:net> set defrouter=10.0.0.1
      
    4. Clôturez la spécification.


      zonecfg:my-zone:net> end
      

    Cette étape peut être répétée pour ajouter plus d'une interface réseau.

  17. Ajoutez un périphérique.


    zonecfg:my-zone> add device
    
    1. Définissez la correspondance de périphérique, ici /dev/sound/* .


      zonecfg:my-zone:device> set match=/dev/sound/*
      
    2. Terminez la spécification du périphérique.


      zonecfg:my-zone:device> end
      

    Cette étape peut être répétée pour ajouter plusieurs périphériques.

  18. Ajoutez un contrôle de ressource à l'échelle de la zone à l'aide du nom de propriété.


    zonecfg:my-zone> set max-sem-ids=10485200
    

    Cette étape peut être répétée pour ajouter plusieurs contrôles de ressource.

  19. Ajoutez un commentaire à l'aide du type de ressource attr.


    zonecfg:my-zone> add attr
    
    1. Définissez le nom sur comment.


      zonecfg:my-zone:attr> set name=comment
      
    2. Définissez le type sur string.


      zonecfg:my-zone:attr> set type=string
      
    3. Définissez la valeur sur un commentaire décrivant cette zone.


      zonecfg:my-zone:attr> set value="This is my work zone."
      
    4. Clôturez la spécification du type de ressource attr.


      zonecfg:my-zone:attr> end
      
  20. Vérifiez la configuration de la zone.


    zonecfg:my-zone> verify
    
  21. Validez la configuration de la zone.


    zonecfg:my-zone> commit
    
  22. Quittez la commande zonecfg.


    zonecfg:my-zone> exit
    

    Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.

Utilisation de plusieurs sous-commandes sur la ligne de commande

Astuce –

La commande zonecfg prend également en charge des sous-commandes multiples, placées entre guillemets et séparées par des points-virgules, d'un même appel de shell.


global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone"

Étape suivante

Pour installer la configuration de la zone validée, reportez-vous à la section Installation et initialisation de zones.

Script de configuration de zones multiples

Ce script permet de configurer et d'initialiser plusieurs zones sur un système. Il regroupe les paramètres suivants :

Vous devez être administrateur global de la zone globale pour pouvoir exécuter ce script. L'administrateur global possède des privilèges de superutilisateur dans la zone globale ou assume le rôle d'administrateur principal.


#!/bin/ksh
#
# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident	"%Z%%M%	%I%	%E% SMI"

if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
		echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>"
		exit 2
fi

if [[ ! -d $3 ]]; then
		echo "$3 is not a directory"
		exit 1
fi

nprocs=`psrinfo | wc -l`
nzones=$1
prefix=$2
dir=$3

ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if`
if [ $ip_addrs_per_if -lt $nzones ]; then
		echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)"
		echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>"
		exit 1
fi

i=1
while [ $i -le $nzones ]; do
	zoneadm -z $prefix$i list > /dev/null 2>&1
	if [ $? != 0 ]; then
		echo configuring $prefix$i
		F=$dir/$prefix$i.config
		rm -f $F
		echo "create" > $F
		echo "set zonepath=$dir/$prefix$i" >> $F
		zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \
		    sed 's/^/    /g' 
	else
		echo "skipping $prefix$i, already configured"
	fi
	i=`expr $i + 1`
done

i=1
while [ $i -le $nzones ]; do
	j=1
	while [ $j -le $nprocs ]; do
		if [ $i -le $nzones ]; then
			if [ `zoneadm -z $prefix$i list -p | \
			    cut -d':' -f 3` != "configured" ]; then
				echo "skipping $prefix$i, already installed"
			else
				echo installing $prefix$i
				mkdir -pm 0700 $dir/$prefix$i
				chmod 700 $dir/$prefix$i
				zoneadm -z $prefix$i install > /dev/null 2>&1 &
				sleep 1	# spread things out just a tad
			fi
		fi
		i=`expr $i + 1`
		j=`expr $j + 1`
	done
	wait
done

i=1
while [ $i -le $nzones ]; do
	echo setting up sysid for $prefix$i
	cfg=$dir/$prefix$i/root/etc/sysidcfg
	rm -f $cfg
	echo "network_interface=NONE {hostname=$prefix$i}" > $cfg
	echo "system_locale=C" >> $cfg
	echo "terminal=xterms" >> $cfg
	echo "security_policy=NONE" >> $cfg
	echo "name_service=NONE" >> $cfg
	echo "timezone=US/Pacific" >> $cfg
	echo "root_password=Qexr7Y/wzkSbc" >> $cfg  # 'l1a'
	i=`expr $i + 1`
done

i=1
para=`expr $nprocs \* 2`
while [ $i -le $nzones ]; do
	date
	j=1
	while [ $j -le $para ]; do
		if [ $i -le $nzones ]; then
			echo booting $prefix$i
			zoneadm -z $prefix$i boot &
		fi
		j=`expr $j + 1`
		i=`expr $i + 1`
	done
	wait
done

ProcedureAffichage de la configuration d'une zone non globale

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Affichez la configuration de la zone.


    global# zonecfg -z zonename info
    

Modification de la configuration d'une zone à l'aide de zonecfg

La commande zonecfg permet également de :

ProcedureModification d'un type de ressource dans la configuration d'une zone

Vous pouvez sélectionner un type de ressource et modifier la spécification de cette ressource.

Une fois la zone installée à l'aide de zoneadm, le contenu des packages logiciels du répertoire inherit-pkg-dir ne peut être ni modifié ni supprimé.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Sélectionnez la zone à modifier, ici my-zone .


    global# zonecfg -z my-zone
    
  3. Sélectionnez le type de ressource à modifier, par exemple un contrôle de ressource.


    zonecfg:my-zone> select rctl name=zone.cpu-shares
    
  4. Supprimez la valeur actuelle.


    zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none)
    
  5. Ajoutez la nouvelle valeur.


    zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none)
    
  6. Terminez la spécification rctl modifiée.


    zonecfg:my-zone:rctl> end
    
  7. Validez la configuration de la zone.


    zonecfg:my-zone> commit
    
  8. Quittez la commande zonecfg.


    zonecfg:my-zone> exit
    

    Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.

    Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.

ProcedureSolaris 10 8/07 : effacement d'un type de propriété dans la configuration d'une zone

Utilisez cette procédure pour réinitialiser une propriété autonome.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Sélectionnez la zone à modifier, ici my-zone.


    global# zonecfg -z my-zone
    
  3. Effacez la propriété à modifier, ici l'association de pools existante.


    zonecfg:my-zone> clear pool
    
  4. Validez la configuration de la zone.


    zonecfg:my-zone> commit
    
  5. Quittez la commande zonecfg.


    zonecfg:my-zone> exit
    

    Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.

    Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.

ProcedureDe Solaris 10 3/05 à Solaris 10 11/06 : modification d'un type de propriété dans la configuration d'une zone

La procédure ci-dessous permet de réinitialiser une propriété autonome ne possédant pas de propriétés liées à configurer. Vous pouvez par exemple rétablir la ressource pool sur null pour supprimer une association de pools existante.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Sélectionnez la zone à modifier, ici my-zone.


    global# zonecfg -z my-zone
    
  3. Réinitialisez la propriété à modifier, ici l'association de pools existante.


    zonecfg:my-zone> set pool=""
    
  4. Validez la configuration de la zone.


    zonecfg:my-zone> commit
    
  5. Quittez la commande zonecfg.


    zonecfg:my-zone> exit
    

    Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.

    Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.

ProcedureSolaris 10 8/07 : renommage d'une zone

Cette procédure peut être utilisée pour renommer les zones dont l'état est Configuré ou Installé.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Sélectionnez la zone à renommer, ici my-zone.


    global# zonecfg -z my-zone
    
  3. Renommez la zone. Par exemple, nommez-la newzone.


    zonecfg:my-zone> set zonename=newzone
    
  4. Validez la modification.


    zonecfg:newzone> commit
    
  5. Quittez la commande zonecfg.


    zonecfg:newzone> exit
    

    Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.

ProcedureAjout d'un périphérique dédié à une zone

La spécification ci-après permet d'ajouter un scanner à la configuration d'une zone non globale.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Ajoutez un périphérique.


    zonecfg:my-zone> add device
    
  3. Définissez la correspondance de périphérique, ici /dev/scsi/scanner/c3t4*.


    zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4*
    
  4. Terminez la spécification du périphérique.


    zonecfg:my-zone:device> end
    
  5. Quittez la commande zonecfg.


    zonecfg:my-zone> exit
    

ProcedureDéfinition de zone.cpu-shares dans une zone globale

Cette procédure permet de définir de manière persistante les parts de CPU dans une zone globale.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Utilisez la commande zonecfg.


    # zonecfg -z global
    
  3. Définissez cinq parts dans la zone globale.


    zonecfg:global> set cpu-shares=5
    
  4. Quittezzonecfg.


    zonecfg:global> exit
    

Rétablissement ou suppression de la configuration d'une zone à l'aide de zonecfg

Pour rétablir ou supprimer la configuration d'une zone, exécutez la commande zonecfg décrite dans la page de manuel zonecfg(1M).

ProcedureRétablissement de la configuration d'une zone

Pour annuler le paramétrage d'une ressource pendant la configuration d'une zone à l'aide de l'utilitaire zonecfg, exécutez la commande revert.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Pendant la configuration de la zone tmp-zone, tapez info pour afficher la configuration :


    zonecfg:tmp-zone> info
    

    Le segment concernant la ressource net de la configuration se présente de la manière suivante :


    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .
  3. Supprimez l'adresse réseau :


    zonecfg:tmp-zone> remove net address=192.168.0.1
    
  4. Assurez-vous que l'entrée net a été supprimée.


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    device
            match: /dev/pts/*
    .
    .
    .
  5. Entrez revert.


    zonecfg:tmp-zone> revert
    
  6. Répondez oui à la question suivante :


    Are you sure you want to revert (y/[n])? y
    
  7. Assurez-vous que l'adresse réseau a été rétablie :


    zonecfg:tmp-zone> info
    

    .
    .
    .
    fs:
            dir: /tmp
            special: swap
            type: tmpfs
    net:
            address: 192.168.0.1
            physical: eri0
    device
            match: /dev/pts/*
    .
    .
    .

ProcedureSuppression de la configuration d'une zone

Pour supprimer la configuration d'une zone du système, utilisez la commande zonecfg avec la sous-commande delete.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Supprimez la configuration de la zone a-zone de l'une des deux manières suivantes :

    • Utilisez l'option -F pour forcer la suppression :


      global# zonecfg -z a-zone delete -F
      
    • Supprimez la zone de manière interactive en répondant oui à l'invite du système :


      global# zonecfg -z a-zone delete
      Are you sure you want to delete zone a-zone (y/[n])? y
      

Chapitre 19 À propos de l'installation, de l'arrêt, du clonage et de la désinstallation de zones non globales (présentation)

Ce chapitre décrit l'installation de zones sur un système Solaris. Il explique également les deux processus qui gèrent la plate-forme virtuelle et l'environnement applicatif, soit zoneadmd et zsched, et fournit des informations concernant l'arrêt, la réinitialisation, le clonage et la désinstallation des zones.

Il comprend les sections suivantes :

Pour en savoir plus sur le clonage, l'installation, l'initialisation, l'arrêt ou la désinstallation des zones non globales, reportez-vous au Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches).

Pour plus d'informations sur l'installation de zones marquées lx, reportez-vous au Chapitre 34À propos de l'installation, de l'initialisation, de l'arrêt, du clonage et de la désinstallation des zones marquées lx (présentation) et au Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches).

Nouveautés

Solaris 10 11/06 : vous pouvez désormais cloner des zones non globales. Reportez-vous à la section Solaris 10 11/06 : clonage d'une zone non globale sur le même système.

Solaris 10 8/07 : des informations concernant les arguments d'initialisation ont été ajoutées. Reportez-vous à la section Solaris 10 8/07 : arguments d'initialisation des zones.

Solaris 10 5/09 : le clone ZFS a été implémenté. Lorsque l'emplacement zonepath source et l'emplacement zonepath cible résident sur ZFS et se trouvent dans le même pool, la commande zoneadm clone utilise automatiquement ZFS pour cloner la zone. Si les emplacements zonepath sont non ZFS, ou si l'un est ZFS et l'autre est non ZFS, le code utilisera la technique de copie existante.

Concepts d'installation et d'administration de zones

La commande zoneadm, décrite dans la page de manuel zoneadm(1M), est le principal outil d'installation et d'administration de zones non globales. Les opérations faisant appel à la commande zoneadm doivent être effectuées depuis la zone globale. La commande zoneadm permet d'exécuter les tâches suivantes :

Pour en savoir plus sur les procédures d'installation et de vérification des zones, reportez-vous au Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches) et à la page de manuel zoneadm(1M). Pour plus d'informations sur les options de commande zoneadm list prises en charge, reportez-vous à la page de manuel zoneadm(1M. ) Pour en savoir plus sur les procédures de configuration des zones, reportez-vous au Chapitre 18Planification et configuration de zones non globales (tâches) et à la page de manuel zonecfg(1M). Les états de zones sont décrits à la section États des zones non globales.

Si vous avez l'intention de produire des enregistrements de contrôle Solaris pour les zones, lisez la section Utilisation du contrôle Solaris dans les zones avant d'installer des zones non globales.

Construction de zones

Cette section porte uniquement sur la construction intiale de zones. Elle ne traite pas du clonage des zones existantes.

Après avoir configuré une zone non globale, il est important de vérifier que la configuration du système est compatible avec son installation. Cela étant fait, vous pouvez installer la zone. Les fichiers nécessaires au système de fichiers racine de la zone sont installés sous cette racine par le système.

Une zone non globale dotée d'une configuration réseau ouverte (generic_open.xml) est installée. Pour plus d'informations sur les types de configurations réseau, reportez-vous au Chapitre 19, Managing Services (Tasks) du System Administration Guide: Basic Administration. L'administrateur de zone peut définir la zone en configuration réseau limitée (generic_limited_net.xml) grâce à la commande netservices. En outre, des services spécifiques peuvent être activés ou désactivés à l'aide des commandes SMF.

Dès qu'une zone est installée, elle est prête pour la première connexion et la première initialisation.

La méthode à employer pour renseigner une zone non globale est identique à celle utilisée lors de l'installation initiale des packages Solaris.

La zone globale doit contenir toutes les données nécessaires au renseignement d'une zone non globale. Cette opération englobe la création de répertoires, la copie de fichiers et la spécification d'informations concernant la configuration.

Seules les informations ou les données créées dans la zone globale à partir de packages sont utilisées pour renseigner les zones à partir de la zone globale. Pour plus d'informations, reportez-vous aux pages de manuel pkgparam(1) et pkginfo(4).

Les données suivantes ne sont ni référencées ni copiées lors de l'installation d'une zone :

De plus, s'ils sont présents dans la zone globale, les types d'informations suivants ne sont pas copiés dans les zones en cours d'installation :

En cas d'utilisation du contrôle Solaris, il peut s'avérer nécessaire de modifier les fichiers de contrôle copiés dans la zone globale. Pour plus d'informations, reportez-vous à la section Utilisation du contrôle Solaris dans les zones.

Les fonctionnalités suivantes ne peuvent pas être configurées dans des zones non globales :

Les ressources spécifiées dans le fichier de configuration sont ajoutées lorsque la zone passe de l'état installé à l'état prêt. Un ID de zone unique est attribué par le système. Les systèmes de fichiers sont montés, les interfaces réseau paramétrées et les périphériques configurés. Le passage de la zone à l'état prêt prépare la plate-forme virtuelle en vue de l'exécution des processus utilisateur. Lorsque la zone est prête, les processus zsched et zoneadmd sont démarrés pour gérer la plate-forme virtuelle.

Toute zone prête ne contient aucun processus utilisateur en cours d'exécution, alors que toute zone en cours d'exécution en contient au moins un. C'est la principale différence entre ces deux états. Pour plus d'informations, reportez-vous à la page de manuel init(1M).

Démon zoneadmd

Le démon d'administration des zones, zoneadmd, est le principal processus de gestion de la plate-forme virtuelle des zones. Il est aussi responsable de la gestion de l'initialisation et de l'arrêt des zones. Un processus zoneadmd est exécuté pour chaque zone active (état Prêt, En cours d'exécution ou Arrêt en cours) du système.

Le démon zoneadmd paramètre la zone selon la configuration de cette dernière. Ce processus englobe les actions suivantes :

zoneadm lance automatiquement le démon zoneadmd, sauf s'il est déjà en cours d'exécution. Si, pour une raison quelconque, il n'est pas en cours d'exécution, tout appel de zoneadm pour administrer la zone redémarre zoneadmd.

Pour plus d'informations sur le démon zoneadmd reportez-vous à la page de manuel zoneadmd(1M).

Ordonnanceur de zone zsched

Une zone active est une zone dont l'état affiche Prêt, En cours d'exécution ou Arrêt en cours. Un processus de noyau est associé à toute zone active : zsched. Les threads du noyau exécutant des tâches pour le compte de la zone appartiennent à zsched. Le processus zsched permet au sous-système des zones d'assurer le suivi des threads de noyau par zone.

Environnement applicatif des zones

La commande zoneadm permet de créer un environnement applicatif de zone.

Avant la première initialisation d'une zone non globale, il est nécessaire de créer la configuration interne de la zone. Cette configuration spécifie le service d'attribution de nom à utiliser, l'environnement linguistique et le fuseau horaire par défaut, le mot de passe de la racine de la zone et d'autres éléments de l'environnement applicatif. La définition de cet environnement s'effectue en répondant à une série d'invites qui s'affichent sur la console de la zone, comme expliqué dans la section Configuration interne d'une zone. Notez que l'environnement linguistique et le fuseau horaire par défaut d'une zone peuvent être configurés indépendamment des paramètres globaux.

À propos de l'arrêt, de la réinitialisation et de la désinstallation des zones

Cette section offre un aperçu des procédures d'arrêt, d'initialisation et de désinstallation des zones. Elle fournit également des astuces permettant de dépanner les zones qui ne s'arrêtent pas en temps voulu.

Arrêt d'une zone

La commande zoneadm halt permet de supprimer l'environnement applicatif et la plate-forme virtuelle d'une zone. La zone revient alors à l'état installé. Tous les processus sont interrompus, la configuration des périphériques est annulée, les interfaces réseau sont détruites, les systèmes de fichiers démontés et les structures de données du noyau également détruites.

La commande halt n'exécute pas de script d'arrêt à l'intérieur de la zone. Pour arrêter une zone, reportez-vous à la section Arrêt d'une zone à l'aide de zlogin.

Si l'arrêt échoue, reportez-vous à la section La zone ne s'arrête pas.

Réinitialisation d'une zone

La commande zoneadm reboot permet de réinitialiser une zone. Celle-ci est arrêtée, puis réinitialisée. Son ID de zone change lors de sa réinitialisation.

Solaris 10 8/07 : arguments d'initialisation des zones

Les zones prennent en charge les arguments d'initialisation suivants avec les commandes zoneadm boot et reboot :

Les définitions suivantes s'appliquent :

-i altinit

Sélectionne un exécutable alternatif pouvant être utilisé comme premier processus. altinit doit être un chemin valide vers un exécutable. Le premier processus par défaut est décrit dans la page de manuel init(1M).

-m options_smf

Contrôle le comportement de SMF lors de l'initialisation. Il existe deux catégories d'options : les options de reprise et les options de messages. Les options de messages déterminent le type et le nombre de messages s'affichant pendant l'initialisation. Les options de services déterminent les services utilisés pour initialiser le système.

Les options suivantes sont applicables à une reprise :

debug

Imprime une sortie standard par service et tous les messages svc.startd à consigner.

milestone=jalon

Initialise sur le sous-graphe défini par le jalon donné. Les jalons valides sont none, single-user, multi-user, multi-user-server et all.

Les options de messages incluent :

quiet

Imprime une sortie standard par service et les messages d'erreur requérant une intervention administrative.

verbose

Imprime une sortie standard par service et les messages fournissant plus d'informations.

-s

Initialisation uniquement sur svc:/milestone/single-user:default . Ce jalon est équivalent au niveau s de init.

Vous trouverez des exemples d'utilisation dans les sections Initialisation d'une zone et Initialisation d'une zone en mode monoutilisateur.

Pour plus d'informations sur l'utilitaire de gestion des services Solaris (SMF, Service Management Facility) et sur le processus init, reportez-vous au Chapitre 18, Managing Services (Overview) du System Administration Guide: Basic Administration et aux pages de manuel svc.startd(1M) et init(1M).

Initialisation automatique (autoboot) d'une zone

Si, dans une configuration de zone, vous définissez la propriété de ressource autoboot sur true, cette zone est automatiquement initialisée lors de l'initialisation de la zone globale. Le paramètre par défaut est false.

Notez que les zones ne s'initialisent automatiquement que si le service svc:/system/zones:default est activé.

Désinstallation d'une zone

La commande zoneadm uninstall permet de désinstaller tous les fichiers se trouvant sous le système de fichiers racine de la zone. Avant de procéder à la désinstallation, la commande vous invite à la confirmer, sauf si vous avez utilisé l'option -F (force). Utilisez la commande uninstall avec discernement, car la désinstallation est irréversible.

Solaris 10 11/06 et versions ultérieures : à propos du clonage de zones non globales

Le clonage permet de copier une zone existante configurée et installée sur un système pour créer une nouvelle zone sur ce même système. Notez que vous devez au moins réinitialiser les propriétés et les ressources des composants qui ne peuvent pas être identiques pour différentes zones. Vous devez donc impérativement modifier le zonepath. De plus, s'il s'agit d'une zone en mode IP partagé, les adresses IP des diverses ressources réseau doivent être différentes. S'il s'agit d'une zone en mode IP exclusif, les propriétés physiques des ressources réseau doivent être différentes.

Solaris 10 5/09 : lorsque l'emplacement zonepath source et l'emplacement zonepath cible résident sur ZFS et se trouvent dans le même pool, la commande zoneadm clone utilise automatiquement ZFS pour cloner la zone. Lorsque vous utilisez le clonage ZFS, les données ne sont copiées réellement que lorsqu'elles sont modifiées. Ainsi, le clonage initial ne prend que très peu de temps. La commande zoneadm prend un instantané ZFS de l'emplacement zonepath source et configure l'emplacement zonepath cible. Le système nomme l'instantané SUNWzoneX, où x est un ID unique permettant de distinguer les instantanés. L'emplacement zonepath de la zone de destination est utilisé pour attribuer un nom au clone ZFS. Un inventaire est effectué pour permettre au système de valider un instantané utilisé ultérieurement. Pour cloner plusieurs fois une zone source, la commande zoneadm permet de spécifier l'utilisation d'un instantané existant. Le système vérifie et valide que l'instantané existant peut être utilisé dans la cible.

Vous ne pouvez pas utiliser d'instantanés manuels (tel que le type décrit à la section Création et destruction d’instantanés ZFS du Guide d’administration Oracle Solaris ZFS). Ce type d'instantané ne contient pas les données nécessaires à une validation.

Vous pouvez vouloir cloner une zone source plusieurs fois sans pour autant avoir un nouvel instantané pour chaque clone. Le paramètre -s passé à la sous-commande clone vous permet de spécifier qu'un instantané existant issu d'un clone précédent doit être utilisé. Voir Solaris 10 5/09 : clonage d'une zone à partir d'un instantané existant.

Étant donné que le contenu d'un instantané représente une zone à un moment dans le passé, il est possible que le système ait été mis à jour, par exemple par l'application d'un patch ou d'une mise à niveau, depuis que l'instantané a été pris. Le fait que la zone ait été mise à niveau peut rendre l'instantané à utiliser comme une zone non valide sur le système actuel.


Remarque –

Vous pouvez spécifier qu'un emplacement zonepath ZFS doit être copié au lieu d'être cloné en tant que clone ZFS, bien que la source puisse être clonée de cette façon.


Pour plus d'informations, reportez-vous à la section Solaris 10 11/06 : clonage d'une zone non globale sur le même système.

Chapitre 20 Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches)

Ce chapitre explique l'installation et l'initialisation d'une zone non globale, ainsi que la création d'une zone destinée à être installée sur le même système, à l'aide du clonage. D'autres tâches liées à l'installation, telles que l'arrêt, la réinitialisation et la désinstallation des zones, y sont également abordées. Ce chapitre décrit enfin une procédure permettant de supprimer entièrement une zone d'un système.

Pour en savoir plus sur l'installation des zones et les opérations connexes, reportez-vous au Chapitre 19À propos de l'installation, de l'arrêt, du clonage et de la désinstallation de zones non globales (présentation).

Pour plus d'informations sur l'installation et le clonage des zones marquées lx, reportez-vous au Chapitre 34À propos de l'installation, de l'initialisation, de l'arrêt, du clonage et de la désinstallation des zones marquées lx (présentation) et au Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches).

Installation d'une zone (liste des tâches)

Tâche 

Description 

Voir 

(Optionnel) Vérifier une zone configurée avant de l'installer. 

Assurez-vous que la zone répond aux exigences d'installation. Sans cette étape, la vérification s'exécute automatiquement à l'installation de la zone. 

(Optionnel) Vérification d'une zone configurée avant son installation

Installer une zone configurée. 

Installez une zone se trouvant en état Configuré. 

Installation d'une zone configurée

Solaris 8/07 : obtenir l'identifiant universel unique (UUID, Universally Unique Identifier) de la zone. 

Cet identifiant séparé, assigné lorsque la zone est installée, offre un mode d'identification alternatif de la zone. 

Solaris 10 8/07 : obtention de l'UUID d'une zone non globale installée

(Optionnel) Faire passer une zone installée à l'état Prêt. 

Vous pouvez ignorer cette étape si vous avez l'intention d'initialiser la zone et de l'utiliser immédiatement. 

(Optionnel) Passage d'une zone installée à l'état Prêt

Initialiser une zone. 

L'initialisation d'une zone la fait passer à l'état En cours d'exécution. Toute zone prête ou installée peut être initialisée. Notez que, lorsque vous vous connectez à la zone après sa première initialisation, vous devez procéder à sa configuration interne. 

Initialisation d'une zone, Configuration interne d'une zone, Configuration de la zone interne initiale

Initialiser une zone en mode monoutilisateur. 

Initialisation uniquement sur svc:/milestone/single-user:default. Ce jalon équivaut au niveau s de init. Reportez-vous aux pages de manuel init(1M) et svc.startd(1M).

Initialisation d'une zone en mode monoutilisateur

Installation et initialisation de zones

La commande zoneadm, décrite dans la page de manuel zoneadm(1M), permet d'exécuter les tâches d'installation des zones non globales. Seul l'administrateur global peut installer ce type de zone. Le nom et le chemin de zone figurant dans les exemples de ce chapitre sont identiques à ceux utilisés dans la section Configuration, vérification et validation d'une zone.

Procedure(Optionnel) Vérification d'une zone configurée avant son installation

Il est possible de vérifier les zones avant de les installer. Sans cette étape, la vérification s'exécute automatiquement à l'installation de la zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Vérifiez la zone configurée nommée my-zone à l'aide de l'option -z suivie du nom de la zone et de la sous-commande verify.


    global# zoneadm -z my-zone verify
    

    Le message suivant relatif à la vérification du chemin de la zone s'affiche :


    Warning: /export/home/my-zone does not exist, so it cannot be verified.
    When 'zoneadm install' is run, 'install' will try to create
    /export/home1/my-zone, and 'verify' will be tried again,
    but the 'verify' may fail if:
    the parent directory of /export/home/my-zone is group- or other-writable
    or
    /export/home1/my-zone overlaps with any other installed zones.

    Toutefois, si un message d'erreur s'affiche et si la vérification échoue, effectuez les corrections spécifiées dans le message et réexécutez la commande.

    Si aucun message d'erreur ne s'affiche, vous pouvez installer la zone.

ProcedureInstallation d'une zone configurée

Seul l'administrateur global peut exécuter la procédure ci-dessous.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Installez la zone configurée my-zone à l'aide de la commande zoneadm et de l'option -z install.


    global# zoneadm -z my-zone install
    

    Différents messages s'affichent durant l'installation, sous la racine de la zone, des fichiers et répertoires requis par le système de fichiers racine de celle-ci.

  3. (Optionnel) Si un message d'erreur s'affiche et si l'installation de la zone échoue, tapez les commandes suivantes pour déterminer l'état de la zone :


    global# zoneadm -z my-zone list -v
    
    • Si la liste indique que la zone est configurée, apportez les corrections spécifiées dans le message et réexécutez la commande zoneadm install.

    • Si la liste indique que la zone est incomplète, exécutez la commande suivante :


      global# zoneadm -z my-zone uninstall
      

      Apportez ensuite les corrections spécifiées dans le message et réexécutez la commande zoneadm install.

  4. Lorsque l'installation est terminée, exécutez la sous-commande list avec les options -i et -v pour afficher la liste des zones installées et vérifier leur état.


    global# zoneadm list -iv
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
Erreurs fréquentes

En cas d'échec ou d'interruption de l'installation, la zone affiche un état Incomplet. Exécutez uninstall -F pour la redéfinir dans l'état Configuré.

Étapes suivantes

Par défaut, cette zone a été installée avec la configuration réseau ouverte décrite dans le Chapitre 19, Managing Services (Tasks) du System Administration Guide: Basic Administration. Vous pouvez passer en configuration réseau ouverte ou activer ou désactiver les services individuels lorsque vous vous connectez à une zone. Pour plus de détails, reportez-vous à la section Commutation de la zone non globale à une configuration de services réseau différente.

ProcedureSolaris 10 8/07 : obtention de l'UUID d'une zone non globale installée

Lorsqu'une zone est installée, un identifiant universel unique (UUID, universally unique identifier) lui est assigné. Cet identifiant peut être obtenu avec la commande zoneadm, la sous-commande list et l'option -p. L'UUID se trouve dans le cinquième champ s'affichant à l'écran.

  1. Affichage des UUID de zones déjà installées.


    global# zoneadm list -p
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    0:global:running:/:
    6:my-zone:running:/export/home/my-zone:61901255-35cf-40d6-d501-f37dc84eb504

Exemple 20–1 Utilisation de l'UUID dans une commande


global# zoneadm -z my-zone -u 61901255-35cf-40d6-d501-f37dc84eb504 list -v

Si -u concordance uuid et -z nom de zone sont présents, le premier critère de concordance est l'UUID. Si le système trouve une zone possédant l'UUID spécifié, cette zone est utilisée et le paramètre -z est ignoré. Si le système ne trouve pas de zone possédant l'UUID spécifié, il poursuit sa recherche à l'aide du nom de zone.


À propos de l'UUID

Les zones peuvent être désinstallées et réinstallées sous le même nom avec différents contenus. Elles peuvent également être renommées sans que leur contenu soit modifié. C'est pourquoi l'UUID est un identificateur plus fiable que le nom de zone.

Voir aussi

Pour plus d'informations, reportez-vous aux pages de manuel zoneadm(1M) et libuuid(3LIB).

ProcedureSolaris 10 8/07 : marquage comme Incomplet de l'état d'une zone non globale installée

Lorsqu'une zone installée devient inutilisable ou incohérente du fait de changements administratifs intervenus sur le système, il est possible de marquer son état comme Incomplet.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Marquez l'état de la zone testzone comme Incomplet.


    global# zoneadm -z testzone mark incomplete
    
  3. Exécutez la sous-commande list avec les options -i et -v pour vérifier l'état de la zone.


    global# zoneadm list -iv
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  testzone incomplete   /export/home/testzone          native     shared
Marquage de l'état d'une zone comme Incomplet

Vous pouvez spécifier un environnement d'initialisation de remplacement à l'aide de l'option -R racine, conjointement avec les sous-commandes mark et list de zoneadm. Pour plus d'informations, reportez-vous à la page de manuel zoneadm(1M).


Remarque –

Le marquage de l'état d'une zone comme Incomplet est irréversible. Une fois la zone marquée, vous pouvez uniquement la désinstaller et la remettre en état Configuré. Reportez-vous à la section Désinstallation d'une zone.


Procedure(Optionnel) Passage d'une zone installée à l'état Prêt

Le passage d'une zone à l'état Prêt prépare la plate-forme virtuelle en vue de l'exécution des processus utilisateur. Les zones prêtes ne contiennent aucun processus utilisateur en cours d'exécution.

Vous pouvez ignorer cette étape si vous avez l'intention d'initialiser la zone et de l'utiliser immédiatement. Le passage à l'état Prêt s'effectue automatiquement lorsque vous initialisez la zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez la commande zoneadm avec l'option -z, le nom de la zone (ici my-zone) et la sous-commande ready pour faire passer la zone à l'état Prêt.


    global# zoneadm -z my-zone ready
    
  3. À l'invite du système, exécutez la commande zoneadm list avec l'option -v pour vérifier l'état de la zone.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  ready        /export/home/my-zone           native     shared

    Notez que l'ID de zone unique 1 a été assigné par le système.

ProcedureInitialisation d'une zone

L'initialisation d'une zone la fait passer à l'état En cours d'exécution. Toute zone prête ou installée peut être initialisée. Toute zone installée qui est initialisée passe de manière transparente par l'état Prêt avant d'atteindre l'état En cours d'exécution. La connexion à une zone n'est permise que si la zone est en cours d'exécution.


Astuce –

Notez que la configuration interne d'une zone s'effectue lors de la première connexion à cette zone. La procédure correspondante est décrite dans la section Configuration interne d'une zone.

Si vous avez l'intention d'utiliser un fichier /etc/sysidcfg pour effectuer la configuration initiale de la zone, comme décrit dans la section Configuration de zone initiale à l'aide du fichier /etc/sysidcfg, créez le fichier sysidcfg et placez-le dans le répertoire /etc de la zone avant de l'initialiser.


Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez la commande zoneadm avec l'option -z, le nom de la zone (ici my-zone) et la sous-commande boot pour initialiser la zone.


    global# zoneadm -z my-zone boot
    
  3. Lorsque l'initialisation est terminée, exécutez la sous-commande list avec l'option -v pour vérifier l'état de la zone.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared

Exemple 20–2 Spécification d'arguments d'initialisation de zones

Initialisation d'une zone avec l'option -m verbose :


global# zoneadm -z my-zone boot -- -m verbose

Réinitialisation d'une zone avec l'option d'initialisation -m verbose :


global# zoneadm -z my-zone reboot -- -m verbose

Réinitialisation de la zone my-zone en tant qu'administrateur de zone avec l'option -m verbose :


my-zone# reboot -- -m verbose

Erreurs fréquentes

Si un message indiquant que le système n'a pas pu trouver le masque réseau à utiliser pour l'adresse IP spécifiée sur les écrans de configuration de la zone s'affiche, reportez-vous à la section Un avertissement netmasks s'affiche lors de l'initialisation de la zone. Notez que ce message n'est qu'un avertissement. La commande a bien été exécutée.

ProcedureInitialisation d'une zone en mode monoutilisateur

Seul l'administrateur global peut exécuter cette procédure.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Initialisez la zone en mode monoutilisateur.


    global# zoneadm -z my-zone boot -s
    

Étape suivante

Pour vous connecter à la zone et effectuer la configuration interne initiale, reportez-vous au Chapitre 21Connexion à une zone non globale (présentation) et au Chapitre 22Connexion à une zone non globale (tâches).

Arrêt, réinitialisation, désinstallation, clonage et suppression de zones non globales (liste des tâches)

Tâche 

Description 

Voir 

Arrêter une zone. 

La procédure d'arrêt s'emploie pour supprimer l'environnement applicatif et la plate-forme virtuelle d'une zone. Elle replace les zones prêtes à l'état Installé. Pour arrêter correctement une zone, reportez-vous à la section Arrêt d'une zone à l'aide de zlogin.

Arrêt d'une zone

Réinitialiser une zone. 

La procédure de réinitialisation arrête la zone et la réinitialise. 

Réinitialisation d'une zone

Désinstaller une zone. 

Supprime tous les fichiers du système de fichiers racine de la zone. Utilisez cette procédure avec discernement. Cette action est irréversible.

Désinstallation d'une zone

Créer une nouvelle zone non globale en se basant sur la configuration d'une zone existant sur le même système. 

Le clonage soit constitue la méthode la plus rapide pour installer une zone. Toutefois, vous devez configurer la nouvelle zone avant de l'installer. 

Solaris 10 11/06 : clonage d'une zone non globale sur le même système

Supprimer une zone non globale du système. 

Cette procédure supprime complètement la zone du système. 

Suppression d'une zone non globale du système

Arrêt, réinitialisation et désinstallation de zones

ProcedureArrêt d'une zone

La procédure d'arrêt permet de supprimer l'environnement applicatif et la plate-forme virtuelle d'une zone. Pour arrêter correctement une zone, reportez-vous à la section Arrêt d'une zone à l'aide de zlogin.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Affichez la liste des zones en cours d'exécution sur le système.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  3. Exécutez la commande zoneadm avec l'option -z, le nom de la zone (par exemple my-zone) et la sous-commande halt pour arrêter la zone concernée.


    global# zoneadm -z my-zone halt
    
  4. Affichez de nouveau la liste des zones du système pour vous assurer que my-zone a été arrêtée.


    global# zoneadm list -iv
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  5. Initialisez la zone si vous voulez la redémarrer.


    global# zoneadm -z my-zone boot
    
Erreurs fréquentes

Si l'arrêt échoue, reportez-vous à la section La zone ne s'arrête pas. Vous y trouverez des astuces concernant le dépannage des zones.

ProcedureRéinitialisation d'une zone

Seul l'administrateur global peut exécuter la procédure ci-dessous.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Affichez la liste des zones en cours d'exécution sur le système.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  3. Exécutez la commande zoneadm avec l'option -z reboot pour réinitialiser la zone my-zone.


    global# zoneadm -z my-zone reboot
    
  4. Listez de nouveau les zones sur le système pour vous assurer que my-zone a bien été réinitialisée.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     2  my-zone  running      /export/home/my-zone           native     shared

    Astuce –

    Notez que l'ID de my-zone a changé. C'est généralement le cas lorsqu'une zone est réinitialisée.


ProcedureDésinstallation d'une zone


Attention – Attention –

Utilisez cette procédure avec discernement, car la suppression des fichiers du système de fichiers racine d'une zone est irréversible.


La zone ne doit pas être en cours d'exécution, car la commande uninstall n'est pas valide pour les zones qui se trouvent dans cet état.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Affichez la liste des zones du système.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  3. Exécutez la commande zoneadm avec l'option -z uninstall pour supprimer la zone my-zone.

    Vous pouvez aussi utiliser l'option -F pour forcer la suppression. Si vous ne la spécifiez pas, le système vous invitera à confirmer la suppression.


    global# zoneadm -z my-zone uninstall -F
    
  4. Affichez de nouveau les zones du système pour vous assurer que my-zone a été supprimée.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
Erreurs fréquentes

Lorsque la désinstallation est interrompue, la zone affiche un état Incomplet. Exécutez la commande zoneadm uninstall pour repasser la zone à l'état Configuré.

Utilisez la commande uninstall avec discernement, car la désinstallation est irréversible.

Solaris 10 11/06 : clonage d'une zone non globale sur le même système

Le clonage permet de créer une nouvelle zone sur un système en copiant les données d'un emplacement zonepath source vers un emplacement zonepath cible.

À partir de la version 10 5/09 de Solaris, lorsqu'un emplacement zonepath source et un emplacement zonepath cible résident sur ZFS et se trouvent dans le même pool, la commande zoneadm clone utilise automatiquement ZFS pour cloner la zone. Toutefois, vous pouvez indiquer que l'emplacement zonepath ZFS doit être copié et non cloné via ZFS.

ProcedureClonage d'une zone

Vous devez configurer la nouvelle zone avant de l'installer. Le paramètre à spécifier dans la sous-commande zoneadm create est le nom de la zone à cloner. Cette zone source doit être arrêtée.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Arrêtez la zone source à cloner, ici my-zone.


    global# zoneadm -z my-zone halt
    
  3. Pour commencer à configurer la nouvelle zone, exportez la configuration de la zone source, ici my-zone, vers un fichier, par exemple master.


    global# zonecfg -z my-zone export -f /export/zones/master
    

    Remarque –

    Vous pouvez également créer la configuration de la nouvelle zone en appliquant la procédure décrite dans la section Configuration d'une zone au lieu de modifier la configuration existante. Dans ce cas, passez directement à l'étape 6 après avoir créé la zone.


  4. Éditez le fichier master. Certains composants ne pouvant pas être identiques dans des zones différentes, définissez les propriétés et ressources correspondantes. Vous devez par exemple définir un nouveau zonepath. S'il s'agit d'une zone en mode IP partagé, vous devez modifier les adresses IP de chacune des ressources réseau. S'il s'agit d'une zone en mode IP exclusif, vous devez modifier les propriétés physiques de chacune des ressources réseau.

  5. Créez la nouvelle zone zone1 en exécutant les commandes dans le fichier master.


    global# zonecfg -z zone1 -f /export/zones/master
    
  6. Installez la nouvelle zone zone1 en clonant my-zone.


    global# zoneadm -z zone1 clone my-zone
    

    Le système affiche :


    Cloning zonepath /export/home/my-zone...

    À partir de la version 10 5/09 de Solaris, si l'emplacement zonepath source se trouve dans un pool ZFS, par exemple zeepool, le système affiche :


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1
    Instead of copying, a ZFS clone has been created for this zone.
  7. Affichez la liste des zones du système.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  zone1    installed    /export/home/zone1             native     shared
Solaris 10 5/09 : clonage d'un emplacement zonepath source sur un système de fichiers ZFS

Lorsque la commande zoneadm clone un emplacement zonepath source se trouvant sur son propre système de fichiers ZFS, les actions suivantes s'exécutent :

ProcedureSolaris 10 5/09 : clonage d'une zone à partir d'un instantané existant

Vous pouvez cloner une zone source plusieurs fois à partir d'un instantané pris lors du clonage de la zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Configurez la zone zone2.

  3. Indiquez qu'un instantané existant doit être utilisé pour créer new-zone2.


    global# zoneadm -z zone2 clone -s zeepool/zones/my-zone@SUNWzone1 my-zone
    

    Le système affiche :


    Cloning snapshot zeepool/zones/my-zone@SUNWzone1

    La commande zoneadm valide le logiciel à partir de l'instantané SUNWzone1 et clone l'instantané.

  4. Affichez la liste des zones du système.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /zeepool/zones/my-zone         native     shared
     -  zone1    installed    /zeepool/zones/zone1           native     shared
     -  zone2    installed    /zeepool/zones/zone2           native     shared

ProcedureSolaris 10 5/09 : utilisation de la copie au lieu du clone ZFS

Appliquez cette procédure pour empêcher le clonage automatique d'une zone sur un système de fichiers ZFS en spécifiant que l'emplacement zonepath doit être copié (et non cloné).

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Indiquez que l'emplacement zonepath sur ZFS doit être copié et non cloné via ZFS.


    global# zoneadm -z zone1 clone -m copy my-zone
    

Suppression d'une zone non globale du système

La procédure décrite dans cette section supprime complètement la zone du système.

ProcedureSuppression d'une zone non globale

  1. Arrêtez la zone my-zone.


    global# zlogin my-zone shutdown -y -g0 -i0
    
  2. Supprimez le système de fichiers racine de my-zone.


    global# zoneadm -z my-zone uninstall -F
    
  3. Supprimez la configuration de my-zone.


    global# zonecfg -z my-zone delete -F
    
  4. Affichez la liste des zones du système pour vous assurer que my-zone a été supprimée.


    global# zoneadm list -iv
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared

Chapitre 21 Connexion à une zone non globale (présentation)

Ce chapitre traite de la connexion aux zones depuis la zone globale.

Il comprend les sections suivantes :

Pour plus d'informations, reportez-vous au Chapitre 22Connexion à une zone non globale (tâches).

Commande zlogin

Après avoir installé une zone, il est nécessaire de s'y connecter pour compléter son environnement applicatif, ainsi que pour exécuter différentes tâches administratives. Toute connexion à une zone à l'aide de la commande zlogin entraîne le démarrage d'une nouvelle tâche, excepté si vous avez utilisé l'option -C pour vous connecter à la console de la zone. Une tâche ne peut englober deux zones.

La commande zlogin permet de se connecter, depuis la zone globale, à toute zone prête ou en cours d'exécution.


Remarque –

Seule la commande zlogin avec l'option -C permet de se connecter à une zone qui n'est pas en cours d'exécution.


Comme décrit dans la section Accès à une zone à l'aide du mode non interactif, vous pouvez utiliser la commande zlogin en mode non interactif en spécifiant une commande à exécuter à l'intérieur de la zone. La commande ou tout fichier sur lequel la commande agit ne doivent toutefois pas résider sur le système de fichiers NFS. Elle échoue si l'un des fichiers ouverts ou l'une des portions d'espace d'adresse de la commande réside sur NFS. L'espace d'adresse contient l'exécutable de la commande et les bibliothèques liées à celle-ci.

La commande zlogin peut uniquement être utilisée par l'administrateur global et dans la zone globale. Pour plus d'informations, reportez-vous à la page de manuel zlogin(1).

Configuration interne d'une zone

Après installation, les zones se trouvent dans un état non configuré. Elles ne possèdent pas de configuration interne pour les services d'attribution de nom, leur environnement linguistique et leur fuseau horaire ne sont pas définis et différentes tâches de configuration n'ont pas été exécutés. C'est pourquoi les programmes sysidtool sont exécutés lors de la première connexion à la console de la zone. Pour plus d'informations, reportez-vous à la page de manuel sysidtool(1M).

Pour effectuer la configuration requise, vous avez le choix entre deux méthodes :

Méthodes de connexion à une zone non globale

Cette section décrit les méthodes que vous pouvez utiliser pour vous connecter à une zone non globale.

Connexion à la console de la zone

Chaque zone possède une console virtuelle, /dev/console. Lorsque vous réalisez des actions sur cette console, vous êtes en mode console. Ce type de console est très similaire à la console série d'un système. La réinitialisation des zones n'interrompt pas la connexion à la console. Pour comprendre en quoi le mode console diffère d'une session de connexion telle que telnet, reportez-vous à la section Connexion à distance.

Pour accéder à la console de la zone, exécutez la commande zlogin avec l'option -C et le nom de zone. Il n'est pas nécessaire que la zone soit en cours d'exécution.

Les processus qui se trouvent à l'intérieur de la zone peuvent ouvrir et écrire des messages à la console. Si le processus zlogin -C se ferme, d'autres processus peuvent accéder à la console.

Méthodes de connexion utilisateur

Pour vous connecter à la zone avec un nom d'utilisateur, exécutez la commande zlogin avec l'option -l, le nom d'utilisateur et le nom de zone. L'administrateur de la zone globale peut par exemple se connecter en tant qu'utilisateur normal à une zone non globale en utilisant l'option -l avec la commande zlogin :


global# zlogin -l user zonename

Pour vous connecter en tant qu'utilisateur root, exécutez la commande zlogin sans option.

Mode de secours

En cas de problème de connexion, si vous ne pouvez pas accéder à la zone à l'aide de la commande zlogin ou de la commande zlogin avec l'option -C, vous pouvez avoir recours au mode de secours. Il vous suffit d'exécuter la commande zlogin avec l'option -S (safe). N'utilisez ce mode pour récupérer une zone endommagée que si toutes les autres formes de connexion ont échoué. Il vous sera plus facile de diagnostiquer les causes de l'échec de la connexion dans cet environnement restreint.

Connexion à distance

La possibilité d'établir une connexion distante avec une zone dépend de votre choix de services réseau. Par défaut, les connexions via rlogin, ssh et telnet fonctionnent normalement. Pour plus d'informations sur ces commandes, reportez-vous aux pages de manuel rlogin(1), ssh(1) et telnet(1).

Modes interactif et non interactif

La commande zlogin fournit deux autres modes permettant d'accéder à une zone et d'exécuter des commandes à l'intérieur de celle-ci : le mode interactif et le mode non interactif.

Mode interactif

En mode interactif, un nouveau pseudoterminal est alloué pour être utilisé à l'intérieur de la zone. Contrairement à ce qui se produit en mode console, dans lequel un accès exclusif à la console est fourni, en mode interactif, un nombre arbitraire de sessions zlogin peuvent être ouvertes à tout moment. Le mode interactif s'active lorsque vous n'incluez pas de commande à exécuter. Les programmes requérant un terminal (par exemple les éditeurs) fonctionnent correctement dans ce mode.

Mode non interactif

Le mode non interactif s'emploie pour exécuter des scripts de shell d'administration de zone. Le mode non interactif n'alloue pas de nouveau pseudoterminal. Le mode non interactif s'active lorsque vous spécifiez une commande à exécuter à l'intérieur de la zone.

Chapitre 22 Connexion à une zone non globale (tâches)

Ce chapitre décrit les procédures relatives à la finalisation de la configuration d'une zone installée, à la connexion à une zone à partir de la zone globale et à l'arrêt d'une zone. Il illustre également l'utilisation de la commande zonename pour imprimer le nom de la zone actuelle.

Pour obtenir une introduction au processus de connexion aux zones, reportez-vous auChapitre 21Connexion à une zone non globale (présentation).

Procédures d'initialisation de la zone et de connexion à la zone (liste des tâches)

Tâche 

Description 

Voir 

Effectuer la configuration interne. 

Connexion à la console de la zone ou configuration initiale de la zone à l'aide du fichier /etc/sysidcfg.

Configuration de la zone interne initiale

Connexion à la zone 

La connexion à une zone peut s'effectuer par le biais d'une console, en utilisant le mode interactif pour l'allocation à un pseudoterminal ou en saisissant une commande à exécuter dans la zone. La saisie d'une commande à exécuter n'entraîne pas d'allocation de pseudoterminal. En cas d'échec de la connexion à la zone, il est également possible de se connecter en utilisant le mode de connexion de secours. 

Connexion à une zone

Quitter une zone non globale. 

Déconnexion d'une zone non globale. 

Sortie d'une zone non globale

Arrêt d'une zone. 

L'arrêt d'une zone s'effectue à l'aide d'un utilitaire ou d'un script shutdown.

Arrêt d'une zone à l'aide de zlogin

Imprimer le nom de zone. 

Impression du nom de zone de la zone actuelle. 

Impression du nom de la zone actuelle

Configuration de la zone interne initiale

La configuration de la zone s'effectue selon l'une des méthodes suivantes :


Astuce –

Une fois la configuration interne terminée, il est recommandé de réaliser une copie de la configuration de la zone non globale. Cette sauvegarde permet de restaurer la zone à l'avenir. En tant que superutilisateur ou administrateur principal, imprimez la configuration pour la zone my-zone dans un fichier. Cet exemple utilise le fichier my-zone.config.


global# zonecfg -z my-zone export > my-zone.config

Reportez-vous à la section Restauration d'une zone non globale pour de plus amples informations.


ProcedureMéthode de connexion à la console de la zone pour effectuer la configuration de zone interne

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Dans cette procédure, exécutez la commande zlogin avec l'option -C et le nom de la zone, my-zone.


    global# zlogin -C my-zone
    
  3. Réinitialisez la zone à partir d'une autre fenêtre de terminal.


    global# zoneadm -z my-zone boot
    

    La ligne suivante s'affiche dans la fenêtre zlogin :


    [NOTICE: Zone booting up]
  4. Lors de la première connexion à la console, vous êtes invité à répondre à une série de questions. Votre écran sera similaire à ce qui suit :


    SunOS Release 5.10 Version Generic 64-bit
    Copyright 1983-2006 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.
    
    Hostname: my-zone
    Loading smf(5) service descriptions:
    Select a Language
    
         1. English
         2. es
         2. fr
    Please make a choice (0 - 1), or press h or ? for help:
    
    Select a Locale
    
          1. English (C - 7-bit ASCII)
          2. Canada (English) (UTF-8)
          4. U.S.A. (UTF-8)
          5. U.S.A. (en_US.ISO8859-1)
          6. U.S.A. (en_US.ISO8859-15)
          7. Go Back to Previous Screen
    Please make a choice (0 - 9), or press h or ? for help:
    
    What type of terminal are you using?
          1) ANSI Standard CRT
          2) DEC VT52
          3) DEC VT100
          4) Heathkit 19
          5) Lear Siegler ADM31
          6) PC Console
          7) Sun Command Tool
          8) Sun Workstation
          9) Televideo 910
          10) Televideo 925
          11) Wyse Model 50
          12) X Terminal Emulator (xterms)
          13) CDE Terminal Emulator (dtterm)
          14) Other
    Type the number of your choice and press Return:
    13
    .
    .
    .

    Pour obtenir la liste complète des questions auxquelles vous devez répondre, reportez-vous à la section Configuration interne d'une zone.

  5. (Facultatif) Si vous n'utilisez pas deux fenêtres, tel que décrit dans l'étape 3, il est possible que vous n'ayez pas vu l'invite de saisie des informations de configuration. Il est possible que le message système suivant s'affiche lors de la connexion à une zone, au lieu de l'invite :


    [connected to zone zonename console]

    Dans ce cas, appuyez sur Retour pour afficher de nouveau l'invite.

    En cas de saisie d'une réponse incorrecte et de tentative de redémarrage de la configuration, le processus peut présenter des difficultés. En effet, les outils sysidtools peuvent stocker les réponses précédentes.

    Si cela se produit, redémarrez le processus de configuration en appliquant la solution suivante à partir de la zone globale.


    global# zlogin -S zonename /usr/sbin/sys-unconfig
    

    Pour de plus amples informations sur la commande sys-unconfig, reportez-vous à la page de manuel sys-unconfig(1M).

ProcedureConfiguration de zone initiale à l'aide du fichier /etc/sysidcfg

Solaris 10 8/07 : Le mot-clé nfs4_domain a été ajouté. Les exemples de fichiers utilisent ce mot-clé. L'étape 4 ci-après est une étape supplémentaire applicable aux versions plus anciennes.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. À partir de la zone globale, déplacez les répertoires vers le répertoire /etc de la zone non globale :


    global# cd /export/home/my-zone/root/etc
    
  3. Créez le fichier sysidcfg et placez-le dans ce répertoire.

    Voici un exemple de ce fichier :

    • Pour une zone en mode IP partagé :


      system_locale=C
      terminal=dtterm
      network_interface=primary {
      	        hostname=my-zone
      }
      security_policy=NONE
      name_service=NIS {
      	        domain_name=special.example.com
      	        name_server=bird(192.168.112.3)
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
    • Pour une zone en mode IP exclusif avec configuration IP fixe :


      system_locale=C
      terminal=dtterm
      network_interface=primary {
               hostname=my-zone
               default_route=10.10.10.1
               ip_address=10.10.10.13
               netmask=255.255.255.0
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
    • Pour une zone en mode IP exclusif avec options DHCP et IPv6 :


      system_locale=C
      terminal=dtterm
      network_interface=primary {
      	        dhcp protocol_ipv6=yes
      }
      security_policy=NONE
      name_service=DNS {
               domain_name=example.net
               name_server=192.168.224.11,192.168.224.33
      }
      nfs4_domain=domain.com
      timezone=US/Central
      root_password=m4qtoWN
  4. Si vous exécutez une version antérieure à la version 10 8/07 de Solaris, le mot-clé nfs4_domain ne figure pas dans le fichier sysidcfg. Par défaut, un module séparé requiert le paramètre de domaine NFSv4 utilisé par la commande nfsmapid. Pour terminer une configuration de zone initiale non manuelle, modifiez le fichier default/nfs, annulez le commaire du paramètre NFSMAPID_DOMAIN et définissez le domaine sur le domaine NFSv4 souhaité :


    global# vi default/nfs
    		.
    		.
    		.
    		NFSMAPID_DOMAIN=domain
    

    Créez le fichier .NFS4inst_state.domain dans ce répertoire pour indiquer que le domaine NFSv4 a été défini :


    global# touch .NFS4inst_state.domain
    

    Pour de plus amples informations sur le paramètre de domaine NFSv4, reportez-vous à la page de manuel nfsmapid(1M).

  5. Initialisez la zone.

Voir aussi

Pour plus d'informations, reportez-vous à la page de manuel sysidcfg(4).

Connexion à une zone

Utilisez la commande zlogin pour vous connecter à toute zone en cours d'exécution ou prêt à l'être à partir de la zone globale. Pour plus d'informations, reportez-vous à la page de manuel zlogin(1).

Il existe différentes méthodes de connexion à une zone. Elles sont décrites dans les procédures suivantes. Vous pouvez également vous connecter à distance, tel que décrit dans la section Connexion à distance.

ProcedureConnexion à la console de zone

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Utilisez la commande zlogin avec l'option -C et le nom de la zone, my-zone par exemple.


    global# zlogin -C my-zone
    

    Remarque –

    Si vous démarrez la session zlogin immédiatement après l'émission de la commande zoneadm boot, des messages d'initialisation de la zone s'affichent :


    SunOS Release 5.10 Version Generic 64-bit
    Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
    Use is subject to license terms.
    starting rpc services: rpcbind done.
    syslog service starting.
    The system is ready.

  3. Lors de l'affichage de la console de zone, connectez-vous en tant que root, appuyez sur Retour et saisissez le mot de passe root lorsque vous y êtes invité.


    my-zone console login: root
    Password:

ProcedureUtilisation du mode interactif pour l'accès à une zone

En mode interactif, un nouveau pseudoterminal est alloué pour une utilisation au sein de la zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Connectez-vous à la zone, par exemple my-zone, à partir de la zone globale.


    global# zlogin my-zone
    

    Des informations similaires à celles figurant ci-dessous s'affichent :


    [Connected to zone 'my-zone' pts/2]
    Last login: Wed Jul  3 16:25:00 on console
    Sun Microsystems Inc. SunOS 5.10 Generic June 2004
  3. Saisissez exit pour fermer la connexion.

    Un message similaire à celui figurant ci-dessous s'affiche :


    [Connection to zone 'my-zone' pts/2 closed]

ProcedureAccès à une zone à l'aide du mode non interactif

Le mode non interactif est activé lorsque l'utilisateur fournit une commande à exécuter au sein de la zone. Le mode non interactif n'alloue pas de nouveau pseudoterminal.

Notez que la commande ou tout fichier sur lequel agit cette commande ne peuvent se trouver dans NFS.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. À partir de la zone globale, connectez-vous à la zone my-zone et fournissez un nom de commande.

    Ici, la commande zonename est utilisée.


    global# zlogin my-zone zonename
    

    La ligne suivante s'affiche :


    my-zone

ProcedureSortie d'une zone non globale

  1. Pour vous déconnecter d'une zone non globale, utilisez l'une des méthodes suivantes.

    • Pour quitter la console non virtuelle de la zone :


      zonename# exit
      
    • Pour vous déconnecter d'une console virtuelle de la zone, utilisez le tilde (~) et un point :


      zonename# ~.
      

      Votre écran sera similaire à ce qui suit :


      [Connection to zone 'lx-zone' pts/6 closed]
Voir aussi

Pour de plus amples informations sur les options de la commande zlogin, reportez-vous à la page de manuel zlogin(1).

ProcedureConnexion à une zone à l'aide du mode de secours

En cas de refus de connexion à la zone, il est possible d'utiliser la commande zlogin avec l'option -S pour entrer dans un environnement minimal de la zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Dans la zone globale, exécutez la commande zlogin avec l'option -S pour accéder à la zone, par exemple my-zone.


    global# zlogin -S my-zone
    

ProcedureArrêt d'une zone à l'aide de zlogin


Remarque –

L'exécution de la commande init 0 dans la zone globale pour une interruption en toute sécurité d'un système Solaris exécute également la commande init 0 dans chacune des zones non globales du système. Notez que init 0 n'émet pas d'avertissement aux utilisateurs locaux et distants pour qu'ils se déconnectent avant la fermeture du système.


Cette procédure permet la fermeture d'une zone en toute sécurité. Pour arrêter une zone sans exécuter de scripts d'arrêts, reportez-vous à la section Arrêt d'une zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Connectez-vous à la zone à arrêter, par exemple my-zone et spécifiez shutdown en tant que nom de l'utilitaire et init 0 en tant qu'état.


    global# zlogin my-zone shutdown -y -g0 -i 0
    

    Votre site peut disposer de son propre script d'arrêt, créé spécifiquement pour votre environnement.

Utilisation de shutdown en mode non interactif

Vous ne pouvez pas utiliser la commande shutdown en mode non interactif pour placer la zone en état monoutilisateur. Reportez-vous à CR 6214427 pour de plus amples informations.

Vous pouvez utiliser une connexion interactive telle que décrit dans la section Utilisation du mode interactif pour l'accès à une zone.

Commutation de la zone non globale à une configuration de services réseau différente

Cette zone a été installée avec la configuration réseau ouverte décrite dans le Chapitre 19, Managing Services (Tasks) du System Administration Guide: Basic Administration. Il est possible de commuter la zone à la configuration réseau limitée ou d'activer et désactiver des services spécifiques dans la zone.

ProcedureBasculement de la zone vers la configuration de service réseau limitée

  1. Connectez-vous à la zone, par exemple my-zone, à partir de la zone globale.


    global# zlogin my-zone
    
  2. Exécutez la commande netservices pour faire basculer la zone vers la configuration réseau limitée.


    my-zone# /usr/sbin/netservices limited
    

    Un message similaire à celui figurant ci-dessous s'affiche : Répondez y à l'invite de redémarrage de dtlogin.


    restarting syslogd
    restarting sendmail
    dtlogin needs to be restarted. Restart now? [Y] y
    restarting dtlogin

ProcedureActivation d'un service spécifique dans une zone

  1. Connectez-vous à la zone, par exemple my-zone, à partir de la zone globale.


    global# zlogin my-zone
    
  2. Exécutez la commande svcadm pour permettre au contrôle de la mémoire physique d'utiliser le démon d'allocation restrictive.


    my-zone# svcadm enable svc:/system/rcap:default
    
  3. Affichez la liste des services pour vérifier que rcapd est bien activé.


    my-zone# svcs -a
    .
    .
    .
    online    14:04:21 svc:/system/rcap:default
    .
    .
    .
    

Impression du nom de la zone actuelle

La commande zonename décrite dans la page de manuel zonename(1) affiche le nom de la zone actuelle. L'exemple suivant illustre la sortie obtenue en cas d'exécution de la commande zonename dans la zone globale.


# zonename
global

Chapitre 23 Déplacement et migration de zones non globales (tâches)

Ce chapitre est nouveau pour la version Solaris 10 11/06. Des fonctions supplémentaires ont été ajoutées dans les versions ultérieures.

Ce chapitre décrit comment :

À partir de la version 10 10/08 de Solaris, lorsqu'un nouvel hôte dispose de la même version ou d'une version plus récente des packages dépendants de zones et des patchs associés, la commande zoneadm attach avec l'option -u permet de mettre à jour le jeu de packages minimum de la zone pour qu'il corresponde à celui du nouvel hôte. Si le nouvel hôte dispose à la fois de patchs plus anciens et plus récents que les patchs de l'hôte source, aucune mise à jour n'est autorisée au cours du rattachement.

La commande zoneadm attach avec l'option -u permet également migrer des données entre les classes de machine, notamment de la classe sun4u vers la classe sun4v.

À partir de la version Solaris 10 9/10, l'utilisation de la commande zoneadm attach avec l'option -u permet de mettre à jour tous les packages pour la zone, de sorte que ces packages correspondent à ceux qui seront affichés avec une nouvelle zone non globale installée sur cet hôte. Tout package installé à l'intérieur de la zone, mais qui n'est pas installé dans la zone globale n'est pas pris en compte et laissé en l'état. Cette option permet également d'effectuer une migration automatique d'une classe de machine vers une autre, notamment de sun4u vers sun4v.

Au lieu d'effectuer une mise à jour normale, les zones peuvent être retirées pendant la mise à jour de la zone globale, puis reconnectées avec l'option -u pour correspondre au niveau de patch de la zone globale.

Pour plus d'informations sur le déplacement et la migration de zones marquées lx, reportez-vous au Chapitre 37Déplacement et migration de zones marquées lx (tâches).

Solaris 10 11/06 : déplacement d'une zone non globale

Cette procédure permet de déplacer la zone vers un nouvel emplacement sur le même système en modifiant le zonepath. La zone doit être arrêtée. Le nouveau zonepath doit se trouver dans un système de fichiers local. Les critères de zonepath normaux décrits dans Types de ressources et de propriétés s'appliquent.

ProcedureDéplacement d'une zone

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Arrêtez la zone à déplacer, ici db-zone.


    global# zoneadm -z db-zone halt
    
  3. Utilisez la commande zoneadm avec la sous-commande move pour déplacer la zone vers un nouveau zonepath, /export/zones/db-zone .


    global# zoneadm -z db-zone move /export/zones/db-zone
    
  4. Vérifiez le chemin.


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
     -  db-zone  installed    /export/zones/db-zone          native     shared

Solaris 10 11/06 : migration d'une zone non globale vers une autre machine

La version Solaris 10 5/08 vous permet d'effectuer un essai de migration de zone avant de déplacer réellement la zone vers une machine différente. Pour plus d'informations, reportez-vous à la section Solaris 10 5/08 : à propos de la validation d'une zone avant la migration.

À propos de la migration d'une zone

Des informations supplémentaires ont été ajoutées à cette section depuis la version Solaris 10 11/06.

Vous pouvez utiliser les commandes zonecfg et zoneadm afin de migrer une zone non globale d'un système vers un autre. La zone est arrêtée et séparée de son hôte actuel. Le zonepath est déplacé vers l'hôte cible où il est attaché.

Les restrictions suivantes s'appliquent à la migration de zone :

Pour vérifier la version Solaris et l'architecture machine, tapez :


#uname -m

Le processus zoneadm detach permet la création des informations nécessaires au rattachement de la zone à un système différent. Le processus zoneadm attach vérifie que la configuration de la machine cible est adaptée à la zone.

Il existe plusieurs manières de rendre le zonepath disponible sur le nouvel hôte. C'est pour cela que le passage réel du zonepath d'un système vers un autre est un processus manuel qui est réalisé par l'administrateur global.

Une fois jointe au nouveau système, la zone est à l'état Installé.

ProcedureMigration d'une zone non globale

Vous devez vous connecter en tant qu'administrateur global de la zone globale pour effectuer cette procédure.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Arrêtez la zone à migrer, ici my-zone.


    host1# zoneadm -z my-zone halt
    
  3. Détachez la zone.


    host1# zoneadm -z my-zone detach
    

    La zone détachée est maintenant en état configuré.

  4. Déplacez le zonepath de my-zone vers le nouvel hôte.

    Pour plus d'informations, reportez-vous à la section Déplacement du zonepath vers un nouvel hôte.

  5. Dans le nouvel hôte, configurez la zone.


    host2# zonecfg -z my-zone
    

    Le message système suivant s'affiche :


    my-zone: No such zone configured
    Use 'create' to begin configuring a new zone.
  6. Pour créer la zone my-zone dans le nouvel hôte, utilisez la commande zonecfg en spécifiant l'option -a et le zonepath sur le nouvel hôte.


    zonecfg:my-zone> create -a /export/zones/my-zone
    
  7. (Facultatif) Affichez la configuration.


    zonecfg:my-zone> info
    zonename: my-zone
    zonepath: /export/zones/my-zone
    autoboot: false
    pool:
    inherit-pkg-dir:
             dir: /lib
    inherit-pkg-dir:
             dir: /platform
    inherit-pkg-dir:
             dir: /sbin
    inherit-pkg-dir:
             dir: /usr
    net:
             address: 192.168.0.90
             physical: bge0
  8. Effectuez toute modification nécessaire à la configuration.

    Par exemple, le périphérique physique du réseau est différent sur le nouvel hôte, ou les périphériques faisant partie de la configuration ont des noms différents sur le nouvel hôte.


    zonecfg:my-zone> select net physical=bge0
    zonecfg:my-zone:net> set physical=e1000g0
    zonecfg:my-zone:net> end
    
  9. Validez la configuration et quittez-la.


    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  10. Rattachez la zone au nouvel hôte à l'aide d'une des méthodes suivantes.

    • Rattachez la zone avec une coche de validation.


      host2# zoneadm -z my-zone attach
      

      L'administrateur système est notifié des actions requises à effectuer si une des deux ou les deux conditions suivantes sont présentes :

      • Les packages et patchs requis ne se trouvent pas sur la nouvelle machine.

      • Les machines ne disposent pas des mêmes niveaux de logiciel.

    • Solaris 10 10/08 : rattachez la zone avec une coche de validation et mettez-la à jour afin de la faire correspondre à un hôte exécutant des versions plus récentes des packages dépendants ou disposant d'une classe de machine différente lors du rattachement.


      host2# zoneadm -z my-zone attach -u
      

      Astuce –

      Solaris 10 10/08 : si le système source exécute une version antérieure du système Solaris, il risque de ne pas générer la liste de packages correcte lors du détachement de la zone. Pour vous assurer que la liste de packages correcte est générée sur le système cible, vous pouvez supprimer le fichier SUNWdetached.xml du zonepath. La suppression de ce fichier entraîne la génération d'une nouvelle liste de packages par le système cible.

      Cela n'est pas nécessaire avec la version Solaris 10 5/09 et les versions ultérieures.


    • Solaris 10 9/10 : rattachez la zone en cochant la case de validation correspondante et mettez à jour tous les packages de la zone pour que ces derniers correspondent pour qu'ils correspondent aux données de l'installation d'une nouvelle zone non globale sur cet hôte. Tout package installé à l'intérieur de la zone, mais qui n'est pas installé dans la zone globale n'est pas pris en compte et laissé en l'état.


      host2# zoneadm -z my-zone attach -U
      
    • Solaris 10 5/09 et versions ultérieures : utilisez également l'option -b pour désinstaller les patchs spécifiés, officiels ou IDR, au cours du rattachement.


      host2# zoneadm -z my-zone attach -u -b IDR246802-01 -b 123456-08
      

      Vous pouvez utiliser l'option -b indépendamment des options -u ou -U.

    • Forcez l'opération de rattachement sans effectuer de validation.


      host2# zoneadm -z my-zone attach -F
      

      Attention – Attention –

      L'option -F permet de forcer le rattachement attach sans effectuer de validation. Cela peut s'avérer utile dans certains cas, comme par exemple dans celui d'un environnement en cluster ou pour les opérations de sauvegarde et de restauration, mais le système doit être correctement configuré pour héberger la zone. Une configuration incorrecte peut entraîner un comportement indéfini ultérieurement.


ProcedureDéplacement du zonepath vers un nouvel hôte

Il existe de nombreuses méthodes de création d'une archive du zonepath. Vous pouvez par exemple utiliser les commandes cpio ou pax décrites dans les pages de manuel cpio(1)) et pax(1) man pages.

Il existe également de nombreuses méthodes pour le transfert des archives vers le nouvel hôte. Le mécanisme utilisé pour le transfert du zonepath à partir de l'hôte source vers sa destination dépend de la configuration locale. Dans certains cas, comme celui d'un SAN, les données de zonepath pourraient ne pas se déplacer. Il suffit de reconfigurer le SAN pour que le zonepath soit visible dans le nouvel hôte. Dans d'autres cas, le zonepath peut être écrit sur une bande, laquelle est ensuite envoyée à un autre site.

C'est pour cela que cette étape n'est pas automatisée. L'administrateur système doit sélectionner la technique la plus adaptée pour le déplacement du zonepath vers le nouvel hôte.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Déplacez le zonepath vers le nouvel hôte. Utilisez soit la méthode décrite dans cette procédure, soit une autre méthode.


Exemple 23–1 Archivage et déplacement du zonepath à l'aide de la commande tar

  1. Créez un fichier tar pour le zonepath sur host1 et transférez-le vers host2 à l'aide de la commande sftp.


    host1# cd /export/zones
    host1# tar cf my-zone.tar my-zone
    host1# sftp host2
    Connecting to host2...
    Password:
    sftp> cd /export/zones
    sftp> put my-zone.tar
    Uploading my-zone.tar to /export/zones/my-zone.tar
    sftp> quit
    
  2. Dans host2, décompressez le fichier tar.


    host2# cd /export/zones
    host2# tar xf my-zone.tar
    

Pour de plus amples informations, reportez-vous aux pages de manuel sftp(1) et tar(1).


Erreurs fréquentes

Consultez la section Résolution de problèmes via l'opération zoneadm attach pour obtenir des informations relatives à la résolution des problèmes suivants :

Étapes suivantes

Si vous avez copié les données (au lieu de reconfigurer un SAN), les données zonepath restent visibles sur l'hôte source alors même que la zone se trouve à présent en état Configuré. Vous pouvez supprimer le zonepath de l'hôte source manuellement une fois les données déplacées vers le nouvel hôte ou, reconnecter la zone à l'hôte source et utiliser la commande zoneadm uninstall pour supprimer le zonepath.

Solaris 10 5/08 : à propos de la validation d'une zone avant la migration

Avant de déplacer une zone vers une nouvelle machine, vous pouvez simuler sa migration grâce à l'option "no execute" -n.

La sous-commande zoneadm detach utilisée avec l'option -n génère un fichier manifest sur une zone en cours d'exécution sans séparer réellement cette dernière du système d'origine. L'état de la zone sur ce système demeure donc inchangé. Le fichier manifest de la zone est envoyé à stdout. L'administrateur global peut diriger cette sortie vers un fichier ou l'envoyer dans une commande distante en vue de sa validation immédiate sur l'hôte cible. La sous-commande zoneadm attach utilisée avec l'option -n interprète le fichier manifest et s'assure que la configuration de la machine cible permet effectivement d'héberger la zone sans procéder à un rattachement.

Il n'est pas nécessaire de configurer la zone du système cible sur le nouvel hôte avant de simuler un rattachement.

ProcedureSolaris 10 5/08 : méthode de validation d'une migration de zone avant la migration réelle

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Choisissez l'une des méthodes suivantes.

    • Générez le fichier manifest sur l'hôte source pour my-zone et envoyez la sortie dans une commande distante en vue de sa validation immédiate sur l'hôte cible :


      global# zoneadm -z my-zone detach -n | ssh remotehost zoneadm attach -n -
      

      Le trait d'union () figurant en fin de ligne spécifie la stdin pour le chemin.

      La validation est dirigée en sortie vers l'écran de l'hôte source, c'est-à-dire stdout.

    • Générez le fichier manifest sur l'hôte source pour my-zone et dirigez la sortie vers un fichier :


      global# zoneadm -z my-zone detach -n > filename
      

      Copiez le fichier manifest sur le nouveau système hôte, comme indiqué à la section Déplacement du zonepath vers un nouvel hôte, puis procédez à la validation :


      global# zoneadm attach -n path_to_manifest
      

      Le chemin peut contenir un trait d'union spécifiant la stdin.

Migration d'une zone à partir d'une machine inutilisable

Une machine hébergeant une zone Solaris native peut se trouver inutilisable. Toutefois, si l'espace de stockage dans lequel réside la zone (un SAN, par exemple) est utilisable, il reste possible de migrer la zone vers un autre hôte. Vous pouvez déplacer le zonepath de la zone vers le nouvel hôte. Dans certains cas, comme celui d'un SAN, les données de zonepath pourraient ne pas se déplacer. Il suffit de reconfigurer le SAN pour que le zonepath soit visible dans le nouvel hôte. Comme la zone n'a pas été correctement séparée, vous devrez d'abord créer la zone sur le nouvel hôte à l'aide de la commande zonecfg. Ensuite, connectez la zone sur le nouvel hôte. Le nouvel hôte indique que la zone n'a pas été correctement séparée, mais le système tente tout de même la connexion.

La procédure à suivre pour réaliser cette tâche correspond aux étapes 4 à 8 de la section Migration d'une zone non globale. Reportez-vous également à la section Déplacement du zonepath vers un nouvel hôte.

Utilisation de la mise à jour lors du rattachement en tant que solution d'application de patch

Le processus de mise à jour lors du rattachement développé pour la migration de zones vers un autre système peut également être utilisé pour l'application de patch aux zones. Cette méthode permet de mettre à disposition la zone globale plus rapidement. L'administrateur système peut contrôler les zones mises à jour en premier et exécuter ces zones avant que des zones moins importantes soient mises à jour et initialisées.

Le processus suivant met à jour tous les patchs de sorte que la zone ressemble à une zone récemment installée sur le système :

  1. Avant d'appliquer un ensemble de patchs à la zone globale, détachez toutes les zones non globales.

  2. Appliquez l'ensemble de patchs à la zone globale.

  3. Une fois l'ensemble appliqué et le système réinitialisé, utilisez la commande zoneadm attach avec l'option -u pour que les zones non globales soient au même niveau de patch que celui de la zone globale.

Tout package installé à l'intérieur de la zone, mais qui n'est pas installé dans la zone globale n'est pas pris en compte et laissé en l'état.

Reportez-vous à la section Solaris 10 10/09 : Application de patchs en parallèle pour réduire le temps d'application de patchs pour une solution d'application de patch rapide exploitant l'utilitaire patchadd.

Chapitre 24 Solaris 10 9/10 : migration d'un système physique Solaris dans une zone (tâches)

Une fonctionnalité de conversion physique en virtuel (P2V) est utilisée pour migrer directement un système Solaris existant vers une zone native d'un système cible.

Évaluation du système à migrer

Selon les services exécutés par le système d'origine, l'administrateur global peut avoir besoin de personnaliser manuellement la zone après son installation. Par exemple, vous pouvez être amené à modifier les privilèges assignés à la zone. Cette opération ne se fait pas automatiquement. En outre, étant donné que tous les services système ne fonctionnent pas à l'intérieur des zones, tous les systèmes physiques ne sont pas forcément adaptés à la migration dans une zone.

Si l'image système à installer par le biais d'une conversion P2V est plus récente que la version du système d'exploitation de l'hôte cible, l'installation échouera.

ProcedureProcédure de collecte des informations système

Collectez les informations requises à partir du système source.

  1. Obtenez la propriété hostname :


    # hostname
    
  2. Obtenez la propriété hostid :


    # hostid
    

    Voir également la section Émulation de l'ID de l'hôte.

  3. Entrez le mot de passe root.

  4. Affichez le logiciel exécuté sur le système :


    # ps -eaf
    
  5. Vérifiez la configuration de réseau sur le système :


    # ifconfig -a
    
  6. Affichez le stockage utilisé en affichant le contenu de /etc/vfstab, par exemple.

  7. Affichez l'espace de stockage utilisée sur le disque local déterminant la taille de l'archive :


    # df -k
    
  8. Déterminez les packages et les patchs se trouvant sur le système. Pour plus d'informations, reportez-vous à la section pkginfo(1).

  9. Vérifiez le contenu du fichier /etc/system.

Création de l'image utilisée pour migrer directement un système Solaris dans une zone

Vous pouvez utiliser les outils d'archivage Flash pour créer une image d'un système installé pouvant être migrée dans une zone.

Le système peut être entièrement configuré avec tous les logiciels qui seront exécutés dans la zone avant la création de l'image. Cette image est ensuite utilisée par le programme d'installation lors de l'installation de la zone.


Attention – Attention –

Si vous créez une archive Flash Solaris ou flar d'un système Solaris 10 disposant d'une racine ZFS, l'archive flar représentera par défaut un flux d'envoi ZFS pouvant être utilisé pour recréer le pool racine. Cette image ne peut être utilisée pour installer une zone. Vous devez créer l'archive flar avec une archive cpio ou pax explicite lorsque le système dispose d'une racine ZFS.

Utilisez la commande flarcreate avec l'option -L archiver en spécifiant cpio ou pax comme méthode d'archivage des fichiers. Reportez-vous à l'étape 4 de la procédure suivante.


ProcedureUtilisation de la commande flarcreate pour créer l'image

Utilisez la commande flarcreate décrite dans la page de manuel flarcreate(1M) pour créer l'image système. Cet exemple de procédure utilise le système NFS pour déplacer l'archive flash vers le système Solaris cible. Cependant, vous pouvez le déplacer de la façon que vous voulez.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

  2. Connectez-vous au système source à archiver.

  3. Remplacez les répertoires par le répertoire root.


    # cd /
    
  4. Utilisez la commande flarcreate pour créer un fichier image d'archive portant le nom s10-system sur le système source et déposez-le sur le système cible :


    source-system # flarcreate -S -n s10-system -L cpio /net/target/export/s10-system.flar
    Determining which filesystems will be included in the archive...
    Creating the archive...
    cpio: File size of "etc/mnttab" has
    increased by 435
    2068650 blocks
    1 error(s)
    Archive creation complete.

    La machine cible nécessite un accès en écriture root sur le système de fichiers /export. Selon la taille du système de fichiers sur le système hôte, la taille de l'archive peut atteindre plusieurs gigaoctets ; vous devez donc disposer de suffisamment d'espace dans le système de fichiers cible.


    Astuce –

    Dans certains cas, la commande flarcreate peut afficher les erreurs de la commande cpio. En général, ce sont des messages tels que File size of etc/mnttab has increased by 435 (la taille du fichier etc/mnttab a augmenté de 435). Si ces messages s'appliquent aux fichiers journaux ou aux fichiers renvoyant l'état du système, vous pouvez les ignorer. Assurez-vous de vérifier tous les messages d'erreur.


Autres méthodes de création d'archives

Vous pouvez utiliser d'autres méthodes pour créer l'archive. Le programme d'installation prend en charge les formats d'archives suivants :

Le programme d'installation peut uniquement accepter un répertoire de fichiers créé à l'aide d'un utilitaire d'archivage qui enregistre et restaure les droits d'accès à un fichier, les propriétés et les liens.

Pour plus d'informations, reportez-vous aux pages de manuel cpio(1), pax(1), bzip2 (1), gzip(1) et ufsdump(1M).


Remarque –

Si vous utilisez une autre méthode que l'archivage flash pour créer une archive P2V, vous devez démonter la bibliothèque de capacités matérielles (hwcap) lofs libc.so.1 dépendante du processeur sur le système source avant de créer l'archive. Dans le cas contraire, la zone installée avec l'archive risque de ne pas s'initialiser sur le système cible. Après la création de l'archive, vous pouvez remonter la bibliothèque de capacités matérielles correspondante avec le fichier /lib/libc.so.1 à l'aide de l'option lofs et de l'option de montage -O.


source-system# unmount /lib/libc.so.1
source-system# mount -O -F lofs /lib/libc.so.1 

Émulation de l'ID de l'hôte

Lorsque des applications sont migrés depuis un système physique Solaris dans une zone sur un nouveau système, la propriété hostid est modifiée pour correspondre à la propriété hostid de la nouvelle machine.

Dans certains cas, les applications dépendent de la propriété hostid d'origine. De plus, vous ne pouvez pas mettre à jour la configuration de l'application. Dans ce cas, vous pouvez configurer la zone pour utiliser la propriété hostid du système d'origine. Pour ce faire, vous devez définir une propriété zonecfg pour spécifier la propriété hostid, comme décrit dans la section Configuration d'une zone. La valeur utilisée doit être le résultat de la commande hostid, telle qu'exécutée sur le système d'origine. Pour afficher les propriétés hostid d'une zone installée, utilisez également la commande hostid.

Pour plus d'informations sur les ID hôte, reportez-vous à la page de manuel hostid(1).

Configuration de la zone

Créez la configuration de la nouvelle zone sur le système cible à l'aide de la procédure Configuration d'une zone.


Astuce –

Si vous compter installer des applications dans la nouvelle zone à partir de CD ou de DVD, utilisez la commande add fs pour pouvoir accéder en lecture seule au CD ou DVD dans la zone globale lors de la configuration initiale de la zone marquée. Un CD ou DVD permet alors d'installer un produit dans la zone marquée. Pour plus d'informations, reportez-vous à la section Ajout de l'accès aux CD ou DVD au sein d'une zone non globale.


Installation de la zone

La commande zoneadm décrite dans la Partie II, Zones et dans la page de manuel zoneadm(1M) est le principal outil d'installation et d'administration de zones non globales. Les opérations utilisant la commande zoneadm doivent être effectuées à partir de la zone globale sur le système cible.

En plus de la décompression des fichiers de l'archive, le processus d'installation exécute des contrôles, des opérations de post-traitement requises et d'autres fonctions afin de garantir que la zone est optimisée pour être exécutée sur l'hôte.

Vous pouvez utiliser une image d'un système Solaris qui a été entièrement configuré avec tous les logiciels qui seront exécutés dans la zone. Reportez-vous à la section Création de l'image utilisée pour migrer directement un système Solaris dans une zone.

Si vous avez créé une archive de système Solaris à partir d'un système existant et que vous utilisez l'option -p (preserve sysidcfg) lors de l'installation de la zone, la zone aura la même identité que le système utilisé pour créer l'image.

Si vous utilisez l'option -u (sys-unconfig) lors de l'installation de la zone sur la cible, la zone créée ne contiendra aucun nom d'hôte ou de service de noms configuré.


Attention – Attention –

Vous devez spécifier l'option -p ou -u, sinon une erreur se produira.


Options du programme d´installation

Option 

Description 

-a

Emplacement de l'archive à partir de laquelle vous souhaitez copier l'image du système. Les archives flash complète, les commandes cpio, les commandes cpio compressées au format gzip, les commandes cpio compressées au format bzip et les commandes ufsdump de niveau 0 sont prises en charge. Reportez-vous à la page de manuel gzip du package SUNWsfman.

-d path

Emplacement du répertoire à partir duquel vous souhaitez copier l'image du système. 

-d

Utilisez l'option -d avec le paramètre de tiret (-) afin d'indiquer que la mise en page de répertoire existante doit être utilisée dans zonepath. Par conséquent, si l'administrateur configure manuellement le répertoire zonepath avant l'installation, l'option -d peut être utilisée pour indiquer que le répertoire existe déjà.

-p

Conserve l'identité du système. 

-s

Installe les fichiers en mode silencieux. 

-u

Applique la commande sys-unconfig à la zone.

-v

Sortie détaillée. 

Les options -a et -d s'excluent mutuellement. Les options -p, -s, -u et -v ne sont permises que lorsque l'option -a ou -d est fournie.

ProcedureInstallation d'une zone

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

  2. Installez la zone configurée s-zone à l'aide de la commande zoneadm avec l'option install -a et le chemin pointant vers l'archive.


    global# zoneadm -z s-zone install -u -a /net/machine_name/s-system.flar
    

    Plusieurs messages s'afficheront pendant l'installation. Cette opération peut prendre un certain temps.

    Lorsque l'installation est terminée, exécutez la sous-commande list avec les options -i et -v pour afficher la liste des zones installées et vérifier leur état.

Erreurs fréquentes

En cas d'échec d'une installation, vérifiez le fichier journal. Si l'installation aboutit, le fichier journal se trouve sous /var/log dans la zone. En cas d'échec total, le fichier journal se trouve sous /var/tmp dans la zone globale.

En cas d'échec ou d'interruption de l'installation, la zone affiche un état Incomplet. Exécutez uninstall -F pour la redéfinir dans l'état Configuré.

Initialisation de la zone

ProcedureProcédure d'initialisation d'une zone

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

Si vous avez sélectionné l'option -u, vous devez également appliquer la commande zlogin à la console de zone et effectuer une configuration du système, telle que décrit à la section Configuration de la zone interne initiale.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

  2. Exécutez la commande zoneadm avec l'option - z, le nom de la zone (s-zone) et la sous-commande boot pour initialiser la zone.


    global# zoneadm -z s-zone boot
    
  3. Une fois l'initialisation terminée, exécutez la sous-commande list avec l'option -v pour vérifier l'état de la zone.


    global# zoneadm list -v
    

Chapitre 25 À propos des packages et des patchs pour les systèmes Solaris comportant des zones installées (présentation)

Solaris 10 1/06 : ce chapitre a été entièrement revu.

Ce chapitre traite de la maintenance du système d'exploitation Solaris lorsque des zones y sont installées. Il fournit également des informations concernant l'ajout de packages et de patchs à la zone globale et à toutes les zones non globales installées, et contient des informations sur la suppression de ces packages et de ces patchs. Le contenu de ce chapitre remplace la documentation existante relative à l'installation et aux patchs Solaris. Pour plus d'informations, reportez-vous à Solaris 10 Release and Installation Collection et au System Administration Guide: Basic Administration.

Ce chapitre comprend les sections suivantes :

Nouveautés en matière de packages et de patchs dans les zones installées

Solaris 10 1/06 : ce chapitre a été réécrit depuis Solaris 10 afin de documenter le comportement actuel des commandes de packages et de patchs pour les systèmes sur lesquels des zones non globales sont installées.

Solaris 10 6/06 : les informations concernant les paramètres SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW et SUNW_PKG_THISZONE des packages ont été revues. Reportez-vous aux sections Présentation des outils de gestion des packages et des patchs et Informations sur les paramètres des packages.

Solaris 10 6/06 et versions ultérieures : pour savoir comment enregistrer votre système ou comment utiliser Sun Connection (anciennement Sun Update Connection) pour gérer vos mises à jour logicielles, reportez-vous à la section Sun Connection hub on BigAdmin (en anglais).

Solaris 10 8/07 et versions ultérieures :

Solaris 10 5/08 et mises à jour de version ultérieures : EOF de PatchPro. Depuis septembre 2007, PatchPro, qui utilise la base de données et les outils de gestion de patchs afin de corriger des logiciels installés dans les zones globales et non globales, n'est plus pris en charge. Pour obtenir des informations sur le processus actuel, consultez le site Sun xVM Ops Center.

Solaris 10 5/08 : bien qu'elles aient été ajoutées dans la version Solaris 10 5/08, ces informations s'appliquent à tous les systèmes Solaris 10.

Pour enregistrer votre système Solaris, allez à la page https://inventory.sun.com/inventory/. Pour de plus amples informations sur l'utilisation de Sun Inventory pour enregistrer votre matériel, vos logiciels et vos systèmes d'exploitation, consultez le centre d'informations Sun Inventory.

Si vous utilisez Sun xVM Ops Center pour créer, mettre à jour et gérer les systèmes de votre centre de données, reportez-vous au centre d'informations Sun xVM pour obtenir des informations relatives à l'enregistrement de votre logiciel par le biais du Sun xVM Ops Center.

Solaris 10 10/09 : l'application de patchs en parallèle à des zones est une amélioration apportée aux utilitaires de patch standard de Solaris 10. Pour les versions antérieures à Solaris 10 10/09, le patch est fourni dans les correctifs des utilitaires de patch, 119254-66 ou révision ultérieure (SPARC) et 119255-66 ou révision ultérieure (x86). Reportez-vous aux sections Solaris 10 10/09 : Application de patchs en parallèle pour réduire le temps d'application de patchs et Solaris 10 10/09: How to Patch Non-Global Zones in Parallel. Pour savoir comment mettre à jour rapidement les patchs sur un système comportant des zones, reportez-vous également à la section Utilisation de la mise à jour lors du rattachement en tant que solution d'application de patch.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

Présentation des outils de gestion des packages et des patchs

Les outils de gestion de packages Solaris permettent d'administrer l'environnement des zones. La mise à niveau d'un système vers une nouvelle version de Solaris entraîne la mise à jour de la zone globale et des zones non globales. Cette mise à niveau est effectuée par l'administrateur global.

Pour mettre à niveau un système incluant des zones non globales, vous avez le choix entre le programme d'installation interactif standard Solaris Live Upgrade et le programme d'installation personnalisé JumpStart. Les restrictions suivantes s'appliquent à un zonepath résidant sur un ZFS :

Pour plus d'informations, reportez-vous à la section Utilisation d’Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système comportant des zones (Solaris 10 10/08) du Guide d’administration Oracle Solaris ZFS.

L'administrateur de zone peut employer les outils de gestion de packages pour administrer tout logiciel installé dans une zone non globale, dans les limites décrites dans ce document.

Les principes généraux suivants s'appliquent lorsque des zones sont installées :


Remarque –

Lors de l'exécution de certaines opérations concernant les packages et les patchs, les zones sont temporairement verrouillées à d'autres opérations du même type. Dans certains cas, le système demande également confirmation auprès de l'administrateur avant d'exécuter l'opération requise.


À propos des packages et des zones

Seul un sous-ensemble des packages Solaris installés dans la zone globale est entièrement répliqué lors de l'installation d'une zone non globale. Par exemple, bon nombre des packages contenant le noyau Solaris ne sont pas nécessaires dans les zones non globales, qui partagent toutes implicitement le même noyau Solaris dans la zone globale. Toutefois, même si les données d'un package ne sont pas nécessaires ou utiles dans une zone non globale, il peut s'avérer indispensable de savoir s'il est installé dans la zone globale. Cela permet de résoudre correctement les dépendances des packages des zones non globales avec la zone globale.

Les packages possèdent des paramètres qui contrôlent la distribution et la visibilité de leur contenu sur un système comportant des zones non globales. SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW et SUNW_PKG_THISZONE définissent les caractéristiques des packages d'un système sur lequel des zones sont installées. Au besoin, l'administrateur système peut vérifier la configuration de ces paramètres pour s'assurer que les packages sont applicables lors de leur installation ou de leur suppression dans un environnement de zone. La commande pkgparam permet d'afficher les valeurs de ces paramètres. Pour plus d'informations sur les paramètres, reportez-vous à la section Informations sur les paramètres des packages. Pour en savoir plus sur leur utilisation, reportez-vous à la section Vérification de la configuration des paramètres des packages sur un système comportant des zones installées.

Pour plus de détails sur les caractéristiques et les paramètres des packages, reportez-vous à la page de manuel pkginfo(4) Pour plus d'informations sur l'affichage des valeurs des paramètres de packages, reportez-vous à la page de manuel pkgparam(1).

Patchs générés pour des packages

Lorsqu'un patch est généré pour un package, les paramètres doivent être définis sur les mêmes valeurs que pour le package d'origine.

Packages interactifs

Tout package destiné à être interactif, c'est-à-dire possédant un script de requête, est uniquement ajouté à la zone en cours. Il n'est pas propagé à d'autres zones. Tout package interactif ajouté à la zone globale est traité comme s'il avait été ajouté à l'aide de la commande pkgadd et de l'option -G. Pour plus d'informations sur cette option, reportez-vous à la section À propos de l'ajout de packages à des zones.

Synchronisation des zones

Il est recommandé de conserver les logiciels installés dans les zones non globales aussi synchronisés que possible avec ceux qui sont installés dans la zone globale. Cela facilite l'administration des systèmes comportant de nombreuses zones installées.

Pour atteindre cet objectif, les outils de gestion des packages mettent en oeuvre les règles suivantes lors de l'ajout et de la suppression de packages d'une zone globale.

Opérations sur les packages dans une zone globale

Si le package n'est actuellement installé ni dans la zone globale, ni dans les zones non globales, il peut être installé :

Si le package est déjà installé dans la zone globale :

Si le package est déjà installé dans la zone globale et dans un sous-ensemble des zones non globales :

Si le package est déjà installé dans la zone globale et dans toutes les zones non globales, il peut être supprimé de la zone globale et de toutes les zones non globales.

Ces règles garantissent que :

Opérations sur les packages dans une zone non globale

Les opérations possibles dans toute zone non globale sont les suivantes :

Impact de l'état des zones sur les opérations sur les patchs et les packages

Le tableau ci-dessous décrit ce qui se produit lorsque les commandes pkgadd, pkgrm, patchadd et patchrm sont exécutées sur un système comportant des zones non globales dans différents états.

Notez que la description de l'état installé a été révisée dans le tableau pour la version Solaris 10 5/08.

État de la zone 

Effet sur les opérations sur les packages et les patchs 

Configuré 

Les outils de gestion des patchs et des packages peuvent être exécutés. Aucun logiciel n'a encore été installé. 

Installée 

Les outils de gestion des patchs et des packages peuvent être exécutés. Lors de l'application de patch ou de package, le système remplace l'état Installé d'une zone par le nouvel état interne Monté. Après application du patch, l'état Installé de la zone est rétabli. 

Notez que l'état Installé de la zone est rétabli immédiatement après la fin du processus zoneadm - z zonename install. Il est impossible d'appliquer un patch ou d'exécuter des commandes de packaging sur une zone en état Installé qui n'a jamais été initialisée. La zone doit être initialisée à l'état d'exécution au moins une fois. Une fois la zone initialisée, puis remise en état Installé à l'aide de la commande zoneadm halt, les commandes d'application de patch et de package peuvent être exécutées.

Prêt 

Les outils de gestion des patchs et des packages peuvent être exécutés. 

En cours d'exécution 

Les outils de gestion des patchs et des packages peuvent être exécutés. 

Incomplet 

Zone en cours d'installation ou de suppression à l'aide de zoneadm. Les outils de gestion des patchs et des packages ne peuvent pas être exécutés. La zone ne peut pas être placée dans un état permettant d'utiliser ces outils.

À propos de l'ajout de packages à des zones

L'utilitaire système pkgadd décrit dans la page de manuel pkgadd(1M) s'emploie pour ajouter des packages à un système Solaris comportant des zones installées.

Exécution de pkgadd dans la zone globale

Utilisé avec l'option -G dans la zone globale, pkgadd permet de n'ajouter un package qu'à cette zone, sans qu'il soit propagé à d'autres zones. Notez que si SUNW_PKG_THISZONE=true, il n'est pas nécessaire que vous utilisiez l'option -G. Si SUNW_PKG_THISZONE=false, l'option -G l'ignore.

Lorsque vous exécutez l'utilitaire pkgadd dans la zone globale :

Ajout d'un package à la zone globale et à toutes les zones non globales

Pour ajouter un package à la zone globale et à toutes les zones non globales, exécutez l'utilitaire pkgadd dans la zone globale. Exécutez pkgadd sans l'option -G en tant qu'administrateur global.

Un package peut être ajouté à la zone globale et à toutes les zones non globales, indépendamment de la portion de zone affectée par le package.

L'utilitaire pkgadd exécute les actions suivantes :

Ajout d'un package uniquement à la zone globale

Pour ajouter un package uniquement à la zone globale, exécutez l'utilitaire pkgadd avec l'option -G en tant qu'administrateur global dans la zone globale.

Un package peut être ajouté à la zone globale s'il répond aux exigences suivantes :

L'utilitaire pkgadd exécute les actions suivantes :

Ajout d'un package installé dans la zone globale à toutes les zones non globales

Pour ajouter un package déjà installé dans la zone globale à toutes les zones non globales, vous devez le supprimer de la zone globale et le réinstaller dans toutes les zones.

Procédez de la manière suivante :

  1. Exécutez pkgrm dans la zone globale pour supprimer le package.

  2. Ajoutez le package sans utiliser l'option -G.

Utilisation de pkgadd dans une zone non globale

Pour ajouter un package à une zone non globale donnée, exécutez l'utilitaire pkgadd sans option en tant qu'administrateur de zone. Les conditions suivantes s'appliquent :

L'utilitaire pkgadd exécute les actions suivantes :

À propos de la suppression des packages des zones

L'utilitaire pkgrm décrit dans la page de manuel pkgrm(1M) prend en charge la suppression des packages sur les systèmes Solaris comportant des zones installées.

Utilisation de pkgrm dans la zone globale

Lorsque vous exécutez l'utilitaire pkgrm dans la zone globale :

Notez qu'un package peut uniquement être supprimé d'une zone non globale par un administrateur de zone travaillant dans cette zone si :

Suppression d'un package de la zone globale et de toutes les zones non globales

Pour supprimer un package de la zone globale et de toutes les zones non globales, exécutez l'utilitaire pkgrm dans la zone globale en tant qu'administrateur global.

Un package peut être supprimé de la zone globale et de toutes les zones non globales, indépendamment de la portion de zone affectée par le package.

L'utilitaire pkgrm exécute les actions suivantes :

Utilisation de pkgrm dans une zone non globale

Pour supprimer un package dans une zone non globale, utilisez pkgrm. Les limitations suivantes s'appliquent :

L'utilitaire pkgrm exécute les actions suivantes :

Informations sur les paramètres des packages

Configuration des paramètres des packages pour les zones

SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW et SUNW_PKG_THISZONE définissent les caractéristiques des packages d'un système sur lequel des zones sont installées. Vous devez configurer ces paramètres pour permettre l'administration de ces packages dans un système comportant des zones non globales installées.

Le tableau suivant répertorie les quatre combinaisons valides de configuration des paramètres des packages. Si vous choisissez d'autres combinaisons que celles mentionnées, ces paramètres ne sont pas valides et l'installation du package échoue.

Veillez à configurer les trois paramètres des packages. Vous pouvez également n'en définir aucun. Les outils de gestion des packages interprètent l'absence d'un paramètre de package de zone comme une valeur false, mais il est vivement conseillé de régler les paramètres. En définissant les trois paramètres de package, vous indiquez aux outils le comportement à adopter lors de l'installation ou de la suppression du package.

Tableau 25–1 Configurations valides des paramètres de packages

Paramètre SUNW_PKG_ALLZONES

Paramètre SUNW_PKG_HOLLOW

Paramètre SUNW_PKG_THISZONE

Description 

false 

false 

false 

Il s'agit de la configuration par défaut des packages. Aucune valeur n'est spécifiée pour tous les paramètres de package de zone. 

Un package ainsi configuré peut être installé dans une zone globale ou non globale.  

  • Si vous exécutez la commande pkgadd dans la zone globale, le package est installé dans la zone globale et dans toutes les zones non globales.

  • Si vous exécutez la commande pkgadd dans une zone non globale, le package n'est installé que dans cette dernière.

Dans l'un ou l'autre cas, l'intégralité du contenu du package est visible dans toutes les zones où il a été installé. 

false 

false 

true 

Un package ainsi configuré peut être installé dans une zone globale ou non globale. Si, après installation, de nouvelles zones non globales sont créées, le package n'est pas étendu à ces dernières. 

  • Si vous exécutez la commande pkgadd dans la zone globale, le package n'est installé que dans cette dernière.

  • Si vous exécutez la commande pkgadd dans une zone non globale, le package n'est installé que dans cette dernière.

Dans l'un ou l'autre cas, l'intégralité du contenu du package est visible dans la zone où il a été installé. 

true 

false 

false 

Vous ne pouvez installer un package ainsi configuré que dans la zone globale. Si vous exécutez la commande pkgadd, le package est installé dans la zone globale et dans toutes les zones non globales. L'intégralité du contenu est visible dans toutes les zones.


Remarque –

Toute tentative d'installation du package dans une zone non globale échoue.


true 

true 

false 

Un package ainsi configuré ne peut être installé que dans la zone globale, par l'administrateur global. Si vous exécutez la commande pkgadd, le contenu du package est entièrement installé dans la zone globale. Si les paramètres d'un package sont configurés sur ces valeurs, le contenu du package lui-même n'est distribué à aucune zone non globale. Seules les informations nécessaires pour indiquer qu'un package est installé sont installées dans toutes les zones non globales. Ces informations permettent d'installer d'autres packages en fonction de ce package.

Le package apparaît comme étant installé dans toutes les zones afin de permettre le contrôle de sa dépendance. 

  • Dans la zone globale, l'intégralité du contenu du package est visible.

  • Dans les zones non globales à racine entière, le contenu du package est totalement invisible.

  • Si une zone non globale hérite d'un système de fichiers de la zone globale, tout package présent sur ce système est visible dans une zone non globale. Tous les autres fichiers fournis par le package sont invisibles dans la zone non globale.

    Par exemple, une zone non globale à racine fragmentée partage quelques répertoires avec la zone globale. Ces répertoires sont en lecture seule. Les zones non globales à racine fragmentée partagent notamment le système de fichiers /platform. Entre autres exemples figurent également les packages qui ne distribuent que les fichiers appropriés à l'initialisation du matériel.


Remarque –

Toute tentative d'installation du package dans une zone non globale échoue.


Paramètre de package SUNW_PKG_ALLZONES

Le paramètre optionnel SUNW_PKG_ALLZONES décrit la portée d'un package en termes de zone. Ce paramètre indique :

Le paramètre SUNW_PKG_ALLZONES peut prendre deux valeurs, true et false. La valeur par défaut est false. S'il n'est pas défini ou s'il a été défini sur une valeur autre que true ou false, il est considéré comme possédant la valeur false.

Pour les packages dont la version et le niveau de révision de patchs doivent être identiques dans toutes les zones, le paramètre SUNW_PKG_ALLZONES doit être défini sur true. Pour tout package dont la fonctionnalité dépend d'un noyau Solaris particulier, par exemple Solaris 10, ce paramètre doit être défini sur true. Pour tout patch de package, le paramètre SUNW_PKG_ALLZONES doit être défini sur la même valeur que dans le package installé pour lequel l'application de patch est en cours. Le niveau de révision de patch de tout package pour lequel ce paramètre est défini sur true doit être identique dans toutes les zones.

Pour les packages dont la fonctionnalité ne dépend pas d'un noyau Solaris particulier, par exemple les packages tiers ou les compilateurs Sun, ce paramètre doit être défini sur false. Si le paramètre du package auquel un patch doit être appliqué est défini sur false, celui du patch doit également être défini sur false. La version du package et le niveau de révision de patch de tout package pour lequel ce paramètre est défini sur false peuvent différer selon les zones. Les versions de serveur Web installées dans deux zones non globales peuvent par exemple être différentes.

Les valeurs du paramètre de package SUNW_PKG_ALLZONES sont décrites dans le tableau ci-dessous.

Tableau 25–2 Valeurs du paramètre de package SUNW_PKG_ALLZONES

Valeur 

Description 

false

Depuis la zone globale, ce package peut être installé dans la zone globale uniquement ou dans la zone globale et toutes les zones non globales. Il peut également être installé dans une zone non globale depuis cette même zone. 

  • L'administrateur global peut l'installer dans la zone globale uniquement.

  • L'administrateur global peut l'installer dans la zone globale et toutes les zones non globales.

  • L'administrateur de zone peut l'installer dans une zone non globale.

Lorsqu'il est supprimé de la zone globale, ce package n'est pas supprimé des autres zones. Il peut être supprimé zone par zone des zones globales. 

  • Il n'est pas nécessaire de l'installer dans la zone globale.

  • Il n'est pas nécessaire de l'installer dans chacune des zones non globales.

  • Il ne doit pas nécessairement être identique dans toutes les zones. Différentes zones peuvent contenir différentes versions du package.

  • Les logiciels fournis par le package ne sont pas implicitement partagés entre les zones. Le fonctionnement du package n'est donc pas spécifique au système. La plupart des logiciels de niveau applicatif entrent dans cette catégorie. C'est par exemple le cas de StarOffice et des serveurs Web.

true

S'il est installé dans une zone globale, ce package doit également être installé dans toutes les zones non globales. S'il est supprimé d'une zone globale, il doit également être supprimé de toutes les zones non globales. 

  • Si le package est installé, il doit l'être dans la zone globale. Il est alors automatiquement installé dans toutes les zones non globales.

  • Sa version doit être identique dans toutes les zones.

  • Les logiciels fournis par le package sont implicitement partagés entre les zones. Le package dépend des versions des logiciels implicitement partagés entre les zones. Il doit être visible dans toutes les zones non globales. C'est par exemple le cas des modules de noyau.

    Ces packages permettent à la zone non globale de résoudre des dépendances concernant des packages qui sont installés dans la zone globale en exigeant que le package entier soit installé dans toutes les zones non globales.

  • Le package peut uniquement être installé par l'administrateur global. Il ne peut pas être installé dans une zone non globale par un administrateur de zone.

Paramètre de package SUNW_PKG_HOLLOW

Le paramètre SUNW_PKG_HOLLOW détermine si un package doit être visible dans chaque zone non globale lorsqu'il doit être installé et identique dans toutes les zones.

Le paramètre SUNW_PKG_HOLLOW peut prendre deux valeurs, true ou false.

Les valeurs du paramètre de package SUNW_PKG_ALLZONES sont décrites dans le tableau ci-dessous.

Tableau 25–3 Valeurs du paramètre de package SUNW_PKG_HOLLOW

Valeur 

Description 

false

Ce n'est pas un package "creux" : 

  • S'il est installé dans la zone globale, son contenu et les informations concernant l'installation sont requises dans toutes les zones non globales.

  • Les logiciels fournis par le package doivent être visibles dans toutes les zones non globales. Le package de la commande truss entre dans cette catégorie.

  • Hormis les restrictions concernant la configuration actuelle du paramètre SUNW_PKG_ALLZONES, aucune autre restriction n'est définie.

true

C'est un package "creux" : 

  • Son contenu n'est fourni à aucune zone non globale, mais les informations concernant son installation sont requises dans toutes les zones non globales.

  • Les logiciels fournis par le package ne doivent pas être visibles dans toutes les zones non globales. C'est par exemple le cas des pilotes de noyau et des fichiers de configuration système qui fonctionnent uniquement dans la zone globale. Ce paramètre permet à la zone non globale de résoudre les dépendances concernant des packages installés uniquement dans la zone globale sans installer vraiment les données des packages.

  • Le package est reconnu comme étant en cours d'installation dans toutes les zones à des fins de contrôle de dépendance par d'autres packages basés sur celui qui est en cours d'installation.

  • Cette configuration de package inclut toutes les restrictions fixées pour définir SUNW_PKG_ALLZONES sur true.

  • Dans la zone globale, le package est reconnu comme ayant été installé et tous ses composants sont installés. Des répertoires sont créés, des fichiers sont installés et des scripts de classes d'action et autres sont exécutés selon le besoin lorsque le package est installé.

  • Dans une zone non globale, le package est reconnu comme ayant été installé, mais aucun de ses composants n'est installé. Aucun répertoire n'est créé, aucun fichier n'est installé et aucun script de classe d'action ou autre n'est exécuté lorsque le package est installé.

  • Lorsque le package est supprimé de la zone globale, le système détecte que le package était entièrement installé. Les répertoires et fichiers correspondants sont supprimés, et les scripts de classes d'action et autres scripts d'installation sont exécutés lorsque le package est supprimé.

Paramètre de package SUNW_PKG_THISZONE

Le paramètre SUNW_PKG_THISZONE détermine si un package doit uniquement être installé dans la zone actuelle (globale ou non globale). Le paramètre SUNW_PKG_THISZONE peut prendre deux valeurs, true et false. La valeur par défaut est false.

Les valeurs du paramètre de package SUNW_PKG_THISZONE sont décrites dans le tableau ci-dessous.

Tableau 25–4 Valeurs du paramètre de package SUNW_PKG_THISZONE

Valeur 

Description 

false

  • Si pkgadd est exécuté dans une zone non globale, le package est uniquement installé dans la zone actuelle.

  • Si pkgadd est exécuté dans la zone globale, le package est installé dans la zone globale et dans toutes les zones non globales installées. Il sera également propagé à toutes les zones non globales installées ultérieurement.

true

  • Le package est uniquement installé dans la zone actuelle.

  • S'il est installé dans la zone globale, il n'est ajouté à aucune zone globale existante ou sur le point d'être créée. Il a le même comportement lorsque l'option -G est utilisée avec pkgadd.

Demande d'informations sur les packages

L'utilitaire pkginfo décrit dans la page de manuel pkginfo(1) prend en charge l'interrogation de la base de données des packages logiciels sur les systèmes Solaris comportant des zones installées. Pour plus d'informations sur la base de données, reportez-vous à la section Base de données de produits.

Dans la zone globale, l'utilitaire pkginfo ne permet d'interroger que la base de données des packages logiciels de la zone globale. Dans une zone non globale, l'utilitaire pkginfo ne permet d'interroger que la base de données des packages logiciels de la zone non globale.

À propos de l'ajout de patchs aux zones

En règle générale, les patchs possèdent les composants suivants :

Lorsqu'un patch est appliqué à l'aide de la commande patchadd, les informations concernant ce patch sont utilisées pour déterminer s'il est applicable au système en cours d'exécution. Si le patch est jugé non applicable, il n'est pas appliqué. Les dépendances du patch sont également contrôlées pour toutes les zones du système. Si l'une des dépendances requises n'est pas vérifiée, le patch n'est pas appliqué. Cela peut se produire lorsqu'une version ultérieure du patch est déjà installée.

Tous les packages du patch sont contrôlés. Si le package n'est installé dans aucune zone, il est contourné et n'est pas patché.

Si toutes les dépendances sont vérifiées, tous les packages du patch installés dans les zones sont utilisés pour patcher le système. Les bases de données de packages et de patchs sont également mis à jour.


Remarque –

De Solaris 10 3/05 à Solaris 10 11/06 : si un package est installé à l'aide de la commande pkgadd -G ou si sa configuration pkginfo est SUNW_PKG_THISZONE=true, il peut uniquement être patché à l'aide de patchadd - G. Cette restriction a disparu dans la version Solaris 8/07.


Solaris 10 8/07 : application de patchs à activation différée

À partir des patchs 119254-41 et 119255-41, les utilitaires d'installation patchadd et patchrm ont été modifiés pour changer la manière dont certaines prestations des patchs sont gérées. Cette modification affecte l'installation de ces patchs sur toutes les versions de Solaris 10. Les patchs à activation différée gèrent plus efficacement les changements apportés aux patchs de fonctions tels que les patchs de noyau associés aux versions de Solaris 10 après Solaris 10 3/05.

Les patchs à activation différée utilisent le système de fichiers loopback (LOFS) pour garantir la stabilité du système en cours d'exécution. Lorsqu'un patch est appliqué au système en cours d'exécution, le LOFS reste stable pendant l'application de patch. Ces grands patchs de noyau ont toujours demandé un réinitialisation. Cette réinitialisation active désormais les changements effectués par les LOFS. Le patch README contient des instructions sur les patchs nécessitant une réinitialisation.

Si vous exécutez des zones non globales ou si les LOFS sont désactivés, tenez compte des indications ci-dessous lors de l'installation et de la suppression de patchs à activation différée.


Remarque –

La gestion des patchs à l'aide de Solaris Live Upgrade permet d'éviter les problèmes associés à l'application de patch sur un système en cours d'exécution. Solaris Live Upgrade peut réduire la période d'indisponibilité due à l'application des patchs et limiter les risques en offrant la possibilité de poursuivre les opérations en cas de problème. Vous pouvez appliquer un patch à un environnement d'initialisation inactif pendant que le système fonctionne et réinitialiser l'environnement d'initialisation d'origine si des problèmes sont détectés dans le nouvel environnement d'initialisation. Reportez-vous à la section Mise à niveau d’un système à l’aide de packages ou de patchs du Guide d’installation Oracle Solaris 10 9/10 : planification des mises à niveau et de Solaris Live Upgrade.


Solaris 10 10/09 : Application de patchs en parallèle pour réduire le temps d'application de patchs

L'application de patchs en parallèle à des zones est une amélioration apportée aux utilitaires de patch standard de Solaris 10. Cela comprend la méthode prise en charge pour l'application de patchs aux zones non globales sur votre système Solaris 10. Cette fonction améliore le temps d'application de patchs sur des zones grâce à l'application en parallèle de patchs sur des zones non globales.

Pour les versions antérieures à Solaris 10 10/09, cette fonction est fournie dans les correctifs des utilitaires de patch, 119254-66 ou révision ultérieure (SPARC) et 119255-66 ou révision ultérieure (x86).

Le nombre maximal de zones non globales auxquelles des patchs doivent être appliqués en parallèle est défini dans un nouveau fichier de configuration pour patchadd, /etc/patch/pdo.conf. La révision 66 ou ultérieure de ce patch fonctionne pour tous les systèmes Solaris 10 et tous les outils d'automatisation de patch de niveau supérieur, tels que Sun xVM Ops Center.

Les patchs sont toujours appliqués sur la zone globale en premier. Lorsque l'application de patchs sur la zone globale est terminée, les patchs de toutes les zones non globales définies dans num_proc= sont appliqués. Le nombre maximal est 1,5 fois le nombre d'UC en ligne, le nombre de zones non globales présentes sur le système étant le nombre réel maximum.

Par exemple :

Si le nombre de zones non globales du système est supérieur à ce nombre, les patchs sont appliqués en parallèle aux six premières, puis les autres zones non globales reçoivent les patchs lorsque les processus d'application de patchs se terminent sur le premier groupe.

L'utilisation de Solaris Live Upgrade, ainsi que le nouveau patch pour gérer l'application de patchs permet la poursuite des opérations en cas de problème. Vous pouvez appliquer un patch à un environnement d'initialisation inactif pendant que le système fonctionne et réinitialiser l'environnement d'initialisation d'origine si des problèmes sont détectés dans le nouvel environnement d'initialisation.

Reportez-vous également à la section Solaris 10 10/09: How to Patch Non-Global Zones in Parallel.


Remarque –

Pour mettre à jour rapidement tous les packages pour la zone pour qu'ils correspondent aux données d'une zone non globale récemment installée sur l'hôte, les zones peuvent être retirées lors de l'application de patch à la zone globale, puis reconnectée avec l'option -U afin de correspondre au niveau de la zone globale. Pour plus d'informations, reportez-vous à la section Utilisation de la mise à jour lors du rattachement en tant que solution d'application de patch.


Application de patchs sur un système Solaris comportant des zones installées

Tous les patchs appliqués dans la zone globale sont appliqués à toutes les autres zones. Lorsqu'une zone non globale est installée, elle possède le même niveau de patch que la zone globale. Lorsqu'une zone globale est patchée, toutes les zones non globales le sont aussi. Cela garantit un niveau de patch identique dans toutes les zones.

L'utilitaire système patchadd décrit dans la page de manuel patchadd(1M) permet d'ajouter des patchs à un système comportant des zones installées.

Utilisation de patchadd dans la zone globale

Pour ajouter un patch dans la zone globale et dans toutes les zones non globales, exécutez patchadd en tant qu'administrateur global dans la zone globale.

Lorsque patchadd est exécuté dans la zone globale, les conditions suivantes s'appliquent :

Lorsque vous ajoutez un patch à la zone globale et à toutes les zones non globales, il est inutile de tenir compte du fait qu'il affecte ou non des portions de zones partagées avec la zone globale.

L'utilitaire patchadd exécute les actions suivantes :

Utilisation de patchadd dans une zone non globale

Lorsqu'il est utilisé dans une zone non globale par l'administrateur de zone, patchadd peut uniquement être employé pour ajouter des patchs à cette zone. Un patch ne peut être ajouté à une zone non globale que dans les cas suivants :

L'utilitaire patchadd exécute les actions suivantes :

Interaction de patchadd -G et de la variable pkginfo sur un système comportant des zones

Vous trouverez, ci-dessous, une liste des interactions entre l'option -G et la variable SUNW_PKG_ALLZONES lors de l'ajout d'un patch à une zone globale et à des zones non globales.

Zone globale, -G spécifié

Si un ou plusieurs packages possèdent la variable SUNW_PKG_ALLZONES=TRUE, une erreur se produit et aucune action n'a lieu.

Si aucun package ne possède la variable SUNW_PKG_ALLZONES=TRUE, le patch est uniquement appliqué au(x) package(s) de la zone globale.

Zone globale, -G non spécifié

Si, dans certains packages, SUNW_PKG_ALLZONES=TRUE, le patch est appliqué à ces packages dans toutes les zones.

Si, dans certains packages, SUNW_PKG_ALLZONES=TRUE, le patch est appliqué à ces packages dans toutes les zones adéquates. Les packages uniquement destinés à la zone globale ne sont installés que dans celle-ci.

Zone non globale, -G spécifié ou non

Si un ou plusieurs packages possèdent la variable SUNW_PKG_ALLZONES=TRUE, une erreur se produit et aucune action n'a lieu.

Si aucun package ne possède la variable SUNW_PKG_ALLZONES=TRUE, le patch est uniquement appliqué aux packages de la zone non globale.

Suppression de patchs sur un système Solaris comportant des zones installées

L'utilitaire système patchrm décrit dans la page de manuel patchrm(1M) permet de supprimer des patchs sur un système comportant des zones installées.

Utilisation de patchrm dans la zone globale

En tant qu'administrateur global, vous pouvez utiliser patchrm dans la zone globale pour supprimer des patchs. L'utilitaire patchrm ne peut pas supprimer les patchs uniquement de la zone globale ou d'un sous-ensemble des zones non globales.

Utilisation de patchrm dans une zone non globale

En tant qu'administrateur de zone, vous pouvez utiliser patchrm dans une zone non globale pour supprimer des patchs uniquement dans cette zone. Les patchs n'affectent pas les portions de zones partagées.

Base de données de produits

Les bases de données de packages, de patchs et d'enregistrements de produits de chaque zone décrivent les logiciels installés qui y sont disponibles. Les contrôles de dépendance liés à l'installation de logiciels complémentaires ou de patchs sont exécutés sans requérir l'accès aux bases de données des autres zones, excepté si un package ou un patch est en cours d'installation ou de suppression dans la zone globale et dans une ou plusieurs zones non globales. Le cas échéant, il est nécessaire d'accéder aux bases de données des zones non globales correspondantes.

Pour plus d'informations sur les bases de données, reportez-vous à la page de manuel pkgadm(1M).

Chapitre 26 Ajout et suppression de packages et de patchs sur un système Solaris comportant des zones installées (tâches)

Solaris 10 1/06 : chapitre entièrement revu pour cette version. ce chapitre explique les procédures de packages et de patchs applicables aux systèmes comportant des zones non globales installées.

Solaris 10 6/06 : une note a été ajoutée à la procédure Ajout d'un package uniquement à la zone globale.

Solaris 10 8/07 : une note a été supprimée de la tâche Application d'un patch uniquement à la zone globale.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

Ce chapitre décrit l'ajout et la suppression de packages et de patchs sur un système comportant des zones installées. Il aborde également d'autres tâches associées à la gestion des packages et des patchs, notamment le contrôle de la configuration des paramètres des patchs et l'obtention d'informations concernant les packages. Pour une présentation des concepts de patch et de package, reportez-vous au Chapitre 25À propos des packages et des patchs pour les systèmes Solaris comportant des zones installées (présentation).

Ajout et suppression de packages et de patchs sur un système Solaris comportant des zones installées (liste des tâches)

Tâche 

Description 

Voir 

Ajouter un package. 

Ajout d'un package sur un système comportant des zones installées. 

Ajout d'un package sur un système Solaris comportant des zones installées

Vérifier les informations concernant un package. 

Vérification des informations concernant un package sur un système comportant des zones installées. 

Vérification des informations concernant les packages sur un système Solaris comportant des zones installées

Supprimer un package. 

Suppression d'un package sur un système comportant des zones installées. 

Suppression d'un package sur un système Solaris comportant des zones installées

Appliquer un patch. 

Application d'un patch sur un système comportant des zones installées. 

Application de patchs sur un système Solaris comportant des zones installées

Supprimer un patch. 

Suppression d'un patch sur un système comportant des zones installées. 

Suppression d'un patch sur un système comportant des zones installées.

(Optionnel) Vérifier la configuration des paramètres d'un package. 

Vérification, lors de l'ajout ou de la suppression de packages, de la prise en charge de l'action à exécuter par les paramètres du package tels qu'ils sont définis. 

Vérification de la configuration des paramètres des packages sur un système comportant des zones installées

Ajout d'un package sur un système Solaris comportant des zones installées

L'utilitaire système pkgadd décrit dans la page de manuel pkgadd(1M) permet d'exécuter les tâches suivantes :

Pour que vous puissiez ajouter des packages, les paramètres SUNW_PKG_ALLZONES et SUNW_PKG_HOLLOW doivent être définis sur la valeur adéquate (true ou false). Dans le cas contraire, vous ne pourrez pas obtenir le résultat recherché. Pour plus d'informations sur l'influence de la configuration de ces paramètres de packages, reportez-vous à la section À propos des packages et des zones. Pour plus d'informations sur la vérification de la configuration des paramètres des packages, reportez-vous à la section Vérification de la configuration des paramètres des packages sur un système comportant des zones installées.

ProcedureAjout d'un package uniquement à la zone globale

Pour que vous puissiez ajouter un package uniquement à la zone globale, le paramètre SUNW_PKG_ALLZONES doit être défini sur false.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Dans la zone globale, exécutez la commande pkgadd -d suivie de l'emplacement du package, de l'option -G et du nom du package.

    • Si vous installez le package depuis un CD-ROM, tapez :


      global# pkgadd -d /cdrom/cdrom0/directory -G package_name
      
    • Si vous installez le package depuis un répertoire dans lequel il a été copié, tapez :


      global# pkgadd -d disk1/image -G package_name
      

      disque1 correspond au répertoire dans lequel le package a été copié.


    Remarque –

    Si l'utilitaire pkgadd est exécuté sans l'option -G et si SUNW_PKG_THISZONE=true, le package spécifié est ajouté à la zone (globale) actuelle par défaut.


ProcedureAjout d'un package à la zone globale et à toutes les zones non globales

N'utilisez pas l'option pkgadd-G.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Dans la zone globale, exécutez la commande pkgadd -d suivie de l'emplacement du package et de son nom.

    • Si vous installez le package depuis un CD-ROM, tapez :


      global# pkgadd -d /cdrom/cdrom0/directory package_name
      
    • Si vous installez le package depuis un répertoire dans lequel il a été copié, tapez :


      global# pkgadd -d disk1/image package_name
      

      disque1 correspond au répertoire dans lequel le package a été copié.

ProcedureAjout à toutes les zones non globales d'un package installé dans la zone globale

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez pkgrm dans la zone globale pour supprimer le package.

  3. Ajoutez le package sans utiliser l'option -G.

ProcedureAjout d'un package uniquement à une zone non globale spécifiée

Pour que vous puissiez ajouter un package uniquement à une zone non globale spécifiée, le paramètre SUNW_PKG_ALLZONES doit être défini sur false. N'utilisez pas pkgadd option -G dans cette procédure car l'opération échouerait.

Seul l'administrateur de zone d'une zone non globale peut exécuter la procédure ci-dessous.

  1. Connectez-vous à la zone non globale en tant qu'administrateur de zone.

  2. Dans la zone non globale, ici my-zone, exécutez la commande pkgadd -d suivie de l'emplacement du package et de son nom.

    • Si vous installez le package depuis un CD-ROM, tapez :


      my-zone# pkgadd -d /cdrom/cdrom0/directory package_name
      
    • Si vous installez le package depuis un répertoire dans lequel il a été copié, tapez :


      my-zone# pkgadd -d disk1/image package_name
      

      disque1 correspond au répertoire dans lequel le package a été copié.

Vérification des informations concernant les packages sur un système Solaris comportant des zones installées

Pour interroger la base de données des packages logiciels de la zone globale et des zones non globales, exécutez la commande pkginfo. Pour plus d'informations sur cette commande, reportez-vous à la page de manuel pkginfo(1).

ProcedureVérification des informations concernant les packages uniquement dans la zone globale

  1. Pour vérifier les informations concernant les packages uniquement dans la zone globale, exécutez la commande pkginfo suivie du nom du package.


    global% pkginfo package_name
    

Exemple 26–1 Utilisation de la commande pkginfo dans la zone globale


global% pkginfo SUNWcsr SUNWcsu
system      SUNWcsr Core Solaris, (Root)
system      SUNWcsu Core Solaris, (Usr)

ProcedureVérification des informations concernant les packages uniquement dans une zone non globale

  1. Pour accéder à la base de données des packages logiciels d'une zone non globale donnée, connectez-vous à cette zone et exécutez la commande pkginfo suivie du nom du package.


    my-zone% pkginfo package_name
    

Exemple 26–2 Utilisation de la commande pkginfo dans une zone non globale


my-zone% pkginfo SUNWcsr SUNWcsu
system      SUNWcsr Core Solaris, (Root)
system      SUNWcsu Core Solaris, (Usr)

Suppression d'un package sur un système Solaris comportant des zones installées

L'utilitaire système pkgrm décrit dans la page de manuel pkgrm(1M) permet d'exécuter les tâches suivantes :

Pour que vous puissiez supprimer des packages, les paramètres SUNW_PKG_ALLZONES et SUNW_PKG_HOLLOW doivent être définis sur la valeur adéquate (true ou false). Dans le cas contraire, vous ne pourrez pas obtenir le résultat recherché. Pour plus d'informations sur l'influence de la configuration de ces paramètres de packages, reportez-vous à la section À propos des packages et des zones. Pour plus d'informations sur la vérification de la configuration des paramètres des packages, reportez-vous à la section Vérification de la configuration des paramètres des packages sur un système comportant des zones installées.

ProcedureSuppression d'un package de la zone globale et de toutes les zones non globales

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Dans la zone globale, exécutez la commande pkgrm suivie du nom du package.


    global# pkgrm package_name
    

ProcedureSuppression d'un package uniquement d'une zone non globale spécifiée

Pour que vous puissiez supprimer un package d'une zone non globale spécifiée uniquement, le paramètre SUNW_PKG_ALLZONES doit être défini sur false.

Seul l'administrateur de zone d'une zone non globale peut exécuter la procédure ci-dessous.

  1. Connectez-vous à la zone non globale en tant qu'administrateur de zone.

  2. Dans la zone non globale, ici my-zone, exécutez la commande pkgrm suivie du nom du package.


    my-zone# pkgrm package_name
    

Application de patchs sur un système Solaris comportant des zones installées

L'utilitaire système patchadd décrit dans la page de manuel patchadd(1M) permet d'exécuter les tâches suivantes :

ProcedureApplication d'un patch uniquement à la zone globale


Remarque –

De Solaris 10 3/05 à Solaris 10 11/06 : Si le package que vous souhaitez mettre à jour a été ajouté à l'aide de la commande pkgadd et de l'option -G, vous devez utiliser la commande patchadd avec l'option -G pour appliquer le patch. Cette restriction a disparu dans la version Solaris 8/07.


Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez la commande patchadd avec l'option -G suivie de l'ID de patch.


    global# patchadd -G patch_id
    

ProcedureApplication d'un patch à la zone globale et à toutes les zones non globales

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

Voir aussi les sections Solaris 10 10/09 : Application de patchs en parallèle pour réduire le temps d'application de patchs et Solaris 10 10/09: How to Patch Non-Global Zones in Parallel.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez la commande patchadd suivie de l'ID du patch.


    global# patchadd patch_id
    

ProcedureApplication d'un patch uniquement à une zone non globale spécifiée

Pour que vous puissiez appliquer un patch uniquement à une zone non globale spécifiée, le paramètre SUNW_PKG_ALLZONES de tous les packages du patch doit être défini sur false.

Seul l'administrateur de zone d'une zone non globale peut exécuter la procédure ci-dessous.

  1. Connectez-vous à la zone non globale en tant qu'administrateur de zone.

  2. Dans la zone non globale, ici my-zone, exécutez la commande patchadd suivie de l'ID du patch.


    my-zone# patchadd patch_id
    

ProcedureSolaris 10 10/09: How to Patch Non-Global Zones in Parallel

Définissez le nombre de zones non globales auxquelles des patchs seront appliqués en parallèle dans le fichier de configuration patchadd /etc/patch/pdo.conf. Lorsque l'application de patchs sur la zone globale est terminée, les patchs de toutes les zones non globales définies dans num_proc= sont appliqués.

Si vous exécutez une version antérieure à Solaris 10 10/09, téléchargez le patch 119254-66, une révision ultérieure (SPARC), le patch 119255-66 ou une révision ultérieure (x86).

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Facultatif, pour les versions antérieures à Solaris 10 10/09 uniquement : téléchargez le patch 119254-66 (SPARC) ou 119255-66 (x86).

  3. Dans le fichier /etc/patch/pdo.conf, définissez six zones non globales auxquelles appliquer des patchs en parallèle sur un système présentant quatre UC en ligne.


    num_proc=6

    S'il y a plus de six zones non globales sur le système, les patchs sont appliqués en parallèle aux six premières, puis les autres zones non globales reçoivent les patchs lorsque les processus d'application de patchs se terminent sur ces six premières zones non globales.

Suppression d'un patch sur un système comportant des zones installées.

L'utilitaire système patchrm décrit dans la page de manuel patchrm(1M) permet d'exécuter les tâches suivantes :

ProcedureSuppression d'un patch de la zone globale et de toutes les zones non globales

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez la commande patchrm suivie de l'ID du patch.


    global# patchrm patch_id
    

ProcedureSuppression d'un patch uniquement d'une zone non globale spécifiée

Pour que vous puissiez supprimer un patch uniquement d'une zone non globale spécifiée, le paramètre SUNW_PKG_ALLZONES de tous les packages du patch doit être défini sur false.

Seul l'administrateur de zone d'une zone non globale peut exécuter la procédure ci-dessous.

  1. Connectez-vous à la zone non globale en tant qu'administrateur de zone.

  2. Dans la zone non globale, ici my-zone, exécutez la commande patchrm suivie de l'ID du patch.


    my-zone# patchrm patch_id
    

Vérification de la configuration des paramètres des packages sur un système comportant des zones installées

La commande pkgparam vous permet de vérifier la configuration des paramètres des packages logiciels avant de les ajouter ou de les supprimer. Cette étape est facultative. Cette vérification permet également de déterminer la raison pour laquelle un package n'est pas ajouté ou supprimé comme prévu. Pour plus d'informations sur l'affichage des valeurs des paramètres de packages, reportez-vous à la page de manuel pkgparam(1).

Procedure(Optionnel) Vérification de la configuration des paramètres d'un package déjà installé sur le système

  1. Pour vérifier la configuration des paramètres d'un package déjà installé dans une zone globale ou non globale, exécutez la commande pkgparam suivie du nom du package et de celui du paramètre concerné.


    my-zone% pkgparam package_name SUNW_PKG_ALLZONES
    true
    my-zone% pkgparam package_name SUNW_PKG_HOLLOW
    false

Procedure(Optionnel) Vérification de la configuration des paramètres d'un package logiciel sur CD-ROM

  1. Pour vérifier la configuration des paramètres d'un package logiciel sur CD-ROM non installé, exécutez la commande pkgparam -d suivie du chemin du CD-ROM, du nom du package et de celui du paramètre concerné.


    my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_ALLZONES
    true
    my-zone% pkgparam -d /cdrom/cdrom0/directory package_name SUNW_PKG_HOLLOW 
    false 

Chapitre 27 Administration de zones Solaris (présentation)

Ce chapitre aborde les sujets généraux d'administration de zone suivants :

Pour plus d'informations sur les zones marquées lx, reportez-vous à la Partie III, Zones marquées lx.

Nouveautés

Solaris 10 1/06 : la section Démontage des systèmes de fichiers dans les zones a été ajoutée.

Solaris 10 1/06 : des sections sur la sauvegarde et la restauration de zone ont été ajoutées. Voir la section À propos de la sauvegarde d'un système Solaris doté de zones.

Solaris 10 6/06 : une entrée ZFS a été ajoutée à la section Montage de systèmes de fichiers dans les zones.

Solaris 10 8/07 : les informations ci-dessous sont nouvelles ou mises à jour dans cette version.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

Accès et visibilité de la zone globale

La zone globale sert à la fois de zone par défaut pour le système et de zone utilisée pour le contrôle administratif au niveau du système. Ce double rôle présente des problèmes d'administration. Comme les applications au sein de la zone ont accès aux processus et autres objets du système, les opérations d'administration peuvent avoir des répercussions plus importantes que prévues. Par exemple, pour indiquer la sortie des processus d'un nom donné, les scripts d'arrêt de service utilisent fréquemment la commande pkill. Lorsque vous exécutez ce script à partir de la zone globale, tous les processus du système se voient communiquer l'arrêt, quelle que soit la zone.

Cette portée au niveau du système est souvent requise. Par exemple, pour contrôler l'utilisation des ressources système, vous devez afficher les statistiques concernant les processus de l'ensemble du système. En affichant l'activité de la zone globale uniquement, vous ne disposeriez pas d'informations pertinentes relatives aux autres zones partageant les ressources système ou une partie de ces ressources. Un tel affichage revêt toute son importance lorsque les ressources système, la CPU notamment, ne sont pas strictement partitionnées à l'aide de fonctions de gestion de ressources.

Par conséquent, les processus de la zone globale peuvent observer les processus et les autres objets des zones non globales. Ils disposent ainsi d'une capacité d'observation au niveau de l'ensemble du système. Le privilège PRIV_PROC_ZONE limite le contrôle et l'envoi de signaux aux processus. À l'instar de PRIV_PROC_OWNER, ce privilège permet aux processus d'ignorer les restrictions placées sur les processus sans privilège. Dans ce cas, la restriction consiste à empêcher les processus sans privilège de la zone globale de contrôler les processus des autres zones ou de leur envoyer des signaux. Ceci est également vrai lorsque les ID utilisateur des processus correspondent ou que le processus réalisant l'action possède le privilège PRIV_PROC_OWNER. Vous pouvez supprimer le privilège PRIV_PROC_ZONE des processus disposant d'autres privilèges afin de limiter les opérations concernant la zone globale.

Pour plus d'informations sur la correspondance des processus à l'aide de zoneidlist, reportez-vous aux pages de manuel pgrep(1) et pkill(1).

Visibilité des identificateurs de processus dans les zones

Seuls les processus d'une même zone sont visibles par le biais d'interfaces d'appel système utilisant les identificateurs de processus, comme les commandes kill et priocntl. Pour plus d'informations, reportez-vous aux pages de manuel kill(1) et priocntl(1).

Capacité d'observation du système dans les zones

Les modifications suivantes ont été apportées à la commande ps :

Pour plus d'informations, reportez-vous à la page de manuel ps(1) .

L'option -z nom de zone a été ajoutée aux utilitaires Solaris suivants. Elle permet de filtrer les informations à inclure aux zones spécifiées.

Pour obtenir la liste complète des modifications apportées aux commandes, reportez-vous au Tableau 27–5.

Nom de nœud dans une zone non globale

L'administrateur de zone peut définir le nom de nœud dans /etc/nodename renvoyé par uname - n. Les noms de nœud doivent être uniques.

Systèmes de fichiers et zones non globales

Cette section contient les informations relatives aux problèmes liés aux systèmes de fichiers des systèmes Solaris dotés de zones. Chaque zone possède sa section de l'arborescence du système de fichiers, située dans le répertoire appelé la racine de zone. Les processus de la zone peuvent accéder uniquement aux fichiers de la partie de l'arborescence située sous la racine de zone. Vous pouvez employer l'utilitaire chroot au sein d'une zone, mais uniquement à des fins de restriction du processus à un chemin racine de la zone en question. Pour plus d'informations sur chroot, reportez-vous à la page de manuel chroot(1M).

Option -o nosuid

L'option -o nosuid de l'utilitaire mount a la fonction suivante :

Cette option spécifique au système de fichiers est disponible pour tous les systèmes Solaris que vous pouvez monter à l'aide des utilitaires mount, comme le décrit la page de manuel mount(1M) Dans ce manuel, ces systèmes de fichiers sont répertoriés à la section Montage de systèmes de fichiers dans les zones. Les capacités de montage y sont également décrites. Pour plus d'informations sur l'option -o nosuid voir la section Accessing Network File Systems (Reference) du System Administration Guide: Network Services .

Montage de systèmes de fichiers dans les zones

L'option nodevices s'applique lors du montage des systèmes de fichiers au sein d'une zone. Par exemple, si une zone se voit accorder l'accès à un périphérique en mode bloc (/dev/dsk/c0t0d0s7 ) et à un périphérique brut (/dev/rdsk/c0t0d0s7) correspondant à un système de fichiers UFS, le système de fichiers est automatiquement monté avec l'option nodevices dans le cadre d'un montage au sein d'une zone. Cette règle ne s'applique pas aux montages spécifiés par le biais d'une configuration zonecfg.

Le tableau ci-dessous décrit les options de montage de systèmes de fichiers dans les zones non globales. Les procédures concernant ces options de montage sont fournies aux sections Configuration, vérification et validation d'une zone et Montage de systèmes de fichiers dans des zones non globales en cours d'exécution.

Les types de système de fichiers qui ne sont pas répertoriés dans le tableau peuvent être spécifiés dans la configuration s'ils présentent un binaire de montage dans /usr/lib/type fs/mount .

Système de fichiers 

Options de montage dans une zone non globale 

AutoFS 

Ne peut être monté à l'aide de la commande zonecfg, ne peut être monté manuellement dans une zone non globale à partir de la zone globale. Peut être monté au sein d'une zone.

CacheFS 

Ne peut être utilisé dans une zone non globale. 

FDFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

HSFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

LOFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

MNTFS 

Ne peut être monté à l'aide de la commande zonecfg, ne peut être monté manuellement dans une zone non globale à partir de la zone globale. Peut être monté au sein d'une zone.

NFS 

Ne peut pas être monté à l'aide de la commande zonecfg. Les versions V2, V3 et V4 actuellement prises en charge dans les zones peuvent être montées au sein de la zone.

PCFS  

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

PROCFS 

Ne peut être monté à l'aide de la commande zonecfg, ne peut être monté manuellement dans une zone non globale à partir de la zone globale. Peut être monté au sein d'une zone.

TMPFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

UDFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

UFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

XMEMFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

Ce système de fichiers ne sera plus pris en charge dans les versions à venir du système Solaris. 

ZFS 

Peut être monté à l'aide des types de ressources zonecfg dataset et fs.

Pour plus d'informations, reportez-vous aux sections Configuration d'une zone et Montage de systèmes de fichiers dans des zones non globales en cours d'exécution, ainsi qu'à la page de manuel mount(1M).

Démontage des systèmes de fichiers dans les zones

La possibilité de démonter un système de fichiers dépend de l'identité de l'utilisateur ayant réalisé le montage initial. Si le système de fichiers est spécifié dans la configuration de la zone à l'aide de la commande zonecfg, le montage appartient à la zone globale. Par conséquent, l'administrateur de la zone non globale ne peut pas démonter le système de fichiers. En revanche, si le système de fichiers est monté à l'intérieur de la zone non globale, par exemple, en spécifiant le montage dans le fichier /etc/vfstab de la zone, l'administrateur de la zone non globale est autorisé à le démonter.

Restrictions de sécurité et comportement du système de fichiers

Le montage de certains systèmes de fichiers au sein d'une zone est soumis à des restrictions de sécurité. et d'autres systèmes de fichiers ont un comportement particulier lorsqu'ils sont montés dans une zone. Les systèmes de fichiers modifiés sont répertoriés ci-dessous.

AutoFS

AutoFS est un service côté client qui monte automatiquement le système de fichiers adéquat. Lorsqu'un client essaie d'accéder à un système de fichiers non monté, le système de fichiers AutoFS intercepte la requête et appelle la commande automountd pour monter le répertoire spécifié. Les montages AutoFS établis au sein d'une zone sont locaux à cette zone. Ils ne sont pas accessibles à partir d'autres zones, pas même de la zone globale. Ils sont supprimés à l'arrêt ou à la réinitialisation de la zone. Pour plus d'informations sur AutoFS, reportez-vous à la section How Autofs Works du System Administration Guide: Network Services .

Chaque zone exécute sa copie de automountd. L'administrateur de zone contrôle les délais et les cartes automatiques. Vous ne pouvez pas déclencher un montage dans une autre zone en croisant un point de montage AutoFS pour une zone non globale à partir de la zone globale.

Certains montages AutoFS sont créés dans le noyau lors du déclenchement d'un autre montage. Ces montages ne peuvent pas être supprimés à l'aide de l'interface standard umount, car ils doivent être montés ou démontés en tant que groupe. Notez que cette fonctionnalité s'applique à l'arrêt de zone.

MNTFS

MNTFS est un système de fichiers virtuel fournissant au système local l'accès en lecture seule à la table des systèmes de fichiers montés. Le groupe de systèmes de fichiers qui s'affiche lorsque vous exécutez la commande mnttab à l'intérieur d'une zone non globale correspond au groupe de systèmes de fichiers figurant dans la zone, plus une entrée racine (/) . Dans le cas des points de montage dotés d'un périphérique spécial inaccessible à l'intérieur de la zone, tel que /dev/rdsk/c0t0d0s0, la configuration du périphérique est identique à celle du point de montage. Tous les montages du système s'affichent dans la table /etc/mnttab de la zone. Pour plus d'informations sur MNTFS, reportez-vous au Chapitre 18, Mounting and Unmounting File Systems (Tasks) du System Administration Guide: Devices and File Systems.

NFS

Les montages AutoFS établis au sein d'une zone sont locaux à cette zone. Ils ne sont pas accessibles à partir d'autres zones, pas même de la zone globale. Ils sont supprimés à l'arrêt ou à la réinitialisation de la zone.

Comme indiqué dans la page de manuel mount_nfs(1M), un serveur NFS ne doit pas essayer de monter son système de fichiers. Par conséquent, une zone ne doit pas monter en mode NFS un système de fichiers exporté par la zone globale. Les zones ne peuvent pas être des serveurs NFS. Au sein d'une zone, les montages NFS se comportent comme s'ils étaient montés à l'aide de l'option nodevices.

La sortie de commande nfsstat appartient uniquement à la zone dans laquelle la commande est exécutée. Par exemple, si la commande est exécutée dans la zone globale, seules les informations concernant la zone globale sont signalées. Pour plus d'informations sur la commande nfsstat, reportez-vous à la page de manuelnfsstat(1M).

La commande zlogin échoue si l'un de ses fichiers ouverts ou l'une des régions de son espace d'adressage réside sur NFS. Pour plus d'informations, reportez-vous à la section Commande zlogin.

PROCFS

Le système de fichiers /proc ou PROCFS fournit la visibilité de processus et les restrictions d'accès, ainsi que les informations concernant l'association de processus au niveau de la zone. Seuls les processus d'une même zone sont visibles par le biais de /proc.

Les processus de la zone globale peuvent observer les processus et les autres objets des zones non globales. Ils disposent ainsi d'une capacité d'observation au niveau de l'ensemble du système.

Au sein d'une zone, les montages, procfs se comportent comme s'ils étaient montés à l'aide de l'option nodevices. Pour plus d'informations sur la commande procfs, reportez-vous à la page de manuel proc(4).

LOFS

La portée du montage par le biais de LOFS se limite à la partie du système de fichiers visible à la zone. Ainsi, aucune restriction ne s'applique aux montages LOFS dans une zone.

UFS, UDFS, PCFS et autres systèmes de fichiers basés sur le stockage

Lorsqu'il utilise la commande zonecfg pour configurer des systèmes de fichiers basés sur le stockage et dotés d'un binaire fsck, comme UFS, l'administrateur de zone doit spécifier un paramètre brut. Ce paramètre indique le périphérique brut (en mode caractère) tel que /dev/rdsk/c0t0d0s7. La commande zoneadmd exécute automatiquement la commande fsck en mode vérification uniquement non interactif (fsck -m) sur le périphérique préalablement au montage du système de fichiers. En cas d'échec de la commande fsck, la commande zoneadmd ne peut pas préparer la zone. Le chemin spécifié par le paramètre raw ne peut pas être relatif.

Indiquer un périphérique à la commande fsck pour un système de fichiers qui ne fournit pas de binaire fsck dans /usr/lib/ type fs/fsck constitue une erreur. Ne pas indiquer un périphérique à la commande fsck si un binaire fsck existe pour ce fichier constitue également une erreur.

Pour plus d'informations, reportez-vous à la section Démon zoneadmd et la page de manuel fsck(1M).

ZFS

Vous pouvez ajouter un jeu de données ZFS à une zone non globale à l'aide de la commande zonecfg et de la ressource add dataset. Le jeu de données est visible et monté dans la zone non globale et n'est plus visible dans la zone globale. L'administrateur de zone peut créer et détruire les systèmes de fichiers à l'intérieur de cet ensemble de données ou les propriétés du jeu de données.

L'attribut zoned de la commande zfs indique l'ajout d'un jeu de données à une zone non globale.


# zfs get zoned tank/sales
NAME          PROPERTY    VALUE      SOURCE
tank/sales    zoned       on         local

Si vous souhaitez partager un jeu de données de la zone globale, vous pouvez ajouter un système de fichiers ZFS monté en LOFS à l'aide de la commande zonecfg et de la sous-commande add fs. L'administrateur global est chargé de la configuration et du contrôle des propriétés du jeu de données.

Pour plus d'informations sur les systèmes de fichiers ZFS, reportez-vous au Chapitre 10, Rubriques avancées Oracle Solaris ZFS du Guide d’administration Oracle Solaris ZFS.

Zones non globales en tant que clients NFS

Les zones peuvent être des clients NFS. Les protocoles version 2, version 3 et version 4 sont pris en charge. Pour plus d'informations sur ces versions NFS, reportez-vous à la section Features of the NFS Service du System Administration Guide: Network Services

La version par défaut est NFS version 4. Vous pouvez activer d'autres versions NFS sur un client par l'une des méthodes suivantes :

Interdiction d'utiliser la commande mknod dans une zone

Vous ne pouvez pas utiliser la commande mknod décrite dans la page de manuel mknod(1M) pour créer un fichier spécial dans une zone non globale.

Parcours des systèmes de fichiers

L'espace de noms de système de fichiers d'une zone est un sous-ensemble de l'espace de noms accessible à partir de la zone globale. Pour empêcher les processus sans privilèges de la zone globale de parcourir l'arborescence de système de fichiers d'une zone non globale :

Toute tentative d'accès aux nœuds AutoFS montés pour une autre zone est vouée à l'échec. L'administrateur global ne doit pas avoir de mappages automatiques descendant dans d'autres zones.

Restriction d'accès à une zone non globale à partir de la zone globale

Pour accéder directement à partir de la zone globale à une zone non globale installée, vous devez utiliser les utilitaires de sauvegarde du système. En outre, une zone non globale n'est plus sécurisée dès qu'elle est exposée à un environnement inconnu. Imaginons une zone placée sur un réseau public et courant le risque que le contenu de ses systèmes de fichiers soit modifié. S'il existe le moindre doute que la zone ait été exposée à un tel risque, l'administrateur système doit la traiter comme non sécurisée.

Toute commande acceptant une racine alternative via l'option -R ou - b (ou l'équivalent) ne doit pas être utilisée lorsque :

Tel est le cas, par exemple, de l'option -R root_path de l'utilitaire pkgadd exécuté à partir de la zone globale avec un chemin racine de zone non globale.

Les commandes, programmes et utilitaires utilisant l'option -R avec un chemin racine alternatif sont répertoriés ci-dessous.

Les commandes et programmes utilisant l'option -b avec un chemin racine alternatif sont répertoriés ci-dessous.

Mise en réseau dans des zones non globales en mode IP partagé

Sur un système Solaris doté de zones, les zones peuvent communiquer entre elles sur le réseau. Toutes possèdent des connexions ou des liaisons distinctes et peuvent exécuter leurs propres démons de serveur. Ces derniers peuvent écouter sur les mêmes ports sans que cela n'engendre de conflit. La pile IP résout les conflits en prenant en compte les adresses IP pour les connexions entrantes. Les adresses IP identifient la zone.

Partition de zone en mode IP partagé

La pile IP dans un système prenant en charge les zones organise la séparation, entre les zones, du trafic sur le réseau. Les applications réceptrices de trafic IP reçoivent uniquement le trafic envoyé à la même zone.

Chaque interface logique du système appartient à une zone donnée (par défaut, la zone globale). Les interfaces réseau logiques assignées à des zones par le biais de l'utilitaire zonecfg permettent la communication sur le réseau. Tous les flux et connexions appartiennent à la zone du processus à l'origine de leur ouverture.

Des restrictions s'appliquent aux liaisons entre les flux de couche supérieure et les interfaces logiques. Un flux peut uniquement établir des liaisons aux interfaces logiques figurant dans sa zone. De même, les paquets d'une interface logique peuvent être transmis uniquement aux flux de couche supérieure de la zone dans laquelle figure l'interface logique.

Chaque zone possède son propre ensemble de liaisons. Chaque zone peut exécuter la même application à l'écoute sur le même port sans que les liaisons n'échouent parce que l'adresse est déjà utilisée. Chaque zone peut exécuter sa propre version des services suivants :

Les zones non globales disposent d'un accès limité au réseau. Les interfaces socket TCP et UDP standard sont disponibles, mais les interfaces socket SOCK_RAW sont limitées au protocole ICMP (Internet Control Message Protocol). Le protocole ICMP est requis pour la détection et le signalement des conditions d'erreur réseau ou l'utilisation de la commande ping.

Interfaces réseau en mode IP partagé

Chaque zone non globale devant se connecter au réseau dispose d'une ou plusieurs adresses IP dédiées. Ces adresses sont associées à des interfaces réseau logiques que vous pouvez placer dans une zone à l'aide de la commande ifconfig. Les interfaces réseau de zone configurées à l'aide de la commande zonecfg sont automatiquement paramétrées et placées dans la zone lors de l'initialisation de cette dernière. La commande ifconfig permet d'ajouter ou de supprimer des interfaces logiques lorsque la zone est en cours d'exécution. Seul l'administrateur global est autorisé à modifier la configuration de l'interface et les routes du réseau.

Au sein d'une zone non globale, seules les interfaces associées à cette zone sont visibles par le biais de la commande ifconfig.

Pour plus d'informations, reportez-vous aux pages de manuel ifconfig(1M) et if_tcp(7P).

Trafic IP entre zones en mode IP partagé sur une même machine

La livraison de paquets entre deux zones d'une même machine n'est autorisée que si une route de concordance existe pour la destination et la zone dans la table de transfert.

Les informations de concordance sont implémentées comme suit :

Solaris IP Filter dans les zones en mode IP partagé

Solaris IP Filter permet le filtrage de paquets avec état et la traduction d'adresse réseau (NAT, Network Address Translation). Un filtre de paquets avec état permet de contrôler l'état des connexions actives. À l'aide des informations obtenues, il identifie alors les paquets autorisés à franchir le pare-feu. Solaris IP Filter permet également le filtrage de paquets sans état ainsi que la création et la gestion des pools d'adresses. Pour plus d'informations, reportez-vous au Chapitre 25, Oracle Solaris IP Filter (présentation) du Guide d’administration système : services IP.

Pour activer Solaris IP Filter dans les zones non globales, activez le filtrage en loopback, comme décrit dans le Chapitre 26, Oracle Solaris IP Filter (tâches) du Guide d’administration système : services IP.

Solaris IP Filter est dérivé du logiciel Open Source IP Filter.

Multiacheminement sur réseau IP dans les zones en mode IP partagé

Le multiacheminement sur réseau IP (IPMP, IP Network Multipathing) permet de détecter les défaillances des interfaces physiques et de basculer en transparence l'accès au réseau pour un système présentant plusieurs interfaces sur une même liaison IP. IPMP permet également de répartir la charge des paquets pour les systèmes dotés de plusieurs interfaces.

L'intégralité de la configuration du réseau s'effectue dans la zone globale. Vous pouvez configurer IPMP dans la zone globale, puis étendre cette fonctionnalité aux zones non globales. Pour cela, lorsque vous configurez la zone, vous devez placer son adresse dans un groupe IPMP. En cas d'échec de l'une des interfaces de la zone globale, les adresses de zone non globale migrent vers une autre carte d'interface réseau. Une zone en mode IP partagé peut contenir plusieurs adresses IP, faire partie de plusieurs groupes IPMP et plusieurs zones en mode IP partagé peuvent utiliser le même groupe IPMP.

Au sein d'une zone non globale, seules les interfaces qui lui sont associées sont visibles par le biais de la commande ifconfig.

Voir la section Extension de la fonction IPMP aux zones non globales en mode IP partagé. La procédure de configuration des zones est traitée dans la section Configuration d'une zone. Pour plus d'informations sur l'utilisation d'IPMP, ses composants et ses fonctions, reportez-vous au Chapitre 30, Présentation d’IPMP du Guide d’administration système : services IP.

Solaris 10 8/07 : mise en réseau dans des zones non globales en mode IP exclusif

Une zone en mode IP exclusif possède ses variables de réglage et d'état IP. Lors de sa configuration, la zone reçoit un ensemble de liaisons de données qui lui est propre.

Pour plus d'informations sur les fonctions disponibles dans les zones non globales en mode IP exclusif, reportez-vous à la section Solaris 10 8/07 : zones non globales en mode IP exclusif. Pour plus d'informations sur les variables ndd IP de réglage, reportez-vous au Oracle Solaris Tunable Parameters Reference Manual .

Partitionnement de zone en mode IP exclusif

Les zones en mode IP exclusif possèdent des piles TCP/IP distinctes. Ainsi, le partitionnement s'applique jusqu'au niveau de la couche de liaisons de données. L'administrateur global attribue un ou plusieurs noms de liaison de données (un NIC ou un VLAN sur un NIC) à une zone en mode IP exclusif. Pour configurer IP sur ces liaisons de données, il dispose de la souplesse et des options disponibles dans la zone globale.

Interfaces de liaison de données en mode IP exclusif

Le nom de liaison de données assigné exclusivement à une zone.

Pour afficher les liaisons de données assignées aux zones en cours d'exécution, vous pouvez utiliser la commande dladm show-link.

Pour plus d'informations, reportez-vous à la page de manuel dladm(1M).

Trafic IP entre zones en mode IP exclusif sur la même machine

Les paquets entre zones en mode IP exclusif ne sont pas soumis à un loopback interne. Tous les paquets sont envoyés à la liaison de données. Habituellement, cela signifie que les paquets sont envoyés sur une interface réseau. Ensuite, les périphériques, tels que les commutateurs Ethernet ou les routeurs IP peuvent transférer les paquets vers leur destination, éventuellement une autre zone sur la machine de l'expéditeur.

Solaris IP Filter dans les zones en mode IP exclusif

Les fonctionnalités de filtre IP dont vous disposez dans la zone globale sont également disponibles dans les zones en mode IP exclusif. La configuration du filtre IP dans la zone globale et dans les zones en mode IP exclusif est identique.

Multiacheminement sur réseau IP dans les zones en mode IP exclusif

Le multiacheminement sur réseau IP (IPMP, IP Network Multipathing) permet de détecter les défaillances des interfaces physiques et de basculer en transparence l'accès au réseau pour un système présentant plusieurs interfaces sur une même liaison IP. En plus de la tolérance aux pannes, IPMP permet également de répartir la charge des paquets pour les systèmes dotés de plusieurs interfaces.

La configuration de la liaison des données s'effectue dans la zone globale. Tout d'abord, vous assignez plusieurs interfaces de liaison de données à une zone à l'aide de la commande zonecfg. Vous devez joindre les différentes interfaces de liaisons de données au même sous-réseau IP. L'administrateur de zone peut alors configurer IPMP de l'intérieur de la zone en mode IP exclusif. Plusieurs groupes IPMP peuvent être assignés à chaque zone en mode IP exclusif, mais ces groupes IPMP ne peuvent pas être partagés avec d'autres zones.

Utilisation de périphériques dans les zones non globales

Pour empêcher toute interférence entre processus de zones différentes, le groupe de périphériques au sein d'une zone est limité. Par exemple, un processus dans une zone ne peut pas modifier la mémoire du noyau ni le contenu du disque racine. Ainsi, par défaut, seuls certains pseudopériphériques dont l'utilisation dans une zone ne comporte pas de risque sont disponibles. Vous pouvez rendre d'autres périphériques disponibles au sein d'une zone spécifique à l'aide de l'utilitaire zonecfg.

/dev et l'espace de nom /devices

Le système de fichiers devfs décrit dans la page de manuel devfs(7FS) permet au système Solaris de gérer /devices. Chaque élément de cet espace de nom représente le chemin physique d'un périphérique matériel, d'un pseudopériphérique ou d'un périphérique Nexus. L'espace de nom reflète l'arborescence des périphériques. Ainsi, le système de fichiers est constitué d'une arborescence de répertoires et de fichiers spécifiques aux périphériques.

L'arborescence de fichiers /dev, désormais partie intégrante du système de fichiers (racine) /, comporte des liaisons symboliques ou des chemins logiques vers les chemins physiques présents dans /devices. Les applications font référence au chemin logique vers un périphérique présent dans /dev. Le système de fichiers /dev est monté en loopback dans la zone selon un montage en lecture seule.

L'arborescence de fichiers /dev est géré par un système comportant les composants suivants :


Attention – Attention –

Les sous-systèmes qui dépendent de chemins /devices ne peuvent pas s'exécuter dans les zones non globales avant l'établissement des chemins /dev.


Périphérique d'utilisation exclusive

Vous souhaitez peut-être assigner des périphériques à des zones spécifiques. Si vous accordez à des utilisateurs sans privilèges l'accès à des périphériques en mode bloc, ceux-ci pourraient être utilisés pour occasionner des erreurs graves, des réinitialisations de bus ou autres effets négatifs. Avant toute assignation de ce genre, veillez à tenir compte des points suivants :

Gestion de pilote de périphérique

Dans une zone non globale, vous pouvez consulter la liste des modules du noyau chargés à l'aide de la commande modinfo décrite dans la page de manuel modinfo(1M).

La plupart des opérations de gestion du noyau, des périphériques et de la plate-forme ne peuvent pas s'effectuer au sein des zones non globales. En effet, la modification des configurations matérielles de plate-forme représente une violation du modèle de sécurité de zone. Quelques-unes de ces opérations sont indiquées ci-dessous :

Dysfonctionnement ou modification d'utilitaires dans les zones non globales

Dysfonctionnement d'utilitaires dans les zones non globales

Les utilitaires suivants ne fonctionnent pas dans une zone, car ils dépendent de périphériques habituellement indisponibles :

SPARC : Modification d'utilitaire pour une application dans les zones non globales

Vous pouvez exécuter l'utilitaire eeprom dans une zone pour afficher des paramètres. Il ne permet cependant pas de modifier les paramètres. Pour plus d'informations, reportez-vous aux pages de manuel eeprom(1M) et openprom(7D).

Exécution d'applications dans les zones non globales

En règle générale, vous pouvez exécuter toutes les applications dans les zones non globales. Toutefois, il est possible que les types d'applications suivants ne conviennent pas à cet environnement :

Utilisation de contrôles de ressources dans les zones non globales

Pour plus d'informations sur l'utilisation de la fonction de gestion de ressources dans une zone, reportez-vous également au chapitre décrivant la fonction dans la partie 1 du présent manuel.

Tous les attributs et contrôles de ressources décrits dans les chapitres sur la gestion de ressources peuvent être configurés dans le service d'annuaire LDAP, la carte NIS ou le fichier /etc/project. Les paramètres sont propres à chaque zone. Un projet exécuté de manière autonome dans différentes zones peut présenter des contrôles configurés de manière individuelle dans chaque zone. Par exemple, le projet A peut être paramétré project.cpu-shares=10 dans la zone globale et project.cpu-shares=5 dans une zone non globale. Plusieurs instances de rcapd peuvent être exécutées sur le système, les opérations de chacune d'elles étant toutefois circonscrites à la zone qui lui correspond.

Les attributs et contrôles de ressources permettant de contrôler les projets, tâches et processus d'une zone font l'objet d'exigences supplémentaires en ce qui concerne les pools et les contrôles de ressources à l'échelle de la zone.

Dans le cadre des zones non globales, la règle "une zone, un pool" s'applique. Plusieurs zones non globales peuvent partager les ressources d'un pool. Toutefois, les processus dans la zone globale peuvent être liés à tout pool par un processus disposant des privilèges suffisants. Le contrôleur de ressources poold s'exécute uniquement dans la zone globale contenant plusieurs pools sur lesquels il peut fonctionner. L'utilitaire poolstat affiche uniquement les informations relatives au pool associé à la zone non globale dans laquelle il s'exécute. La commande pooladm exécutée sans argument dans une zone non globale affiche uniquement les informations concernant le pool associé à la zone en question.

Les contrôles de ressources à l'échelle de la zone sont inopérants lorsqu'ils sont configurés dans le fichier project. Pour configurer un contrôle de ressources à l'échelle d'une zone, exécutez l'utilitaire zonecfg.

Ordonnanceur FSS sur système Solaris doté de zones

Cette section décrit l'utilisation de l'ordonnanceur FSS (Fair Share Scheduler) dans le cadre des zones.

Division de partage FSS dans une zone non globale

Les partages CPU FSS d'une zone sont hiérarchiques. L'administrateur global définit les partages de la zone globale et des zones non globales par le biais du contrôle de ressources à l'échelle de la zone zone.cpu-shares. Le contrôle de ressources project.cpu-shares peut ensuite être défini pour chaque projet au sein de la zone en question afin de sous-diviser plus avant les partages définis par le biais du contrôle à l'échelle de la zone.

Pour assigner des partages de zone à l'aide de la commande zonecfg, reportez-vous à la section Définition de zone.cpu-shares dans une zone globale. Pour plus d'informations sur project.cpu-shares, reportez-vous à la section Contrôles de ressources disponibles. Pour obtenir des exemples de procédures illustrant la définition de partages temporaires, reportez-vous à la section Utilisation de l'ordonnanceur FSS sur un système Solaris doté de zones.

Équilibre de partages entre zones

Pour assigner des partages FSS pour la zone globale et pour les zones non globales, exécutez zone.cpu-shares. Si FSS est l'ordonnanceur par défaut du système et que les partages ne sont pas assignés, chaque zone reçoit automatiquement un partage, y compris la zone globale. Si vous assignez deux partages par le biais de zone.cpu-shares à la zone non globale unique du système, vous définissez ainsi la proportion de CPU que cette zone reçoit par rapport à la zone globale. Dans ce cas, le rapport de CPU entre les deux zones est de 2:1.

Comptabilisation étendue sur un système Solaris doté de zones

Le sous-système de comptabilisation étendue effectue la collecte de données et produit des rapports pour le système entier (y compris les zones non globales) en cas d'exécution dans la zone globale. L'administrateur global peut également déterminer le mode d'utilisation des ressources par zone.

Le sous-système de comptabilisation étendue autorise différents fichiers et paramètres de comptabilité par zone dans le cadre de la comptabilisation des tâches et des processus. Vous pouvez attribuer aux enregistrements exacct le nom de zone EXD PROC ZONENAME pour les processus et EXD TASK ZONENAME pour les tâches. Les enregistrements comptables sont enregistrés dans les fichiers de comptabilité de la zone globale ainsi que dans les fichiers de comptabilité de chaque zone. Les enregistrements EXD TASK HOSTNAME, EXD PROC HOSTNAME et EXD HOSTNAME contiennent la valeur uname -n pour la zone dans laquelle le processus ou la tâche ont été exécutés au lieu du nom de nœud de la zone globale.

Pour plus d'informations sur la comptabilisation du flux IPQoS, reportez-vous au Chapitre 36, Utilisation de la comptabilisation des flux et de la collecte statistique (tâches) du Guide d’administration système : services IP.

Privilèges dans une zone non globale

Un sous-ensemble de privilèges limite les processus. La restriction au niveau des privilèges empêche une zone de réaliser des opérations qui pourraient avoir une incidence sur d'autres zones. L'ensemble de privilèges limite les possibilités d'action des utilisateurs disposant de privilèges au sein d'une zone. Pour afficher la liste des privilèges disponibles au sein d'une zone, exécutez l'utilitaire ppriv.

Le tableau suivant répertorie tous les privilèges Solaris et le statut qui leur est associé par rapport aux zones. Les privilèges facultatifs ne font pas partie de l'ensemble par défaut des privilèges. Vous pouvez toutefois les spécifier à l'aide de la propriété limitpriv. Les privilèges requis doivent être inclus dans l'ensemble des privilèges obtenu. Les privilèges interdits ne peuvent pas être inclus dans l'ensemble des privilèges obtenu.

La propriété limitpriv est disponible depuis la version Solaris 10 11/06.

Tableau 27–1 Statut des privilèges dans les zones

Privilège 

Statut 

Remarques 

cpc_cpu

FACULTATIF 

Accès à certains compteurs cpc(3CPC)

dtrace_proc

FACULTATIF 

Fournisseurs fasttrap et pid ; plockstat(1M)

dtrace_user

FACULTATIF 

Fournisseurs profile et syscall

Graphics_access

FACULTATIF 

Accès ioctl(2) à agpgart_io(7I)

Graphics_map

FACULTATIF 

Accès mmap(2) à agpgart_io(7I)

net_rawaccess

Facultatif dans les zones en mode IP partagé 

Par défaut dans les zones en mode IP exclusif 

Accès au paquet PF_INET/PF_INET6 brut

proc_clock_highres

FACULTATIF 

Utilisation d'horloges haute résolution 

proc_priocntl

FACULTATIF 

Contrôle de programmation ; priocntl(1)

sys_ipc_config

FACULTATIF 

Augmentation de la taille du tampon de file d'attente des messages IP 

sys_time

FACULTATIF 

Manipulation du temps système ; xntp(1M)

dtrace_kernel

Interdit 

Actuellement non pris en charge 

proc_zone

Interdit 

Actuellement non pris en charge 

sys_config

Interdit 

Actuellement non pris en charge 

sys_devices

Interdit 

Actuellement non pris en charge 

sys_linkdir

Interdit 

Actuellement non pris en charge 

sys_net_config

Interdit 

Actuellement non pris en charge 

sys_res_config

Interdit 

Actuellement non pris en charge 

sys_suser_compat

Interdit 

Actuellement non pris en charge 

proc_exec

Requis, par défaut 

Permet de démarrer init(1M )

proc_fork

Requis, par défaut 

Permet de démarrer init(1M )

sys_mount

Requis, par défaut 

Nécessaire dans le cadre du montage de systèmes de fichiers requis 

sys_ip_config

Requis, par défaut dans les zones en mode IP exclusif 

Interdit dans les zones en mode IP partagé 

Requis pour initialiser la zone et le réseau IP dans les zones en mode IP exclusif 

contract_event

Par défaut 

Utilisé par le système de fichiers de contrat 

contract_observer

Par défaut 

Observation de contrat quel que soit l'ID utilisateur 

file_chown

Par défaut 

Modification de la propriété des fichiers 

file_chown_self

Par défaut 

Modification apportée au propriétaire/groupe de ses propres fichiers 

file_dac_execute

Par défaut 

Accès d'exécution quel que soit le mode ou la liste ACL 

file_dac_read

Par défaut 

Accès en lecture quel que soit le mode ou la liste ACL 

file_dac_search

Par défaut 

Accès de recherche quel que soit le mode ou la liste ACL 

file_dac_write

Par défaut 

Accès en écriture quel que soit le mode ou la liste ACL 

file_link_any

Par défaut 

Accès de liaison quel que soit le propriétaire 

file_owner

Par défaut 

Autre accès quel que soit le propriétaire 

file_setid

Par défaut 

Modification des droits d'accès pour les fichiers setid, setgid et setuid

ipc_dac_read

Par défaut 

Accès en lecture IPC quel que soit le mode 

ipc_dac_owner

Par défaut 

Accès en écriture IPC quel que soit le mode 

ipc_owner

Par défaut 

Autre accès IPC quel que soit le mode 

net_icmpaccess

Par défaut 

Accès au paquet ICMP : ping(1M)

net_privaddr

Par défaut 

Liaison aux ports avec privilèges 

proc_audit

Par défaut 

Génération d'enregistrements d'audit 

proc_chroot

Par défaut 

Modification du répertoire racine

proc_info

Par défaut 

Examen de processus 

proc_lock_memory

Par défaut 

Verrouillage de mémoire ; shmctl(2) et mlock(3C)

Si l'administrateur système a assigné ce privilège à une zone non globale, envisagez également de configurer le contrôle de ressources zone.max-locked-memory pour empêcher la zone de verrouiller la totalité de la mémoire.

proc_owner

Par défaut 

Contrôle de processus quel que soit le propriétaire 

proc_session

Par défaut 

Contrôle de processus quelle que soit la session 

proc_setid

Par défaut 

Définition des ID d'utilisateur ou de groupe à convenance 

proc_taskid

Par défaut 

Assignation des ID de tâche à l'appelant 

sys_acct

Par défaut 

Gestion de la comptabilité 

sys_admin

Par défaut 

Tâches simples d'administration système 

sys_audit

Par défaut 

Gestion de l'audit 

sys_nfs

Par défaut 

Support client NFS 

sys_resource

Par défaut 

Manipulation de limite des ressources 

Le tableau suivant répertorie tous les privilèges Solaris Trusted Extensions ainsi que leur statut par rapport aux zones. Les privilèges facultatifs ne font pas partie de l'ensemble par défaut des privilèges. Vous pouvez toutefois les spécifier à l'aide de la propriété limitpriv.


Remarque –

Ces privilèges sont interprétés uniquement si le système est configuré avec Solaris Trusted Extensions.


Tableau 27–2 Statuts des privilèges Solaris Trusted Extensions dans les zones

Privilège Solaris Trusted Extensions 

Statut 

Remarques 

File_downgrade_sl

FACULTATIF 

Définissez l'étiquette de sensibilité d'un fichier ou d'un répertoire de manière à ce qu'elle ne domine pas l'étiquette de sensibilité existante. 

File_upgrade_sl

FACULTATIF 

Définissez l'étiquette de sensibilité d'un fichier ou d'un répertoire de manière à ce qu'elle domine l'étiquette de sensibilité existante. 

sys_trans_label

FACULTATIF 

Traduction des étiquettes non dominées par l'étiquette de sensibilité 

win_colormap

FACULTATIF 

Redéfinition des restrictions de la palette des couleurs 

win_config

FACULTATIF 

Configuration ou destruction des ressources retenues en permanence par le serveur X 

win_dac_read

FACULTATIF 

Lecture à partir de la ressource fenêtre qui n'appartient pas à l'ID utilisateur du client 

win_dac_write

FACULTATIF 

Création de la ressource fenêtre qui n'appartient pas à l'ID utilisateur du client ou écriture dans celle-ci 

win_devices

FACULTATIF 

Réalisation d'opérations sur les périphériques d'entrée 

win_dga

FACULTATIF 

Utilisation des extensions du protocole X d'accès direct aux graphiques ; privilèges de mémoire graphique requis 

win_downgrade_sl

FACULTATIF 

Remplacement de l'étiquette de sensibilité de la ressource fenêtre par une nouvelle étiquette dominée par l'étiquette existante 

win_fontpath

FACULTATIF 

Ajout d'un chemin de police supplémentaire 

win_mac_read

FACULTATIF 

Lecture à partir de la ressource fenêtre avec une étiquette dominant l'étiquette du client 

win_mac_write

FACULTATIF 

Écriture dans la ressource fenêtre avec une étiquette différente de l'étiquette du client 

win_selection

FACULTATIF 

Requête de déplacement de données sans intervention du confirmeur 

win_upgrade_sl

FACULTATIF 

Remplacement de l'étiquette de sensibilité de la ressource fenêtre par une nouvelle étiquette non dominée par l'étiquette existante 

net_bindmlp

Par défaut 

Autorisation de la liaison à un port multiniveau (MLP, multilevel port) 

net_mac_aware

Par défaut 

Autorisation de la lecture via NFS 

Pour modifier les privilèges dans une configuration de zone non globale, reportez-vous à la section Configuration, vérification et validation d'une zone.

Pour examiner les ensembles de privilèges, reportez-vous à la section Utilisation de l'utilitaire ppriv. Pour plus d'informations sur les privilèges, voir la page de manuel ppriv(1) et le System Administration Guide: Security Services.

Utilisation de l'architecture de sécurité IP dans les zones

L'architecture IPsec (Internet Protocol Security Architecture) offrant la protection de datagramme IP est décrite au Chapitre 19, Architecture IPsec (présentation) du Guide d’administration système : services IP. Le protocole IKE (Internet Key Exchange, échange de clés sur Internet) permet de gérer automatiquement les clés matérielles requises à l'authentification et au chiffrement.

Pour de plus amples informations, reportez-vous aux pages de manuel ipsecconf(1M) et ipseckey(1M).

Architecture de sécurité IP dans les zones en mode IP partagé

Vous pouvez utiliser l'architecture IPsec dans la zone globale. Toutefois, dans une zone non globale, l'architecture IPsec ne peut pas avoir recours au protocole IKE. Par conséquent, vous devez gérer les clés et la stratégie IPsec des zones non globales en utilisant le protocole IKE (Internet Key Exchange) dans la zone globale. Utilisez l'adresse source correspondant à la zone non globale que vous configurez.

Solaris 10 8/07 : architecture de sécurité IP dans les zones en mode IP exclusif

Vous pouvez utiliser l'architecture IPsec dans les zones en mode IP exclusif.

Utilisation du contrôle Solaris dans les zones

Le contrôle Solaris est décrit au Chapitre 28, Oracle Solaris Auditing (Overview) du System Administration Guide: Security Services. Les points à prendre en compte dans le cadre du contrôle au niveau des zones sont décrits aux sections suivantes :

Un enregistrement d'audit décrit un événement tel que la connexion à un système ou l'écriture dans un fichier. Il contient des jetons qui sont des jeux de données d'audit. Le jeton zonename permet de configurer le contrôle Solaris afin d'identifier les événements d'audit par zone et L'utilisation du jeton zonename permet de générer les informations suivantes :

Configuration du contrôle dans la zone globale

Les pistes de vérification Solaris sont configurées dans la zone globale. La stratégie d'audit est définie dans la zone globale et s'applique aux processus de toutes les zones. Les enregistrements d'audit peuvent porter le nom de la zone dans lequel l'événement se produit. Pour inclure des noms de zone dans les enregistrements d'audit, vous devez modifier le fichier /etc/security/audit_startup avant d'installer les zones non globales. La sélection de nom de zone respecte la casse.

Pour configurer le contrôle dans la zone globale de sorte à inclure tous les enregistrements d'audit de zone, ajoutez la ligne suivante au fichier /etc/security/audit_startup :


/usr/sbin/auditconfig -setpolicy +zonename

En tant qu'administrateur global dans la zone globale, exécutez l'utilitaire auditconfig :


global# auditconfig -setpolicy +zonename

Pour plus d'informations, reportez-vous aux pages de manuel audit_startup(1M) et auditconfig(1M), ainsi qu'à la section "Configuring Audit Files (Tasks)" du guide System Administration Guide: Security Services (en anglais).

Définition des critères d'audit utilisateur dans une zone non globale

À l'installation d'une zone non globale, les fichiers audit_control et audit_user de la zone globale sont copiés dans le répertoire /etc/security de cette zone. Vous devrez peut-être modifier ces fichiers pour refléter les besoins en audit de la zone.

Par exemple, vous pouvez configurer chaque zone pour qu'un contrôle différent soit appliqué aux divers utilisateurs. Pour définir différents critères de présélection par utilisateur, vous devez modifier les fichiers audit_control et audit_user. Si nécessaire, apportez des corrections au fichier audit_user dans la zone non globale pour refléter la base utilisateur de la zone. Le contrôle des utilisateurs pouvant être configuré différemment pour chaque zone, le fichier audit_user peut être vide.

Pour plus d'informations, reportez-vous aux pages de manuel audit_control(4) et audit_user(4).

Enregistrements d'audit pour une zone non globale spécifique

Vous pouvez catégoriser les enregistrements d'audit Solaris par zone en incluant le jeton zonename, comme illustré à la section Configuration du contrôle dans la zone globale La commande auditreduce permet alors de recueillir des enregistrements de diverses zones afin de créer des journaux spécifiques à une zone.

Pour plus d'informations, reportez-vous aux pages de manuel audit_startup(1M) et auditreduce(1M).

Fichiers Core dans les zones

Pour indiquer le nom et l'emplacement des fichiers Core générés par des processus prenant fin de manière anormale, exécutez la commande coreadm. Pour produire les chemins de fichier Core comportant le nom de zone de la zone dans laquelle le processus a été exécuté, spécifiez la variable %z. Le nom de chemin est relatif à un répertoire racine de la zone.

Pour plus d'informations, reportez-vous aux pages de manuel coreadm(1M) et core(4).

Exécution de DTrace dans une zone non globale

Vous pouvez exécuter dans une zone non globale les programmes DTrace pour lesquels seuls les privilèges dtrace_proc et dtrace_user sont nécessaires. Pour ajouter des privilèges à un ensemble de privilèges disponibles pour la zone non globale, utilisez la propriété zonecfg limitpriv. Pour obtenir des instructions à ce sujet, reportez-vous à la section Utilisation de DTrace.

Les fournisseurs pris en charge par dtrace_proc sont fasttrap et pid. Les fournisseurs pris en charge par dtrace_user sont profile et syscall. Certaines limites s'appliquent aux fournisseurs et actions DTrace dans la zone.

Pour plus d'informations, reportez-vous également à la section Privilèges dans une zone non globale.

À propos de la sauvegarde d'un système Solaris doté de zones

Vous pouvez effectuer des sauvegardes dans chaque zone non globale ou sauvegarder le système dans son intégralité à partir de la zone globale.

Sauvegarde des répertoires du système de fichiers en loopback

De nombreuses zones non globales partageant des fichiers avec la zone globale par le biais de montages en lecture seule de système de fichiers en loopback (habituellement /usr, /lib, /sbin et /platform), vous devez sauvegarder les répertoires lofs selon une méthode de sauvegarde de zone globale.


Attention – Attention –

Ne sauvegardez pas les systèmes de fichiers lofs partagés avec la zone globale dans des zones non globales. Si l'administrateur global tentait de restaurer les systèmes de fichiers lofs à partir d'une zone non globale, de graves problèmes pourraient se produire.


Sauvegarde du système à partir de la zone globale

Il est conseillé d'effectuer les sauvegardes à partir de la zone globale dans les cas suivants :

Sauvegarde individuelle de zones non globales sur le système

Il est conseillé d'effectuer des sauvegardes au sein des zones non globales dans les cas suivants :

Identification des éléments à sauvegarder dans les zones non globales

Vous pouvez sauvegarder l'intégralité du contenu d'une zone non globale. En raison des rares modifications apportées à la configuration d'une zone, vous pouvez aussi sauvegarder les données d'application uniquement.

Sauvegarde des données d'application uniquement

Si les données d'application sont conservées dans un emplacement spécifique du système de fichiers, vous opterez peut-être pour des sauvegardes régulières de ces données uniquement. En raison de la moindre fréquence des modifications qui lui sont apportées, le système de fichiers racine de la zone ne requiert pas de sauvegardes aussi nombreuses.

Vous devez déterminer l'emplacement des fichiers de l'application. Les emplacements de stockage des fichiers sont les suivants :

En supposant que l'administrateur d'application connaisse l'emplacement de stockage des données, vous pouvez éventuellement créer un système présentant un répertoire accessible en écriture par zone disponible pour chaque zone. Les zones peuvent alors y stocker leurs propres sauvegardes et l'administrateur global peut désigner ce répertoire comme l'un des emplacements sur le système à sauvegarder.

Opérations générales de sauvegarde de base de données

Si les données d'application de base de données ne figurent pas dans leur propre répertoire, les règles suivantes s'appliquent :

Sauvegardes sur bande

À leur convenance, les zones non globales peuvent prendre un instantané de leurs systèmes de fichiers privés lorsque l'application se trouve temporairement en mode quiescence. La zone globale peut ultérieurement sauvegarder chaque instantané et les placer sur bande après la reprise du service de l'application.

Cette méthode présente les avantages suivants :

À propos de la restauration de zones non globales

Dans le cas de restaurations à partir de sauvegardes réalisées dans la zone globale, l'administrateur global peut réinstaller les zones concernées, puis restaurer les fichiers leur appartenant. Pour cela, les conditions suivantes doivent s'appliquer :

Dans le cas contraire, la restauration pourrait écraser certains fichiers requérant une fusion manuelle.

Par exemple, une fusion manuelle de fichiers s'impose lorsqu'un patch a été appliqué à une zone globale entre la sauvegarde et la restauration de la zone non globale. Dans ce cas, soyez particulièrement vigilant lorsque vous restaurez les fichiers sauvegardés d'une zone. En effet, il est possible qu'un fichier sauvegardé ne soit pas compatible avec la zone récemment installée et créée après l'application des patchs à la zone globale. Dans une telle situation, vous devez examiner les fichiers un par un et les comparer avec les copies figurant dans la zone que vous venez d'installer. En règle générale, vous constaterez que vous pouvez copier le fichier directement, mais il arrive que vous deviez fusionner les modifications initiales apportées au fichier dans la copie que vous venez d'installer et à laquelle vous avez appliqué des patchs dans la zone.


Remarque –

En cas de perte de tous les systèmes de fichiers de la zone globale, la restauration de l'intégralité de la zone globale inclut les zones non globales, à condition que les systèmes de fichiers racine de chacune des zones non globales aient également été sauvegardés.


Commandes utilisées dans un système Solaris doté de zones

Les commandes répertoriées dans le Tableau 27–3 constituent l'interface d'administration principale de l'utilitaire de zones.

Tableau 27–3 Commandes d'administration de zones

Aide-mémoire des commandes 

Description 

zlogin(1)

Connexion à une zone non globale 

zonename(1)

Impression du nom de la zone actuelle 

zoneadm(1M)

Administration de zones au sein d'un système 

zonecfg(1M)

Définition d'une configuration de zone 

getzoneid(3C)

Mappage du nom et de l'ID de zone 

zones(5)

Description de la fonction de zones 

zcons(7D)

Pilote de périphérique de console de zone 

Le démon zoneadmd est le processus principal de gestion de la plate-forme virtuelle de la zone. Pour plus d'informations sur le démon zoneadmd reportez-vous à la page de manuel zoneadmd(1M). Le démon ne constitue pas une interface de programmation.

Les commandes répertoriées dans le tableau suivant sont utilisées avec le démon d'allocation restrictive.

Tableau 27–4 Commandes utilisées avec rcapd

Aide-mémoire des commandes 

Description 

rcapstat(1)

Gère l'utilisation des ressources des projets faisant l'objet d'une restriction de ressources . 

rcapadm(1M)

Configure le démon d'allocation restrictive, affiche l'état actuel du démon s'il a été configuré et active ou désactive la limitation des ressources. Également utilisé pour définir une limitation temporaire de mémoire. 

rcapd(1M)

Démon d'allocation restrictive des ressources. 

Les commandes répertoriées dans le tableau suivant ont été modifiées pour être utilisées dans un système Solaris doté de zones. Elles disposent d'options spécifiques aux zones ou présentent les informations de manière différente. Elles sont répertoriées par section de page de manuel.

Tableau 27–5 Commandes modifiées pour une utilisation dans un système Solaris doté de zones

Aide-mémoire des commandes 

Description 

ipcrm(1)

Ajout de l'option de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale.

ipcs(1)

Ajout de l'option de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale.

pgrep(1)

Ajout de l'option de liste d'ID de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale.

ppriv(1)

Ajout de l'expression zone pour une utilisation conjointe avec l'option -l afin de répertorier tous les privilèges disponibles dans la zone active. L'option -v après zone permet également d'obtenir une sortie détaillée.

priocntl(1)

L'utilisation conjointe de l'ID de zone avec liste d'ID et -i type d'ID permet de spécifier des processus. La commande priocntl -i ID de zone permet de déplacer des processus en cours d'exécution vers une autre classe de programmation au sein d'une zone non globale.

proc(1)

Ajout de l'option -z zone à ptree uniquement. Cette option n'est utile que si la commande est exécutée dans la zone globale.

ps(1)

Ajout de nom de zone et ID de zone à la liste des noms de format reconnus utilisés avec l'option -o.

Ajout de -z liste de zones afin de répertorier uniquement les processus dans les zones spécifiées. Pour spécifier une zone, vous pouvez utiliser un nom ou un identificateur (ID). Cette option n'est utile que si la commande est exécutée dans la zone globale.

Ajout de -Z pour imprimer le nom de la zone associée au processus. Le nom est imprimé sous l'en-tête de colonne supplémentaire ZONE.

renice(1)

Ajout de ID de zone à la liste des arguments valides utilisés avec l'option -i.

sar(1)

Si elles sont exécutées dans une zone non globale dans laquelle la fonction de pools est désactivée, les options -b, -c -g, -m, - p, -u, -w, et -y affiche des valeurs uniquement pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée.

auditconfig(1M)

Ajout du jeton nom de zone.

auditreduce(1M)

Ajout de l'option -z nom de zone. Ajout de la possibilité d'obtenir un journal d'audit d'une zone.

coreadm(1M)

Ajout de la variable %z permettant d'identifier la zone dans laquelle le processus a été exécuté.

df(1M)

Ajout de l'option -Z pour afficher les montages dans toutes les zones visibles.

ifconfig(1M)

Ajout de l'option zone pour l'utilisation de la zone globale et de l'option -zone nom de zone pour l'application à une zone non globale.

iostat(1M)

Si cette commande est exécutée dans une zone non globale où la fonction de pool est activée, les informations ne sont fournies que pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. 

kstat(1M)

Si cette commande est exécutée dans la zone globale, les kstat s'affichent pour toutes les zones. Si elle est exécutée dans une zone non globale, seules les kstat avec un ID de zone correspondant s'affichent.

mpstat(1M)

Si cette commande est exécutée dans une zone non globale dans laquelle la fonction de pools est activée, elle affiche uniquement les lignes des processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. 

ndd(1M)

Lorsque cette commande est exécutée dans la zone globale, elle affiche des informations sur toutes les zones. ndd sur les modules TCP/IP dans une zone en mode IP exclusif affiche uniquement les informations relatives à cette zone.

netstat(1M)

Affiche les informations relatives à la zone active uniquement. 

nfsstat(1M)

Affiche les statistiques sur la zone active uniquement. 

poolbind(1M)

Ajout de la liste ID de zone. Pour des informations sur l'utilisation des zones avec des pools de ressources, reportez-vous également à la section Pools de ressources utilisés dans les zones.

prstat(1M)

Ajout de l'option de liste d'ID de zone -z. Ajout de l'option -Z également.

Si cette commande est exécutée dans une zone non globale dans laquelle la fonction de pools est activée, le pourcentage de temps CPU récent utilisé par le processus s'affiche uniquement pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. 

La sortie des options -a, -t, -T, - J et -Z affiche une colonne SWAP, au lieu d'une colonne SIZE. indiquant le swap total consommé par les montages tmpfs et les processus de la zone. Cette valeur permet de contrôler le swap réservé par chaque zone, que vous pouvez utiliser pour choisir un paramètre zone.max-swap raisonnable.

psrinfo(1M)

Lorsque cette commande est exécutée dans une zone non globale, seules les informations sur les processeurs visibles pour la zone s'affichent. 

traceroute(1M)

Modification d'utilisation. Lorsque cette commande est spécifiée au sein d'une zone non globale, l'option -F n'a aucun effet, car l'élément "don't fragment" est défini en permanence.

vmstat(1M)

Lorsque cette commande est exécutée dans une zone non globale dans laquelle la fonction de pools est activée, les statistiques sont générées uniquement pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. S'applique à la sortie de l'option -p et des champs de rapport page, faults et cpu.

auditon(2)

Ajout de AUDIT_ZONENAME pour générer un jeton ID de zone avec chaque enregistrement d'audit.

priocntl(2)

Ajout de l'argument P_ZONEID ID.

processor_info(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

p_online(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

pset_bind(2)

Ajout de P_ZONEID en tant que type d'ID. Ajout de zone aux choix possibles pour la spécification P_MYID. Ajout de P_ZONEID à la liste de types d'ID dans la description d'erreur EINVAL.

pset_info(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

pset_list(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

pset_setattr(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

sysinfo(2)

Modification de PRIV_SYS_CONFIG en PRIV_SYS_ADMIN.

umount(2)

ENOENT est renvoyé si le fichier indiqué par fichier n'est pas un chemin absolu.

getloadavg(3C)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, le comportement équivaut à un appel avec un psetid de PS_MYID.

getpriority(3C)

Ajout d'ID de zone aux processus cibles pouvant être spécifiés. Ajout d'ID de zone à la description d'erreur EINVAL.

priv_str_to_set(3C)

Ajout de la chaîne "zone" pour le groupe de tous les privilèges disponibles au sein de la zone du programme appelant. 

pset_getloadavg(3C)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

sysconf(3C)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, sysconf(_SC_NPROCESSORS_CONF) et sysconf(_SC_NPROCESSORS_ONLN) renvoient le nombre des processeurs dans le groupe de processeurs du pool auquel la zone est liée.

ucred_get(3C)

Ajout de la fonction ucred_getzoneid()qui renvoie l'ID de zone du processus ou la valeur -1 si l'ID de zone n'est pas disponible.

core(4)

Ajout de n_type: NT_ZONENAME. Cette entrée contient une chaîne indiquant le nom de la zone dans laquelle le processus était exécuté.

pkginfo(4)

Pour aider les zones, cette commande fournit désormais des paramètres facultatifs et une variable d'environnement. 

proc(4)

Ajout de capacité pour l'obtention d'informations relatives aux processus en cours d'exécution dans les zones. 

audit_syslog(5)

Ajout du champ in<nom de zone > utilisé lorsque la stratégie d'audit zonename est définie.

privileges(5)

Ajout de PRIV_PROC_ZONE qui permet à un processus de suivre ou d'envoyer des signaux à des processus d'autres zones. Voir zones(5).

if_tcp(7P)

Ajout d'appels ioctl() de zone.

cmn_err(9F)

Ajout d'un paramètre de zone. 

ddi_cred(9F)

Ajout de crgetzoneid(), qui renvoie l'ID de zone à partir des informations d'identification de l'utilisateur signalées par cr.

Chapitre 28 Administration de zones Solaris (tâches)

Ce chapitre traite des tâches d'administration générales et contient des exemples d'utilisation.

Nouveautés

Cette section répertorie les nouvelles fonctions du produit et identifie les améliorations apportées à la documentation.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

Nouveautés du chapitre relatives à Solaris 10 1/06

Une procédure d'accès au média a été ajoutée. Voir Ajout de l'accès aux CD ou DVD au sein d'une zone non globale.

Des procédures de sauvegarde et de restauration de fichiers dans les zones ont été ajoutés. Voir les sections Sauvegarde d'un système Solaris doté de zones et Restauration d'une zone non globale.

Nouveautés du chapitre relatives à Solaris 10 6/06

De nouvelles procédures ont été ajoutées. Voir les sections Montage d'un système de fichiers dans une zone non globale à partir de la zone globale et Ajout d'un répertoire en écriture sous /usr dans une zone non globale.

Nouveautés du chapitre relatives à Solaris 10 8/07

De nouvelles procédures ont été ajoutées. Voir Utilisation de DTrace, Solaris 10 8/07 : gestion des liaisons de données dans les zones non globales en mode IP exclusif, Vérification du statut des services SMF dans une zone non globale.

Utilisation de l'utilitaire ppriv

L'utilitaire ppriv permet d'afficher les privilèges de la zone.

ProcedureListe des privilèges Solaris dans la zone globale

Répertoriez les privilèges disponibles sur le système à l'aide de l'utilitaire ppriv et de l'option -l.

  1. À l'invite, tapez ppriv -l zone pour répertorier l'ensemble des privilèges disponibles dans la zone.


    global# ppriv -l zone
    

    Des informations semblables à ce qui suit s'affichent.


    contract_event
    contract_observer
    cpc_cpu
    .
    .
    .

ProcedureListe de l'ensemble des privilèges de la zone non globale

Répertoriez les privilèges de la zone à l'aide de l'utilitaire ppriv, conjointement avec l'option -l et l'expression zone.

  1. Connectez-vous à une zone non globale. Dans cet exemple, la zone s'appelle my-zone.

  2. À l'invite, tapez ppriv -l zone pour répertorier l'ensemble des privilèges disponibles dans la zone.


    my-zone# ppriv -l zone
    

    Des informations semblables à ce qui suit s'affichent.


    contract_event
    contract_observer
    file_chown
    
    .
    .
    .

ProcedureListe détaillée des privilèges de la zone non globale

Répertoriez les privilèges de la zone à l'aide de l'utilitaire ppriv, conjointement avec l'option -l, l'expression zone et l'option -v.

  1. Connectez-vous à une zone non globale. Dans cet exemple, la zone s'appelle my-zone.

  2. À l'invite, tapez ppriv -l -v zone pour répertorier les privilèges disponibles dans la zone, accompagnés d'une description.


    my-zone# ppriv -l -v zone
    

    Des informations semblables à ce qui suit s'affichent.


    contract_event
            Allows a process to request critical events without limitation.
            Allows a process to request reliable delivery of all events on
            any event queue.
    contract_observer
            Allows a process to observe contract events generated by
            contracts created and owned by users other than the process's
            effective user ID.
            Allows a process to open contract event endpoints belonging to
            contracts created and owned by users other than the process's
            effective user ID.
    file_chown
            Allows a process to change a file's owner user ID.
            Allows a process to change a file's group ID to one other than
            the process' effective group ID or one of the process'
            supplemental group IDs.
    .
    .
    .

Utilisation de DTrace dans une zone non globale

Pour utiliser la fonction DTrace, suivez la procédure décrite à la section Exécution de DTrace dans une zone non globale.

ProcedureUtilisation de DTrace

  1. Exécutez la propriété zonecfg limitpriv pour ajouter les privilèges dtrace_proc et dtrace_user.


    global# zonecfg -z my-zone
    zonecfg:my-zone> set limitpriv="default,dtrace_proc,dtrace_user"
    zonecfg:my-zone> exit
    

    Remarque –

    Selon les exigences requises, vous pouvez ajouter l'un des privilèges ou les deux privilèges.


  2. Initialisez la zone.


    global# zoneadm -z my-zone boot
    
  3. Connexion à la zone


    global# zlogin my-zone
    
  4. Exécutez le programme DTrace.


    my-zone# dtrace -l
    

Vérification du statut des services SMF dans une zone non globale

Vérifiez le statut des services SMF dans une zone non globale native à l'aide de la commande zlogin.

ProcedureVérification du statut des services SMF à partir de la ligne de commande

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. À partir de la ligne de commande, tapez les informations suivantes pour afficher tous les services, y compris les services désactivés.


    global# zlogin my-zone svcs -a
    
Voir aussi

Pour plus d'informations, reportez-vous au Chapitre 22Connexion à une zone non globale (tâches) et à la page de manuel svcs(1).

ProcedureVérification du statut des services SMF au sein d'une zone

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Connexion à la zone


    global# zlogin my-zone
    
  3. Exécutez la commande svcs avec l'option -a pour afficher tous les services, y compris les services désactivés.


    my-zone# svcs -a
    
Voir aussi

Pour plus d'informations, reportez-vous au Chapitre 22Connexion à une zone non globale (tâches) et à la page de manuel svcs(1).

Montage de systèmes de fichiers dans des zones non globales en cours d'exécution

Vous pouvez monter des systèmes de fichiers dans une zone non globale en cours d'exécution. Cette section traite des procédures suivantes.

ProcedureImportation de périphériques bruts et de périphériques en mode bloc à l'aide de la commande zonecfg

Pour cette procédure, vous devez exécuter le pilote de fichier lofi chargé de l'exportation d'un fichier en tant que périphérique en mode bloc.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Remplacez les répertoires par /usr/tmp.


    global# cd /usr/tmp
    
  3. Créez un nouveau système de fichiers UFS.


    global# mkfile 10m fsfile
    
  4. Joignez le fichier en tant que périphérique en mode bloc.

    Le premier emplacement disponible (/dev/lofi/1 si aucun autre périphérique lofi n'a été créé) est utilisé.


    global# lofiadm -a `pwd`/fsfile
    

    Vous obtenez également le périphérique en mode caractère requis.

  5. Importez les périphériques dans la zone my-zone.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/rlofi/1
    zonecfg:my-zone:device> end
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/lofi/1
    zonecfg:my-zone:device> end
    
  6. Réinitialisez la zone.


    global# zoneadm -z my-zone boot
    
  7. Connectez-vous à la zone et vérifiez que les périphériques ont été importés correctement.


    my-zone# ls  -l /dev/*lofi/*
    

    Des informations semblables à ce qui suit s'affichent.


    brw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/lofi/1
    crw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/rlofi/1
Voir aussi

Pour plus d'informations, reportez-vous aux pages de manuel lofiadm(1M) et lofi(7D).

ProcedureMontage manuel du système de fichiers

Pour effectuer cette procédure, vous devez être administrateur de zone et posséder le profil Gestion de zone. Pour cette procédure, vous exécutez la commande newfs qui est décrite dans la page de manuel newfs(1M).

  1. Devenez superutilisateur ou vérifiez que votre liste de profils contient le profil Gestion de zone.

  2. Dans la zone my-zone, créez un système de fichiers sur le disque.


    my-zone# newfs /dev/lofi/1
    
  3. À l'invite, répondez oui.


    newfs: construct a new file system /dev/rlofi/1: (y/n)? y
    

    Des informations semblables à ce qui suit s'affichent.


    /dev/rlofi/1:   20468 sectors in 34 cylinders of 1 tracks, 602 sectors
            10.0MB in 3 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 9664, 19296,
  4. Recherchez les erreurs dans le système de fichiers.


    my-zone# fsck -F ufs /dev/rlofi/1
    

    Des informations semblables à ce qui suit s'affichent.


    ** /dev/rlofi/1
    ** Last Mounted on 
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    ** Phase 3 - Check Connectivity
    ** Phase 4 - Check Reference Counts
    ** Phase 5 - Check Cyl groups
    2 files, 9 used, 9320 free (16 frags, 1163 blocks, 0.2% fragmentation)
  5. Montez le système de fichiers.


    my-zone# mount -F ufs /dev/lofi/1 /mnt
    
  6. Vérifiez le montage.


    my-zone# grep /mnt /etc/mnttab
    

    Des informations semblables à ce qui suit s'affichent.


    /dev/lofi/1     /mnt    ufs
    rw,suid,intr,largefiles,xattr,onerror=panic,zone=foo,dev=24c0001
    1073503869

ProcedurePlacement d'un système de fichiers dans /etc/vfstab pour un montage lors de l'initialisation de la zone

Suivez cette procédure pour monter le périphérique en mode bloc /dev/lofi/1 sur le chemin de système de fichiers /mnt. Le périphérique en mode bloc contient un système de fichiers UFS. Vous utilisez les options suivantes :

  1. Devenez superutilisateur ou vérifiez que votre liste de profils contient le profil Gestion de zone.

  2. Dans la zone my-zone, ajoutez la ligne suivante au fichier /etc/vfstab :


    /dev/lofi/1 /dev/rlofi/1  /mnt   ufs  2  yes logging

ProcedureMontage d'un système de fichiers dans une zone non globale à partir de la zone globale

Partez du principe qu'une zone présente le zonepath /export/home/my-zone . Vous souhaitez monter le disque /dev/lofi/1 dans /mnt dans la zone non globale, à partir de la zone globale.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Pour monter le disque dans /mnt dans la zone non globale, tapez les informations suivantes à partir de la zone globale.


    global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt
    
Voir aussi

Pour plus d'informations sur la commande lofi, reportez-vous aux pages de manuel lofiadm(1M) et lofi(7D).

Ajout d'un accès à une zone non globale pour des systèmes de fichiers spécifiques d'une zone globale

ProcedureAjout de l'accès aux CD ou DVD au sein d'une zone non globale

Vous pouvez ajouter l'accès en lecture seule aux CD ou DVD au sein d'une zone non globale. Le système de fichiers de gestion du volume permet de monter le média au sein de la zone globale. Un CD ou DVD permet alors d'installer un produit dans la zone non globale. Pour cette procédure, le nom du CD est jes_05q4_dvd.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Vérifiez que le système de fichiers de gestion du volume est en cours d'exécution dans la zone globale.


    global# svcs volfs
    STATE          STIME    FMRI
    online         Sep_29   svc:/system/filesystem/volfs:default
  3. Le cas échéant, si le système de fichiers de gestion du volume ne s'exécute pas dans la zone non globale, démarrez-le.


    global# svcadm volfs enable
    
  4. Insérez le support.

  5. Vérifiez la présence d'un support dans le lecteur.


    global# volcheck
    
  6. Vérifiez si le DVD est monté automatiquement.


    global# ls /cdrom
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    cdrom   cdrom1   jes_05q4_dvd
  7. Montez en loopback le système de fichiers avec les options ro,nodevices (lecture seule et aucun périphérique) dans la zone non globale.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/cdrom
    zonecfg:my-zone:fs> set special=/cdrom
    zonecfg:my-zone:fs> set type=lofs
    zonecfg:my-zone:fs> add options [ro,nodevices]
    zonecfg:my-zone:fs> end
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  8. Réinitialisez la zone non globale.


    global# zoneadm -z my-zone reboot
    
  9. Vérifiez le statut à l'aide de la commande zoneadm list et de l'option -v.


    global# zoneadm list -v
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     1  my-zone  running      /export/home/my-zone           native     shared
  10. Connectez-vous à la zone non globale.


    global# zlogin my-zone
    
  11. Vérifiez le montage DVD-ROM.


    my-zone# ls /cdrom
    

    Des informations semblables à ce qui suit s'affichent.


    cdrom   cdrom1   jes_05q4_dvd
  12. Installez le produit en suivant les instructions du guide d'installation correspondant.

  13. Quittez la zone non globale.


    my-zone# exit
    

    Astuce –

    Si vous le souhaitez, vous pouvez conserver le système de fichiers /cdrom dans la zone non globale. Le montage reflète toujours le contenu actuel du lecteur de CD-ROM ou un répertoire vide si le lecteur l'est aussi.


  14. Le cas échéant, suivez la procédure ci-dessous pour supprimer le système de fichiers /cdrom de la zone non globale.


    global# zonecfg -z my-zone
    zonecfg:my-zone> remove fs dir=/cdrom
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    

ProcedureAjout d'un répertoire en écriture sous /usr dans une zone non globale

Dans une zone racine fragmentée, /usr est monté en lecture seule à partir de la zone globale. Suivez la procédure ci-dessous pour ajouter un répertoire en écriture, tel que /usr/local, sous /usr dans la zone.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Créez le répertoire /usr/local dans la zone globale.


    global# mkdir -p /usr/local
    
  3. Indiquez un répertoire dans la zone globale qui servira de sauvegarde de secours au répertoire /usr/local de la zone.


    global# mkdir -p /storage/local/my-zone
    
  4. Modifiez la configuration de la zone my-zone.


    global# zonecfg -z my-zone
    
  5. Ajoutez le système de fichiers monté en loopback.


    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/usr/local
            zonecfg:my-zone:fs> set special=/storage/local/my-zone
            zonecfg:my-zone:fs> set type=lofs
            zonecfg:my-zone:fs> end
            zonecfg:my-zone> commit
            zonecfg:my-zone> exit
    
  6. Initialisez la zone.

ProcedureExportation de répertoires de base de la zone globale dans une zone non globale

Pour exporter des répertoires de base ou d'autres systèmes de fichiers de la zone globale vers les zones non globales d'un même système, suivez la procédure ci-dessous.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Ajoutez le système de fichiers monté en loopback.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add fs
    zonecfg:my-zone:fs> set dir=/export/home
    zonecfg:my-zone:fs> set special=/export/home
    zonecfg:my-zone:fs> set type=lofs
    zonecfg:my-zone:fs> set options=nodevices
    zonecfg:my-zone:fs> end
    zonecfg:my-zone> commit
    zonecfg:my-zone> exit
    
  3. Ajoutez la ligne suivante au fichier /etc/auto_home de la zone :


    $HOST:/export/home/&

Utilisation du multiacheminement sur réseau IP dans un système Solaris doté de zones

ProcedureSolaris 10 8/07 : utilisation du multiachement sur réseau IP dans les zones non globales en mode IP exclusif.

La configuration du multiacheminement sur réseau IP (IPMP) est identique dans les zones en mode IP exclusif et dans la zone globale.

Vous pouvez configurer une ou plusieurs interfaces physiques dans un groupe IPMP. Une fois la configuration IPMP terminée, le système contrôle automatiquement les interfaces du groupe IPMP. En cas de défaillance ou de retrait pour maintenance d'une interface du groupe, IPMP migre (ou bascule) automatiquement les adresses IP erronées de l'interface. Le destinataire de ces adresses est une interface en fonctionnement au sein du groupe IPMP de l'interface défaillante. La fonction de basculement IPMP permet de conserver la connectivité et empêche toute perturbation des connexions existantes. En outre, IPMP répartit le trafic réseau sur l'ensemble des interfaces du groupe IPMP, ce qui permet d'améliorer les performances réseau globales. On parle de répartition de charge.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Configurez les groupes IPMP selon les instructions décrites à la section Configuration de groupes IPMP du Guide d’administration système : services IP.

ProcedureExtension de la fonction IPMP aux zones non globales en mode IP partagé

Suivez la procédure ci-dessous pour configurer IPMP (multiacheminement sur réseau IP) dans la zone globale et étendre la fonction IPMP aux zones non globales.

Vous devez associer chaque adresse ou interface logique à une zone non globale lors de la configuration de la zone. Pour obtenir des instructions, reportez-vous aux sections Utilisation de la commande zonecfg et Configuration d'une zone.

Cette procédure permet de réaliser les opérations suivantes :

Effectuez l'association dans la zone en cours d'exécution à l'aide de la commande ifconfig. Voir la section Interfaces réseau en mode IP partagé et la page de manuel ifconfig(1M).

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Dans la zone globale, configurez les groupes IPMP selon la procédure décrite à la section Configuration de groupes IPMP du Guide d’administration système : services IP.

  3. Configurez la zone à l'aide de la commande zonecfg. Lorsque vous configurez la ressource net et ajoutez l'adresse 192.168.0.1, l'interface physique bge0 et un paramètre de routeur par défaut à la zone ma-zone :


    zonecfg:my-zone> add net
    zonecfg:my-zone:net> set address=192.168.0.1
    zonecfg:my-zone:net> set physical=bge0
    zonecfg:my-zone:net> set defrouter=10.0.0.1
    zonecfg:my-zone:net> end
    

    Seule l'interface physique bge0 est visible dans la zone non globale my-zone.

En cas d'échec ultérieur de bge0

Si bge0 échoue par la suite et que les adresses de données bge0 basculent vers hme0 dans la zone globale, les adresses ma-zone migrent elles aussi.

Si l'adresse 192.168.0.1 se déplace vers hme0, hme0 uniquement est visible dans la zone non globale ma-zone. Cette carte est associée à l'adresse 192.168.0.1 et bge0 n'est plus visible.

Solaris 10 8/07 : gestion des liaisons de données dans les zones non globales en mode IP exclusif

La commande dladm permet d'administrer les liaisons de données à partir de la zone globale.

ProcedureUtilisation de la commande dladm show-linkprop

La commande dladm peut être utilisée avec la sous-commande show-linkprop pour afficher l'assignation de liaisons de données aux zones en mode IP exclusif en cours d'exécution.

Seul l'administrateur global peut gérer les liaisons de données.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Affichez l'assignation des liaisons de données dans le système.


    global# dladm show-linkprop
    

Exemple 28–1 Utilisation de la commande dladm avec la sous-commande show-linkprop

  1. Dans le premier écran, la zone 49bge à laquelle est assignée bge0 n'a pas été initialisée.


    global# dladm show-linkprop
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            --             --             --
    ath0         channel         6              --             --
    ath0         powermode       ?              off            off,fast,max
    ath0         radio           ?              on             on,off
    ath0         speed           11             -- 
    1,2,5.5,6,9,11,12,18,24,36,48,54
    ath0         zone            --             --             --
  2. La zone 49bge est initialisée.


    global# zoneadm -z 49bge boot
    
  3. La commande dladm show-linkprop est à nouveau exécutée. La liaison bge0 est maintenant assignée à 49bge.


    global# dladm show-linkprop
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            49bge          --             --
    ath0         channel         6              --             --
    ath0         powermode       ?              off            off,fast,max
    ath0         radio           ?              on             on,off
    ath0         speed           11             -- 
    1,2,5.5,6,9,11,12,18,24,36,48,54
    ath0         zone            --             --             --

ProcedureUtilisation de la commande dladm set-linkprop

La commande dladm associée à la sous-commande set-linkprop permet d'assigner temporairement des liaisons de données aux zones en mode IP exclusif en cours d'exécution. La commande zonecfg permet d'assigner des liaisons permanentes.

Seul l'administrateur global peut gérer les liaisons de données.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Pour ajouter bge0 à une zone en cours d'exécution nommée excl, utilisez la commande dladm set-linkprop avec l'option -t.


    global# dladm set-linkprop -t -p zone=excl bge0
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            excl           --             --

    Astuce –

    L'option -p produit un affichage dans un format stable et analysable.


ProcedureUtilisation de la commande dladm reset-linkprop

La commande dladm associée à la sous-commande reset-linkprop permet d'annuler l'assignation de la liaison bge0.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Annulez l'assignation de zone du périphérique bge0 à l'aide de la commande dladm reset-linkprop et de l'option -t.


    global# dladm reset-linkprop -t -p zone=excl bge0
    LINK         PROPERTY        VALUE          DEFAULT        POSSIBLE
    bge0         zone            excl           --             --

    Astuce –

    L'option -p produit un affichage dans un format stable et analysable.


Erreurs fréquentes

Si la zone en cours d'exécution utilise le périphérique, la réassignation échoue et un message d'erreur s'affiche. Voir La zone en mode IP exclusif utilise un périphérique et entraîne l'échec de dladm reset-linkprop.

Utilisation de l'ordonnanceur FSS sur un système Solaris doté de zones

Les limites spécifiées à l'aide de la commande prctl ne sont pas persistantes. Elles perdent leur effet dès que vous réinitialisez le système. Pour définir des partages dans une zone à titre définitif, reportez-vous aux sections Configuration d'une zone et Définition de zone.cpu-shares dans une zone globale.

ProcedureDéfinition de partages FSS dans la zone globale à l'aide de la commande prctl

Par défaut, la zone globale reçoit un seul partage. Pour modifier l'allocation par défaut, suivez la procédure ci-dessous. Notez que vous devez rétablir les partages alloués à l'aide de la commande prctl à chaque réinitialisation du système.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Exécutez l'utilitaire prctl pour assigner deux partages à la zone globale :


    # prctl -n zone.cpu-shares -v 2 -r -i zone global
    
  3. Le cas échéant, tapez les informations suivantes pour vérifier le nombre de partages assignés à la zone globale :


    # prctl -n zone.cpu-shares -i zone global
    
Voir aussi

Pour plus d'informations sur l'utilitaire prctl, reportez-vous à la page de manuel prctl(1).

ProcedureModification dynamique de la valeur zone.cpu-shares dans une zone

Cette procédure peut être utilisée pour toutes les zones, pas seulement la zone globale.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour créer le rôle ou assigner le rôle à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration .

  2. Indiquez une nouvelle valeur pour cpu-shares à l'aide de la commande prctl.


    # prctl -n zone.cpu-shares -r -v value -i zone zonename
    

    idtype correspond soit au nom de zone soit à l'ID de zone. value est la nouvelle valeur.

Utilisation des profils de droits dans l'administration de zone

Cette section traite des tâches associées à l'utilisation des profils de droits dans les zones non globales.

ProcedureAssignation d'un profil de gestion de zone

Le profil de gestion de zone autorise un utilisateur à gérer toutes les zones non globales du système.

Pour exécuter la procédure ci-dessous, vous devez être administrateur global.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Créez un rôle comprenant le profil de droits de gestion de zone et assignez-le à un utilisateur.

Exemple : utilisation de shells de profil à l'aide de commandes de zone

Vous pouvez exécuter des commandes de zone dans un profil à l'aide du programme pfexec. Celui-ci exécute des commandes avec les attributs spécifiés par les profils de l'utilisateur dans la base de données exec_attr. Il est appelé par les shells de profil pfksh, pfcsh et pfsh.

Utilisez le programme pfexec pour vous connecter à une zone, par exemple my-zone.


machine$ pfexec zlogin my-zone

Sauvegarde d'un système Solaris doté de zones

Les procédures suivantes permettent de sauvegarder des fichiers dans des zones. N'oubliez pas de sauvegarder aussi les fichiers de configuration des zones.

ProcedureSauvegardes à l'aide de ufsdump

Vous pouvez réaliser des sauvegardes complètes ou incrémentielles à l'aide de la commande ufsdump. Cette procédure permet de sauvegarder la zone /export/my-zone vers /backup/my-zone.ufsdump, où my-zone est remplacé par le nom d'une zone du système. Le cas échéant, vous pouvez avoir un système de fichiers distinct, tel qu'un système de fichiers monté sur /backup, dans lequel conserver les sauvegardes.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Le cas échéant, arrêtez la zone pour éviter de créer des sauvegardes de systèmes de fichiers partagés.


    global# zlogin -S my-zone init 0
    
  3. Vérifiez le statut de la zone.


    global# zoneadm list -cv
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    ID  NAME     STATUS       PATH                           BRAND      IP
     0  global   running      /                              native     shared
     -  my-zone  installed    /export/home/my-zone           native     shared
  4. Effectuez la sauvegarde.


    global# ufsdump 0f /backup/my-zone.ufsdump /export/my-zone
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    DUMP: Date of this level 0 dump: Wed Aug 10 16:13:52 2005
    DUMP: Date of last level 0 dump: the epoch
    DUMP: Dumping /dev/rdsk/c0t0d0s0 (bird:/) to /backup/my-zone.ufsdump. 
    DUMP: Mapping (Pass I) [regular files]
    DUMP: Mapping (Pass II) [directories]
    DUMP: Writing 63 Kilobyte records
    DUMP: Estimated 363468 blocks (174.47MB).
    DUMP: Dumping (Pass III) [directories]
    DUMP: Dumping (Pass IV) [regular files]
    DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec
    DUMP: DUMP IS DONE
  5. Initialisez la zone.


    global# zoneadm -z my-zone boot
    

ProcedureCréation d'un instantané UFS à l'aide de la commande fssnap

La commande fssnap permet de créer une image temporaire d'un système de fichiers destiné aux opérations de sauvegarde.

Cette méthode offre une sauvegarde cohérente et sans défaut des fichiers de zone uniquement. Elle peut être appliquée lors de l'exécution des zones. Toutefois, il est conseillé de suspendre ou de contrôler les applications actives qui mettent à jour des fichiers au moment de la création de l'instantané. Une application qui mettrait à jour des fichiers lors de la création de l'instantané risquerait d'affecter l'état interne de ces fichiers. Ceux-ci pourraient alors présenter des troncations, des incohérences ou tout autre type d'instabilité.

Dans l'exemple de procédure ci-dessous, notez ce qui suit :

Avant de commencer

La sauvegarde de destination est /backup/my-zone.ufsdump. Vous devez créer le répertoire backup sous /.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Créez l'instantané.


    global# fssnap -o bs=/export /export/home
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    dev/fssnap/0
  3. Montez l'instantané.


    global# mount -o ro /dev/fssnap/0 /mnt
    
  4. Sauvegardez my-zone à partir de l'instantané.


    global# ufsdump 0f /backup/my-zone.ufsdump /mnt/my-zone
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    DUMP: Date of this level 0 dump: Thu Oct 06 15:13:07 2005
       DUMP: Date of last level 0 dump: the epoch
       DUMP: Dumping /dev/rfssnap/0 (pc2:/mnt) to /backup/my-zone.ufsdump.
       DUMP: Mapping (Pass I) [regular files]
       DUMP: Mapping (Pass II) [directories]
       DUMP: Writing 32 Kilobyte records
       DUMP: Estimated 176028 blocks (85.95MB).
       DUMP: Dumping (Pass III) [directories]
       DUMP: Dumping (Pass IV) [regular files]
       DUMP: 175614 blocks (85.75MB) on 1 volume at 2731 KB/sec
       DUMP: DUMP IS DONE
  5. Démontez l'instantané.


    global# umount /mnt
    
  6. Supprimez l'instantané.


    global# fssnap -d /dev/fssnap/0
    

    Sachez que l'instantané est également supprimé du système lors de la réinitialisation de ce dernier.

ProcedureRéalisation de sauvegardes à l'aide des commandes find et cpio

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Remplacez les répertoires par le répertoire racine.


    global# cd /
    
  3. Sauvegardez les fichiers my-zone qui ne sont pas montés en loopback dans /backup/my-zone.cpio.


    global# find export/my-zone -fstype lofs -prune -o -local
     | cpio -oc -O /backup/my-zone.cpio type as one line
    
  4. Vérifiez les résultats.


    global# ls -l backup/my-zone.cpio
    

    Des indications similaires à celles figurant ci-dessous s'affichent :


    -rwxr-xr-x   1 root     root     99680256 Aug 10 16:13 backup/my-zone.cpio

ProcedureImpression d'une copie d'une configuration de zone

Vous devez créer des fichiers de sauvegarde des configurations de zones non globales. Les sauvegardes vous permettront de recréer les zones plus tard, au besoin. Créez la copie de la configuration de la zone après vous être connecté à la zone pour la première fois et avoir répondu aux questions sysidtool. Pour illustrer le processus, une zone et un fichier de sauvegarde intitulés my-zone et my-zone.config respectivement sont utilisés au cours de cette procédure.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Imprimez la configuration de la zone my-zone dans un fichier nommé my-zone.config.


    global# zonecfg -z my-zone export > my-zone.config
    

Restauration d'une zone non globale

ProcedureRestauration d'une zone non globale

Au besoin, les fichiers de sauvegarde des configurations de zones non globales permettent de restaurer les zones non globales. Pour illustrer le processus, une zone et un fichier de sauvegarde intitulés my-zone et my-zone.config respectivement sont utilisés au cours de cette procédure.

  1. Devenez superutilisateur ou assumez le rôle d'administrateur principal.

    Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Indiquez que my-zone.config doit être utilisé comme fichier de commandes zonecfg afin de recréer la zone my-zone.


    global# zonecfg -z my-zone -f my-zone.config
    
  3. Installez la zone.


    global# zoneadm -z my-zone install
    
  4. Pour empêcher l'affichage des questions sysidtool à la connexion initiale de la zone, supprimez le fichier zonepath /root/etc/.UNCONFIGURED, par exemple :


    global# rm /export/home/my-zone/root/etc/.UNCONFIGURED
    
  5. Dans le cas de fichiers spécifiques à une zone, notamment des données d'application, effectuez la restauration (éventuellement, la fusion) manuellement à partir d'une sauvegarde dans le système de fichiers racine de la zone créée.

Chapitre 29 Mise à niveau d'un système Solaris 10 doté de zones non globales

Ce chapitre contient des informations sur la méthode de mise à niveau du système Solaris 10 vers une version plus récente si vous exécutez des zones Solaris. Il contient des liens vers les documents relatifs à l'installation Solaris.

Nouveautés du chapitre relatives à Solaris 10 8/07

Solaris Live Upgrade est désormais pris en charge sur les systèmes dotés de zones. zonepath ne peut pas résider sur un ZFS.

Nouveautés du chapitre relatives à Solaris 10 10/08

La prise en charge de Solaris Live Upgrade sur les systèmes dont zonepath réside sur un ZFS est disponible à partir de cette version. Les zones dont zonepath réside sur un ZFS ne peuvent utiliser que Solaris Live Upgrade pour mettre à niveau le système.

Vous pouvez vous servir de la fonction Solaris Live Upgrade pour faire migrer toutes les zones vers un système de fichiers racine ZFS. Une zone située sur un système de fichiers non partagé est automatiquement migrée lorsque le système de fichiers racine UFS est migré vers un système de fichiers racine ZFS. Si la zone est située sur un système de fichiers UFS partagé, vous devez mettre à niveau la zone de la même façon que dans les versions Solaris précédentes. Pour plus d'informations, reportez-vous à la section Migration d’un système de fichiers racine UFS vers un système de fichiers racine ZFS (Oracle Solaris Live Upgrade) du Guide d’administration Oracle Solaris ZFS.

Sauvegarde de votre système avant l'exécution d'une mise à niveau avec zones

Vous devez sauvegarder les zones globales et non globales sur votre système Solaris avant de procéder à la mise à niveau. Pour plus d'informations, reportez-vous aux sections À propos de la sauvegarde d'un système Solaris doté de zones et Sauvegarde d'un système Solaris doté de zones.

Mise à niveau d'un système avec zones installées vers les versions Solaris 10 8/07 et ultérieures

Vous pouvez mettre à niveau votre système Solaris doté de zones à l'aide de Solaris Live Upgrade, du programme standard d'installation interactive ou du programme d'installation personnalisé JumpStart. Pour plus d'informations, reportez-vous à la section Upgrading With Non-Global Zones du Solaris 10 8/07 Installation Guide: Planning for Installation and Upgrade. Lorsque l'emplacement zonepath est défini sur ZFS, reportez-vous également aux sections Nouveautés du chapitre relatives à Solaris 10 8/07 et Nouveautés du chapitre relatives à Solaris 10 10/08.

Directives d'utilisation de Solaris Live Upgrade avec les zones Solaris

Vous devez tenir compte d'un certain nombre d'éléments en cas d'utilisation de Live Upgrade sur un système avec zones installées. Il est essentiel d'éviter les transitions d'état de zone lors des opérations lucreate et lumount.

Dans la mesure où une zone non globale peut être contrôlée aussi bien par un administrateur de zone non globale que par l'administrateur de la zone globale, il est conseillé d'arrêter toutes les zones pendant les opérations lucreate ou lumount.

L'intervention des administrateurs de zones non globales est cruciale lorsque les opérations Live Upgrade sont en cours. La mise à niveau a une incidence sur le travail des administrateurs, car ils assurent le suivi des changements qui surviennent suite à cette opération. Les administrateurs de zone doivent s'assurer que les packages locaux sont stables durant la totalité de la séquence, gérer toutes les tâches postérieures à la mise à niveau comme les réglages de fichiers de configuration, et, en règle générale, assurer la planification en fonction des interruptions du système.

Mise à niveau d'un système doté de zones vers Solaris 10 6/06 ou Solaris 10 11/06

Avant de mettre le système à niveau, consultez la section Mise à niveau vers Solaris 10 11/06 impossible pour les zones ayant une ressource fs de type lofs.

Un système Solaris doté de zones peut être mis à niveau à l'aide du programme standard d'installation interactive ou du programme d'installation personnalisé JumpStart. Cette version ne prend pas en charge Solaris Live Upgrade. Pour plus d'informations, reportez-vous au Solaris 10 11/06 Installation Guide: Solaris Live Upgrade and Upgrade Planning et au Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations.

Chapitre 30 Dépannage de problèmes liés aux zones Solaris

Ce chapitre est nouveau pour la version Solaris 10 6/06.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

Solaris 10 6/06, Solaris 10 11/06, Solaris 10 8/07 et Solaris 10 5/08 : ne pas placer le système de fichiers racine d'une zone non globale sur le ZFS

Pour ces version, zonepath d'une zone non globale ne doit pas résider sur un ZFS. Cette opération pourrait entraîner des problèmes de patch et, éventuellement, empêcher toute mise à niveau du système vers une version ultérieure de Solaris 10.

Notez que le système de fichiers racine d'une zone non globale peut résider sur un ZFS à compter de la version 10 10/08 de Solaris. Solaris Live Upgrade peut ensuite être utilisé pour mettre le système de fichiers à niveau.

La zone en mode IP exclusif utilise un périphérique et entraîne l'échec de dladm reset-linkprop

Si le message suivant s'affiche :


dladm: warning: cannot reset link property 'zone' on 'bge0': operation failed

Après avoir consulté Utilisation de la commande dladm reset-linkprop , vous avez essayé d'utiliser dladm reset-linkprop sans succès. La zone en cours d'exécution excl utilise le périphérique assigné lors de l'exécution de la commande ifconfig bge0 plumbau sein de la zone.

Pour rétablir la valeur, suivez la procédure ifconfig bge0 unplumb à l'intérieur de la zone et réexécutez la commande dladm.

L'administrateur de zone effectue le montage sur des systèmes de fichiers gérés par la zone globale

La présence de fichiers au sein d'une arborescence de système de fichiers lors du démarrage initial d'une zone non globale indique que les données du système de fichiers sont gérées par la zone globale. Lors de l'installation de la zone non globale, certains fichiers de conditionnement de la zone globale ont été dupliqués à l'intérieur de la zone. Ces fichiers doivent résider directement sous le zonepath. Si les fichiers résident sous un système de fichiers créé par un administrateur de zone sur des périphériques de disque ou des jeux de données ZFS ajoutés à la zone, des problèmes de patch et de conditionnement peuvent se produire.

Le ZFS permet d'illustrer le problème de stockage des données de système de fichiers gérées par la zone globale dans un système de fichiers résidant dans une zone. Si un ensemble de données ZFS a été délégué à une zone non globale, l'administrateur de zone ne doit pas utiliser cet ensemble de données pour stocker des données de système de fichiers gérées par la zone globale. La configuration ne pourrait être corrigée ou mise à niveau correctement.

Par exemple, un ensemble de données délégué ZFS ne doit pas être utilisé en tant que système de fichiers /var. Le système d'exploitation Solaris fournit des packages de base qui installent des composants dans /var. Ces packages doivent accéder à /var lors de leur mise à niveau ou de leur correction. Si /var est monté sur un ensemble de données ZFS, cela s'avère impossible.

Le montage de systèmes de fichiers sous des parties de l'arborescence contrôlée par la zone globale est pris en charge. Par exemple, s'il existe un répertoire /usr/local vide dans la zone globale, l'administrateur de zone peut monter du contenu supplémentaire sous ce répertoire.

Vous pouvez utiliser un jeu de données ZFS délégué pour les systèmes de fichiers auxquels l'accès n'est pas nécessaire lors de l'application de patch ou de mise à jour, comme /export dans la zone non globale.

La zone ne s'arrête pas

Si l'état système associé à la zone ne peut pas être détruit, l'arrêt échoue à mi-étape. La zone se trouve alors dans un état intermédiaire, entre exécution et installation. Aucun processus utilisateur ou thread de noyau n'est actif et vous ne pouvez pas en créer. En cas d'échec de l'arrêt, vous devez terminer le processus manuellement.

Cet échec s'explique généralement par l'incapacité du système à démonter tous les systèmes de fichiers. Contrairement à un arrêt classique du système Solaris, qui détruit l'état du système, les zones doivent veiller à ce qu'aucun montage effectué lors de l'initialisation de la zone ou lors d'une opération de zone ne soit conservé après l'arrêt de la zone. zoneadm garantit qu'aucun processus n'est exécuté dans la zone, mais le démontage peut échouer si les processus dans la zone globale présentent des fichiers ouverts dans la zone. Utilisez les outils décrits dans les pages de manuel proc(1) (voir pfiles) et fuser(1M) pour rechercher ces processus et prendre les mesures adéquates. Une fois ces processus gérés, le rappel de la commande zoneadm halt devrait arrêter complètement la zone.

À partir de la version Solaris 10 10/09, si vous ne parvenez pas à arrêter une zone, vous pouvez migrer une zone qui n'a pas été détachée à l'aide de la commande zoneadm attach avec l'option - F pour forcer le rattachement sans validation. Le système cible doit être configuré correctement pour héberger la zone. Une configuration incorrecte peut entraîner un comportement indéfini. En outre, il n'existe aucun moyen de connaître l'état des fichiers situés dans la zone.

Privilèges incorrects spécifiés dans la configuration de zone

Si le jeu de privilèges de la zone comporte un privilège non autorisé, ne contient pas un privilège requis ou inclut un nom de privilège inconnu, toute tentative de vérification, de préparation ou d'initialisation de la zone échoue et le message d'erreur suivant s'affiche :


zonecfg:zone5> set limitpriv="basic"
.
.
.
global# zoneadm -z zone5 boot
 	required privilege "sys_mount" is missing from the zone's privilege set
 	zoneadm: zone zone5 failed to verify

Un avertissement netmasks s'affiche lors de l'initialisation de la zone

Le message suivant peut s'afficher lorsque vous initialisez la zone d'après la description donnée à la section Initialisation d'une zone:


# zoneadm -z my-zone boot
zoneadm: zone 'my-zone': WARNING: hme0:1: no matching subnet
	found in netmasks(4) for 192.168.0.1; using default of
	255.255.255.0.

Ce message n'est qu'un avertissement. La commande s'est correctement exécutée. Le message indique que le système n'a pas pu trouver le masque de réseau à utiliser pour l'adresse IP spécifiée dans la configuration de la zone.

Pour empêcher qu'il ne s'affiche lors des initialisations suivantes, veillez à ce que les bases de données de masques de réseau correctes soient répertoriées dans le fichier /etc/nsswitch.conf dans la zone globale et qu'au moins l'une d'entre elles contienne le sous-réseau et les masques de réseau à utiliser pour la zone my-zone.

Par exemple, si le fichier /etc/inet/netmasks et la base de données NIS locale sont utilisés dans le cadre de la résolution de masques de réseau au sein de la zone globale, l'entrée correcte dans /etc/nsswitch.conf est la suivante :

netmasks: files nis

Vous pouvez alors ajouter le sous-réseau et les informations de sous-réseau correspondantes pour la zone my-zone au fichier /etc/inet/netmasks pour une utilisation ultérieure.

Pour plus d'informations sur la commande netmasks, reportez-vous à la page de manuel netmasks(4).

Résolution de problèmes via l'opération zoneadm attach

ProcedureLes patchs et les packages ne sont pas synchronisés

Les patchs et packages de système d'exploitation requis suivants exécutés par le système cible doivent être de la même version que ceux qui sont installés sur l'hôte d'origine.

  1. Lorsque les packages et les patchs de l'hôte d'origine et du nouvel hôte sont différents, le texte suivant peut s'afficher :


    host2# zoneadm -z my-zone attach
    	These packages installed on the source system are inconsistent with this system:
                SUNWgnome-libs (2.6.0,REV=101.0.3.2005.12.06.20.27) version mismatch
                        (2.6.0,REV=101.0.3.2005.12.19.21.22)
                SUNWudaplr (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                SUNWradpu320 (11.10.0,REV=2005.01.21.16.34) is not installed
                SUNWaudf (11.11,REV=2005.12.13.01.06) version mismatch
                        (11.11,REV=2006.01.03.00.45)
                NCRos86r (11.10.0,REV=2005.01.17.23.31) is not installed
    	These packages installed on this system were not installed on the source system:
                SUNWukspfw (11.11,REV=2006.01.03.00.45) was not installed
                SUNWsmcmd (1.0,REV=2005.12.14.01.53) was not installed
    	These patches installed on the source system are inconsistent with this system:
                120081 is not installed
                118844 is not installed
                118344 is not installed
    	These patches installed on this system were not installed on the source system:
                118669 was not installed
                118668 was not installed
                116299 was not installed
  2. Pour faire migrer la zone, employez l'une des méthodes suivantes :

ProcedureLes versions de système d'exploitation ne correspondent pas

Pour migrer la zone, installez la version Solaris exécutée sur l'hôte d'origine sur un système présentant la même architecture.

  1. Vérifiez la version de Solaris exécutée sur le système d'origine.


    host1# uname -a
    
  2. Installez la même version sur le nouvel hôte.

    Consultez la documentation relative à l'installation Solaris sur le site Web docs.sun.com.

ProcedureLes architectures des machines ne correspondent pas

Pour migrer la zone, utilisez l'option -u avec la commande zoneadm attach.

  1. Vérifiez l'architecture système des deux systèmes.


    host1# uname -a
    
  2. Si les architectures sont différentes, utilisez l'option -u de la commande zoneadm attach pour effectuer le rattachement.


    host2# zoneadm -z my-zone attach -u
    

    Pour plus d'informations, reportez-vous à la section Migration d'une zone non globale.

Mise à niveau vers Solaris 10 11/06 impossible pour les zones ayant une ressource fs de type lofs


Remarque –

Ce problème a été corrigé dans la version Solaris 10 8/07.


Si toutes les zones non globales configurées avec des ressources fs lofs sont des répertoires de montage existant dans la mini-racine, le système peut être mis à niveau à partir d'une version Solaris 10 antérieure à la version 10 11/06 via une mise à niveau standard. Par exemple, un répertoire /opt monté avec une ressource lofs ne pose pas de problème lors des mises à niveau.

Cependant, si au moins une zone non globale est configurée avec un montage lofs non standard, par exemple un répertoire /usr/local monté avec une ressource lofs, le message d'erreur suivant s'affiche :


The zones upgrade failed and the system needs to be restored
from backup.  More details can be found in the file
/var/sadm/install_data/upgrade_log on the upgrade root file
system.

Ce message d'erreur indique que le système doit être restauré à partir de la sauvegarde. En réalité, le système est en parfait état et peut être mis à niveau via la solution ci-dessous :

  1. Redémarrez le système avec le système d'exploitation installé.

  2. Reconfigurez les zones en supprimant les ressources fs définies avec le type lofs.

  3. Une fois ces ressources supprimées, mettez le système à niveau vers Solaris 10 11/06.

  4. Ensuite, vous pouvez reconfigurer les zones afin de restaurer les ressources fs supplémentaires supprimées.