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.
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).
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 .
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 conteneurs Solaris 8, de la marque solaris8, sont décrits dans le System Administration Guide: Solaris 8 Containers
Les conteneurs Solaris 9, de la marque solaris9, sont décrits dans le System Administration Guide: Solaris 9 Containers
Les autres marques prises en charge sur le système d'exploitation Solaris 10 sont les suivantes :
La marque Linux lx, pour systèmes x86 et x64, décrite à la Partie III, Zones marquées lx
La marque cluster, décrite à la page Sun Cluster 3.2 1/09 Software Collection for Solaris OS du site docs.sun.com.
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.
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.
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.
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.
Vous trouverez, dans le tableau ci-dessous, un résumé des caractéristiques des zones globales et 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.
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).
Les zones non globales peuvent se trouver dans différents états :
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.
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.
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.
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é.
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éé.
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. |
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.
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.
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.
Les zones non globales assurent les fonctions suivantes :
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.
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.
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.
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.
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.
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.
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 :
|
Au besoin, reportez-vous à vos objectifs métier et à votre documentation système. |
Déterminer le nombre de zones à configurer. |
Évaluez :
|
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. |
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).
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 :
Meilleure intégration des fonctionnalités de gestion de ressources et des zones. La commande zonecfg peut désormais être utilisée pour configurer les pools temporaires, les limites de mémoire, la classe de programmation par défaut des zones et les alias de contrôle de ressource. Le paramétrage de la gestion des ressources ne comporte plus aucune étape manuelle. Des contrôles de ressources ont été ajoutés :
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap
Possibilité d'utiliser la commande zonecfg dans la zone globale.
Possibilité de spécifier un mode IP pour une zone. Deux modes IP sont disponibles pour les zones non globales : le mode IP partagé et le mode IP exclusif.
Possibilité d'utiliser DTrace dans une zone en ajoutant les privilèges nécessaires par le biais de la propriété limitpriv.
Possibilité d'utiliser des arguments d'initialisation dans une zone par le biais de la propriété bootargs.
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.
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 :
Les pools de ressources ou CPU assignées, qui sont utilisés pour les ressources des machines partitionnées.
Les contrôles de ressources, qui fournissent un mécanisme de contrainte des ressources système.
La classe de programmation, qui permet de contrôler l'allocation des ressources CPU disponibles au sein des zones grâce à des parts relatives. Le nombre de parts de ressources CPU assignées à une zone est révélateur des charges de travail de cette zone.
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 à :
s'assurer qu'un chemin d'accès à la zone est spécifié ;
vérifier que toutes les propriétés requises pour chaque ressource sont spécifiées.
Pour plus d'informations sur la commande zonecfg, reportez-vous à la page de manuel zonecfg(1M).
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.
Vous devez nommer la zone et choisir le chemin qui permettra d'y accéder.
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é.
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.
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.
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.
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 :
définir la propriété importance ;
activer le service poold. Pour plus d'informations, reportez-vous à la section Solaris 10 11/06 et ultérieur : activation du service de pools de ressources dynamiques à l'aide de svcadm.
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.
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.
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.
Les ressources capped-cpu et dedicated-cpu sont incompatibles.
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 :
Dans la version Solaris 10 8/07, vous pouvez utiliser la propriété scheduling-class de zonecfg.
Vous pouvez avoir recours à l'utilitaire de pools de ressources. Si la zone est associée à un pool dont la propriété pool.scheduler est définie sur une classe de programmation valide, les processus exécutés dans cette zone le sont dans cette classe de programmation par défaut. Reportez-vous aux sections Introduction aux pools de ressources et Association d'un pool avec une classe de programmation.
Si l'instance de contrôle de ressource cpu-shares est définie et si vous n'avez pas défini FSS comme la classe de programmation pour la zone, zoneadmd s'en charge lors de l'initialisation de celle-ci.
Si la classe de programmation n'est pas définie par toute autre action, la zone hérite de la classe de programmation par défaut du système.
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.
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.
Déterminez les valeurs pour cette ressource si vous prévoyez de limiter la mémoire de la zone à l'aide de rcapd dans la zone globale. La propriété physical de la ressource capped-memory est utilisée par rcapd comme valeur max-rss pour la zone.
La propriété swap de la ressource capped-memory permet de définir le contrôle de ressource zone.max-swap.
La propriété locked de la ressource capped-memory permet de définir le contrôle de ressource zone.max-locked-memory.
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.
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.
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 zone sera connectée à la même liaison de données que la zone globale. En d'autres termes, elle se trouvera sur les mêmes sous-réseaux IP.
Vous n'avez pas besoin des autres capacités fournies par les zones en mode IP exclusif.
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é.
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 :
la configuration automatique d'adresse sans état via DHCPv4 et IPv6 ;
le multiacheminement sur réseau IP (IPMP, IP Network Multipathing) ;
la commande ndd permettant de définir les paramètres TCP/UDP/SCTP, ainsi que les boutons de niveau IP/ARP ;
Les protocoles IPsec (IP security) et IKE (Internet Key Exchange), qui automatisent l'approvisionnement en matériel de chiffrement authentifié pour l'association de sécurité IPsec.
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).
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 |
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.
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.
En règle générale, les systèmes de fichiers montés dans une zone comportent :
le jeu de systèmes de fichiers montés lors de l'initialisation de la plate-forme virtuelle ;
le jeu de systèmes de fichiers montés dans l'environnement applicatif lui-même.
Il s'agit par exemple de :
systèmes de fichiers spécifiés dans le fichier /etc/vfstab d'une zone ;
montages AutoFS et montages amorcés automatiquement par AutoFS ;
montages explicitement exécutés par un administrateur de zone.
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.
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.
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.
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.
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.
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 :
d'ajouter des privilèges au jeu par défaut, étant entendu que ces modifications risquent de permettre aux processus d'une zone de contrôler une ressource globale et donc d'affecter les processus d'autres zones.
de supprimer des privilèges du jeu par défaut, étant entendu que ces modifications risquent d'empêcher certains processus de fonctionner correctement si ces privilèges sont nécessaires à leur exécution.
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).
Le type de ressource attr permet d'ajouter un commentaire à une zone. Pour plus d'informations, reportez-vous à la section Configuration d'une zone.
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 :
créer ou supprimer (détruire) la configuration d'une zone ;
ajouter des ressources à une configuration donnée ;
définir les propriétés des ressources ajoutées à une configuration ;
supprimer les ressources d'une configuration donnée ;
interroger ou vérifier une configuration ;
valider une configuration ;
rétablir une configuration antérieure ;
renommer une zone ;
quitter une session zonecfg.
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).
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.
Dans le cas de add, utilisez la sous-commande end ou cancel pour arrêter la spécification de la ressource.
Dans le cas de select, utilisez la sous-commande end ou cancel pour arrêter la modification de la 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.
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.
Imprime l'aide générale ou affiche l'aide concernant une ressource donnée.
zonecfg:my-zone:inherit-pkg-dir> help |
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.
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.
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).
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.
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é.
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.
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.
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.
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.
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).
Cette action est instantanée. Elle ne requiert aucune validation et toute zone supprimée ne peut être rétablie.
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.
Vérifie si la configuration actuelle est correcte. S'assure que toutes les propriétés requises des ressources sont spécifiées.
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.
Rétablit le dernier état validé de la configuration.
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.
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.
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.
Vous trouverez, ci-dessous, une description des types de ressources et de propriétés :
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.
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.
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.
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 |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
Vous pouvez définir une propriété hostid différente de la propriété hostid de la zone globale.
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.
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.
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 |
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 |
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 |
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 :
Spécifie le point de montage du système de fichiers.
Spéficie le nom du périphérique spécial en mode bloc ou le répertoire de zone globale à monter.
Spécifie le périphérique brut sur lequel fsck doit être exécuté avant le montage du système de fichiers.
Spécifie le type de système de fichiers.
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.
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.
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 |
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 |
address, physical, defrouter
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 |
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 |
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.
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.
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 :
enhance(1)
libtecla(3LIB )
ef_expand_file(3TECLA)
gl_get_line(3TECLA)
gl_io_mode(3TECLA)
pca_lookup_file(3TECLA)
tecla(5)
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).
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 |
|
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. |
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 :
les prescriptions de performances des applications exécutées dans chaque zone ;
l'espace disque disponible pour accueillir les fichiers uniques dans chaque zone.
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.
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 :
Seul un sous-ensemble des packages installés dans la zone globale sont directement installés dans la zone non globale.
Des systèmes de fichiers loopback en lecture seule, identifiés comme ressources inherit-pkg-dir, facilitent l'accès à d'autres fichiers.
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.
En règle générale, une zone requiert environ 100 méga-octets d'espace disque libre lorsque la zone globale a été installée avec tous les packages standard de Solaris.
Par défaut, tous les packages supplémentaires installés dans la zone globale sont également installés dans les zones non globales. L'espace disque requis peut être plus élevé selon que ces packages incluent ou non des fichiers résidant dans l'espace de ressource inherit-pkg-dir.
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.
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.
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 :
/lib
/platform
/sbin
/usr
Reportez-vous à la section Configuration d'une zone.
Pour restreindre la taille d'une zone, vous avez le choix entre plusieurs options :
Vous pouvez la placer sur une partition montée à l'aide de la commande lofi. Cette action limite l'espace requis par la zone à celui utilisé par le fichier lofi. Pour plus d'informations, reportez-vous aux pages de manuel lofiadm(1M) et lofi(7D).
Vous pouvez utiliser le partitionnement logiciel pour diviser les tranches d'espace disque ou les volumes logiques en partitions, puis utiliser ces partitions en tant que racines de zone, et limiter ainsi l'espace disque requis par zone. Le partitionnement logiciel est limité à 8 192 partitions. Pour plus d'informations, reportez-vous au Chapitre 12, Soft Partitions (Overview) du Solaris Volume Manager Administration Guide.
Vous pouvez utiliser les partitions standard d'un disque comme racines de zone, et limiter l'espace disque requis par zone.
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.
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.
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.
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.
Si vous utilisez IPv6, vous devez configurer manuellement l'adresse. Habituellement, au moins deux types d'adresses doivent être configurées :
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.
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).
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).
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.
Pour plus d'informations, reportez-vous à la page de manuel lofs(7S).
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. |
Utilisez la commande zonecfg, décrite dans la page de manuel zonecfg(1M), pour exécuter les actions suivantes :
créer la configuration de la zone concernée ;
vérifier que toutes les informations requises sont présentes ;
valider la configuration de la zone non globale.
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.
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.
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.
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. |
Créez la configuration de la nouvelle zone.
Les paramètres utilisés sont les paramètres par défaut.
zonecfg:my-zone> create |
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.
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 |
Définissez des arguments d'initialisation permanents pour la zone.
zonecfg:my-zone> set bootargs="-m verbose" |
Dédiez une ou plusieurs CPU à cette zone.
zonecfg:my-zone> add dedicated-cpu |
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.
Définissez la classe de programmation sur FSS.
zonecfg:my-zone> set scheduling-class=FSS |
Ajoutez une limite de mémoire.
zonecfg:my-zone> add capped-memory |
Définissez la limite de mémoire.
zonecfg:my-zone:capped-memory> set physical=50m |
Définissez la limite de mémoire swap.
zonecfg:my-zone:capped-memory> set swap=100m |
Définissez la limite de mémoire verrouillée.
zonecfg:my-zone:capped-memory> set locked=30m |
Terminez la spécification des limites de mémoire.
zonecfg:my-zone:capped-memory> end |
Ajoutez un système de fichiers.
zonecfg:my-zone> add fs |
Définissez le point de montage du système de fichiers, ici /usr/local.
zonecfg:my-zone:fs> set dir=/usr/local |
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.
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.
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.
Facultatif : définissez la propriété hostid.
zonecfg:my-zone> set hostid=80f0c086 |
Ajoutez un jeu de données ZFS nommé sales dans le pool de stockage tank.
zonecfg:my-zone> add dataset |
(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 |
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 |
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.
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.
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
(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 |
Seul le type correspondant aux périphériques physiques doit être spécifié dans l'étape add net.
Ajoutez une interface réseau.
zonecfg:my-zone> add net |
(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 |
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 |
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 |
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.
Ajoutez un périphérique.
zonecfg:my-zone> add device |
Définissez la correspondance de périphérique, ici /dev/sound/* .
zonecfg:my-zone:device> set match=/dev/sound/* |
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.
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.
Ajoutez un commentaire à l'aide du type de ressource attr.
zonecfg:my-zone> add attr |
Définissez le nom sur comment.
zonecfg:my-zone:attr> set name=comment |
Définissez le type sur string.
zonecfg:my-zone:attr> set type=string |
Définissez la valeur sur un commentaire décrivant cette zone.
zonecfg:my-zone:attr> set value="This is my work zone." |
Clôturez la spécification du type de ressource attr.
zonecfg:my-zone:attr> end |
Vérifiez la configuration de la zone.
zonecfg:my-zone> verify |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
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.
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" |
Pour installer la configuration de la zone validée, reportez-vous à la section Installation et initialisation de zones.
Ce script permet de configurer et d'initialiser plusieurs zones sur un système. Il regroupe les paramètres suivants :
le nombre de zones à créer ;
le préfixe de nom de zone ;
le répertoire à utiliser comme répertoire de base.
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 |
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
Affichez la configuration de la zone.
global# zonecfg -z zonename info |
La commande zonecfg permet également de :
modifier un type de ressource dans la configuration d'une zone ;
effacer une valeur de propriété dans la configuration d'une zone ;
ajouter un périphérique dédié à 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.
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.
Sélectionnez la zone à modifier, ici my-zone .
global# zonecfg -z my-zone |
Sélectionnez le type de ressource à modifier, par exemple un contrôle de ressource.
zonecfg:my-zone> select rctl name=zone.cpu-shares |
Supprimez la valeur actuelle.
zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none) |
Ajoutez la nouvelle valeur.
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none) |
Terminez la spécification rctl modifiée.
zonecfg:my-zone:rctl> end |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
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.
Utilisez cette procédure pour réinitialiser une propriété autonome.
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.
Sélectionnez la zone à modifier, ici my-zone.
global# zonecfg -z my-zone |
Effacez la propriété à modifier, ici l'association de pools existante.
zonecfg:my-zone> clear pool |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
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.
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.
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.
Sélectionnez la zone à modifier, ici my-zone.
global# zonecfg -z my-zone |
Réinitialisez la propriété à modifier, ici l'association de pools existante.
zonecfg:my-zone> set pool="" |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
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.
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.
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.
Sélectionnez la zone à renommer, ici my-zone.
global# zonecfg -z my-zone |
Renommez la zone. Par exemple, nommez-la newzone.
zonecfg:my-zone> set zonename=newzone |
Validez la modification.
zonecfg:newzone> commit |
Quittez la commande zonecfg.
zonecfg:newzone> exit |
Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la 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.
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.
Ajoutez un périphérique.
zonecfg:my-zone> add device |
Définissez la correspondance de périphérique, ici /dev/scsi/scanner/c3t4*.
zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4* |
Terminez la spécification du périphérique.
zonecfg:my-zone:device> end |
Quittez la commande zonecfg.
zonecfg:my-zone> exit |
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.
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.
Utilisez la commande zonecfg.
# zonecfg -z global |
Définissez cinq parts dans la zone globale.
zonecfg:global> set cpu-shares=5 |
Quittezzonecfg.
zonecfg:global> exit |
Pour rétablir ou supprimer la configuration d'une zone, exécutez la commande zonecfg décrite dans la page de manuel zonecfg(1M).
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.
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.
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/* . . . |
Supprimez l'adresse réseau :
zonecfg:tmp-zone> remove net address=192.168.0.1 |
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/* . . . |
Entrez revert.
zonecfg:tmp-zone> revert |
Répondez oui à la question suivante :
Are you sure you want to revert (y/[n])? y |
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/* . . . |
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.
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.
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 |
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 :
À propos de l'arrêt, de la réinitialisation et de la désinstallation des zones
Solaris 10 11/06 et versions ultérieures : à propos du clonage de zones non globales
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).
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.
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 :
vérifier une zone ;
installer une zone ;
initialiser une zone (opération similaire à l'initialisation d'un système Solaris normal) ;
afficher des informations concernant la zone en cours d'exécution ;
arrêter une zone ;
réinitialiser une zone ;
désinstaller une zone ;
déplacer une zone à l'intérieur d'un système ;
créer une nouvelle zone en se basant sur la configuration d'une zone existant sur le même système ;
faire migrer une zone à l'aide de la commande zonecfg.
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.
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 :
packages non installés ;
patchs ;
données sur CD ou DVD ;
images d'installation réseau ;
tout prototype ou autre instance de 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 :
nouveaux utilisateurs ou utilisateurs modifiés dans le fichier /etc/passwd ;
nouveaux groupes ou groupes modifiés dans le fichier /etc/group ;
configurations des services réseau (assignation d'adresses DHCP, UUCP ou sendmail, etc.) ;
configurations des services réseau (services d'attribution de nom, etc.) ;
nouvelle table crontab ou table crontab modifiée, nouvelle imprimante ou imprimante modifiée, nouveaux fichiers de courrier ou fichiers de courrier modifiés ;
fichiers de journal système, de messages et de comptabilité.
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 :
environnements d'initialisation Solaris Live Upgrade ;
métapériphériques Solaris Volume Manager ;
affectation d'adresse DHCP dans une zone en mode IP partagé ;
serveur proxy SSL.
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.
zsched, un processus de planification similaire à sched, permet d'assurer le suivi des ressources du noyau associées à la zone.
zoneadmd est le démon d'administration des zones.
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).
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 :
allocation d'un ID de zone et le démarrage du processus système zsched ;
paramétrage des contrôles de ressources à l'échelle de la zone ;
préparation des périphériques de la zone selon la configuration de cette dernière (pour plus d'informations, reportez-vous à la page de manuel devfsadmd(1M)) ;
paramétrage des interfaces réseau virtuelles ;
montage des systèmes de fichiers loopback et conventionnels ;
instanciation et initialisation du périphérique de la console de la zone.
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).
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.
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.
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.
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.
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.
Les zones prennent en charge les arguments d'initialisation suivants avec les commandes zoneadm boot et reboot :
-i altinit
-m options_smf
-s
Les définitions suivantes s'appliquent :
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).
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 :
Imprime une sortie standard par service et tous les messages svc.startd à consigner.
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 :
Imprime une sortie standard par service et les messages d'erreur requérant une intervention administrative.
Imprime une sortie standard par service et les messages fournissant plus d'informations.
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).
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é.
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.
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.
Le clonage est le meilleur moyen d'installer une zone.
Toutes les modifications effectuées pour personnaliser la zone source, par exemple l'ajout de packages et les modifications apportées aux fichiers, se refléteront dans la nouvelle zone.
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.
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.
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).
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é. | |
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. | |
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). |
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.
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.
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.
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.
Seul l'administrateur global peut exécuter la procédure ci-dessous.
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.
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.
(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.
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 |
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é.
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.
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.
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 |
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.
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.
Pour plus d'informations, reportez-vous aux pages de manuel zoneadm(1M) et libuuid(3LIB).
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.
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.
Marquez l'état de la zone testzone comme Incomplet.
global# zoneadm -z testzone mark incomplete |
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 |
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).
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.
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.
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.
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 |
À 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.
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.
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.
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.
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 |
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 |
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 |
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.
Seul l'administrateur global peut exécuter cette procédure.
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.
Initialisez la zone en mode monoutilisateur.
global# zoneadm -z my-zone boot -s |
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).
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. | |
Réinitialiser une zone. |
La procédure de réinitialisation arrête la zone et la réinitialise. | |
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. | |
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. |
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.
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.
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 |
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 |
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 |
Initialisez la zone si vous voulez la redémarrer.
global# zoneadm -z my-zone boot |
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.
Seul l'administrateur global peut exécuter la procédure ci-dessous.
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.
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 |
Exécutez la commande zoneadm avec l'option -z reboot pour réinitialiser la zone my-zone.
global# zoneadm -z my-zone reboot |
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 |
Notez que l'ID de my-zone a changé. C'est généralement le cas lorsqu'une zone est réinitialisée.
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.
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.
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 |
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 |
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 |
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.
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.
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.
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.
Arrêtez la zone source à cloner, ici my-zone.
global# zoneadm -z my-zone halt |
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 |
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.
É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.
Créez la nouvelle zone zone1 en exécutant les commandes dans le fichier master.
global# zonecfg -z zone1 -f /export/zones/master |
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. |
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 |
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 :
La commande zoneadm réalise un inventaire logiciel.
La commande zoneadm prend un instantané ZFS et le nomme SUNWzoneX (par exemple SUNWzone1).
La commande zoneadm clone l'instantané à l'aide du clonage ZFS.
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.
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.
Configurez la zone zone2.
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é.
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 |
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.
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.
Indiquez que l'emplacement zonepath sur ZFS doit être copié et non cloné via ZFS.
global# zoneadm -z zone1 clone -m copy my-zone |
La procédure décrite dans cette section supprime complètement la zone du système.
Arrêtez la zone my-zone.
global# zlogin my-zone shutdown -y -g0 -i0 |
Supprimez le système de fichiers racine de my-zone.
global# zoneadm -z my-zone uninstall -F |
Supprimez la configuration de my-zone.
global# zonecfg -z my-zone delete -F |
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 |
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).
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.
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).
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 :
Connexion à la console de la zone. Le système émet alors une série de questions. Vous devrez spécifier :
la langue ;
le type de terminal utilisé ;
le nom d'hôte ;
la stratégie de sécurité (Kerberos ou UNIX standard) ;
le type de service d'attribution de nom (None est une réponse valide) ;
le domaine de service d'attribution de nom ;
le serveur de noms ;
le fuseau horaire par défaut ;
le mot de passe root.
La procédure est décrite dans la section Configuration de la zone interne initiale.
Création d'un fichier /etc/sysidcfg et placement de celui-ci à l'intérieur de la zone avant la première initialisation de celle-ci. Pour plus d'informations, reportez-vous à la page de manuel sysidcfg(4).
Cette section décrit les méthodes que vous pouvez utiliser pour vous connecter à une zone non globale.
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.
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.
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.
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).
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.
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.
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.
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).
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. | |
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. | |
Quitter une zone non globale. |
Déconnexion 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. | |
Imprimer le nom de zone. |
Impression du nom de zone de la zone actuelle. |
La configuration de la zone s'effectue selon l'une des méthodes suivantes :
Connectez-vous à la zone et configurez-la comme expliqué dans la section Configuration interne d'une zone.
Configurez la zone à l'aide du fichier /etc/sysidcfg tel que décrit dans la section Configuration de zone initiale à l'aide du fichier /etc/sysidcfg.
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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
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 |
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] |
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.
(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).
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.
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.
À 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 |
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 |
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).
Initialisez la zone.
Pour plus d'informations, reportez-vous à la page de manuel sysidcfg(4).
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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
Utilisez la commande zlogin avec l'option -C et le nom de la zone, my-zone par exemple.
global# zlogin -C my-zone |
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. |
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: |
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.
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.
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 |
Saisissez exit pour fermer la connexion.
Un message similaire à celui figurant ci-dessous s'affiche :
[Connection to zone 'my-zone' pts/2 closed] |
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.
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.
À 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 |
Pour de plus amples informations sur les options de la commande zlogin, reportez-vous à la page de manuel zlogin(1).
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.
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.
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 |
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.
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.
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.
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.
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.
Connectez-vous à la zone, par exemple my-zone, à partir de la zone globale.
global# zlogin my-zone |
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 |
Connectez-vous à la zone, par exemple my-zone, à partir de la zone globale.
global# zlogin my-zone |
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 |
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 . . . |
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 |
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 :
déplacer une zone non globale vers un nouvel emplacement d'une même machine ;
valider les événements potentiels en cas de migration de zone non globale avant de réaliser la migration réelle ;
migrer une zone non globale vers une nouvelle machine.
Utilisez les commandes zoneadm detach et zoneadm attach afin de mettre à jour une zone ayant un niveau de patch inférieur au niveau d'une zone globale se trouvant à un niveau de patch supérieur.
À 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).
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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
Arrêtez la zone à déplacer, ici db-zone.
global# zoneadm -z db-zone halt |
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 |
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 |
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.
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 :
La zone globale dans le système cible doit exécuter la même version de Solaris que l'hôte d'origine.
Afin d'assurer une exécution correcte de la zone, le système cible doit disposer des mêmes versions de packages système et de patchs système requis que ceux qui sont installés sur l'hôte d'origine. Ils sont décrits ci-dessous.
packages délivrant les fichiers avec une ressource inherit-pkg-dir
packages où SUNW_PKG_ALLZONES=true
Pour les autres packages et patchs comme ceux des produits tiers, ils peuvent être différents.
Solaris 10 10/08 : si le nouvel hôte dispose d'une version plus récente des packages dépendants de la zone et des patchs associés, la commande zoneadm attach avec l'option -u met à jour les packages dans la zone afin qu'ils correspondent à ceux du nouvel hôte. Le logiciel de mise à jour lors du rattachement examine la zone à faire migrer et détermine les packages à mettre à jour pour les faire correspondre à ceux du nouvel hôte. Seuls ces packages sont mis à jour. Les autres packages, ainsi que les patchs qui leur sont associés, peuvent varier d'une zone à l'autre. Cette option permet également d'effectuer une migration automatique d'une classe de machine vers une autre, notamment de sun4u vers sun4v.
Solaris 10 9/10 : si le nouvel hôte dispose d'une version plus récente des packages et des patchs associés, la commande zoneadm attach avec l'option -U permet de mettre à jour ces packages dans la zone 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. Cette option permet également d'effectuer une migration automatique d'une classe de machine vers une autre, notamment de sun4u vers sun4v.
Solaris 10 5/09 : l'option -b peut être utilisée pour spécifier les patchs à désinstaller de la zone avant la mise à jour.
Les systèmes hôte et cible doivent avoir la même architecture machine à moins que l'option -u (utilisée pour les migrations entre les classes de machine sun4u et sun4v) ne soit utilisée.
Solaris 10 5/09 : l'option -b peut être utilisée pour spécifier les patchs, officiels ou Interim Diagnostics/Relief (IDR), devant être désinstallés de la zone pendant le rattachement. Vous pouvez spécifier plusieurs options -b. Si l'un des patchs ne peut pas être désinstallé pour quelque raison que ce soit, la commande attach échouera et aucun des patchs ne sera désinstallé.
Cette option s'applique uniquement aux marques de zone utilisant le package SVr4.
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é.
Vous devez vous connecter en tant qu'administrateur global de la zone globale pour effectuer cette procédure.
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.
Arrêtez la zone à migrer, ici my-zone.
host1# zoneadm -z my-zone halt |
Détachez la zone.
host1# zoneadm -z my-zone detach |
La zone détachée est maintenant en état configuré.
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.
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. |
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 |
(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 |
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 |
Validez la configuration et quittez-la.
zonecfg:my-zone> commit zonecfg:my-zone> exit |
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 |
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 |
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.
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.
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.
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.
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 |
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).
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 :
les patchs et les packages ne sont pas synchronisés ;
les versions de système d'exploitation ne correspondent pas.
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.
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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
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.
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.
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 :
Avant d'appliquer un ensemble de patchs à la zone globale, détachez toutes les zones non globales.
Appliquez l'ensemble de patchs à la zone globale.
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.
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.
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.
Collectez les informations requises à partir du système source.
Obtenez la propriété hostname :
# hostname |
Obtenez la propriété hostid :
# hostid |
Voir également la section Émulation de l'ID de l'hôte.
Entrez le mot de passe root.
Affichez le logiciel exécuté sur le système :
# ps -eaf |
Vérifiez la configuration de réseau sur le système :
# ifconfig -a |
Affichez le stockage utilisé en affichant le contenu de /etc/vfstab, par exemple.
Affichez l'espace de stockage utilisée sur le disque local déterminant la taille de l'archive :
# df -k |
Déterminez les packages et les patchs se trouvant sur le système. Pour plus d'informations, reportez-vous à la section pkginfo(1).
Vérifiez le contenu du fichier /etc/system.
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.
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.
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.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Connectez-vous au système source à archiver.
Remplacez les répertoires par le répertoire root.
# cd / |
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.
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.
Vous pouvez utiliser d'autres méthodes pour créer l'archive. Le programme d'installation prend en charge les formats d'archives suivants :
Archives cpio
Archives cpio compressées au format gzip
Archives cpio compressées au format bzip2
Archives pax créées au format -x xustar (XUSTAR)
Sauvegardes de niveau zéro (complètes) ufsdump
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).
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 |
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).
Créez la configuration de la nouvelle zone sur le système cible à l'aide de la procédure Configuration d'une zone.
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.
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é.
Vous devez spécifier l'option -p ou -u, sinon une erreur se produira.
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.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
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.
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é.
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.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
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 |
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 |
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
Présentation des outils de gestion des packages et des patchs
Application de patchs sur un système Solaris comportant des zones installées
Suppression de patchs sur un système Solaris comportant des 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 :
Lorsque la commande patchadd est utilisée pour ajouter un patch à un package installé à l'aide de la commande pkgadd et l'option -G, l'option -G de patchadd devient superflue.
Un tableau décrivant 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 a été ajouté. Reportez-vous à la section Impact de l'état des zones sur les opérations sur les patchs et les packages.
Des éclaircissements concernant l'interaction entre patchadd -G et la variable pkginfo ont été ajoutés. Reportez-vous à la section Interaction de patchadd -G et de la variable pkginfo sur un système comportant des zones.
Des informations sur l'application de patchs à activation différée ont été ajoutées. Reportez-vous à la section Solaris 10 8/07 : application de patchs à activation différée.
Des informations concernant l'option -G de la commande pkgrm ont été supprimées.
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.
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 :
La prise en charge de Solaris Live Upgrade sur les systèmes dont zonepath réside sur un ZFS est disponible à partir de la version Solaris 10 10/08.
Seul Solaris Live Upgrade peut être utilisé pour mettre le système de fichiers à niveau.
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 :
L'administrateur global peut administrer les logiciels dans toute zone du système.
Le système de fichiers racine d'une zone non globale peut être administré depuis la zone globale grâce aux outils de gestion de packages et de patchs Solaris. Les outils de gestion de packages et de patchs Solaris sont pris en charge à l'intérieur des zones non globales pour administrer les produits intégrés (fournis en standard), les produits autonomes (non fournis en standard) et les produits tiers.
Les outils de gestion de packages et de patchs fonctionnent dans un environnement compatible avec les zones. Grâce à ces outils, les packages ou patchs installés dans une zone globale peuvent également être installés dans une zone non globale.
Le paramètre SUNW_PKG_ALLZONES définit la portée du package en termes de zone. Il détermine le type de zone dans lequel un package peut être installé. Pour plus d'informations sur ce paramètre, reportez-vous à la section Paramètre de package SUNW_PKG_ALLZONES.
Le paramètre SUNW_PKG_HOLLOW définit la visibilité de tout package devant être installé et être identique dans toutes les zones. Pour plus d'informations sur ce paramètre, reportez-vous à la section Paramètre de package SUNW_PKG_HOLLOW.
Le paramètre SUNW_PKG_THISZONE détermine si un package doit être installé dans la zone actuelle uniquement. Pour plus d'informations sur ce paramètre, reportez-vous à la section Paramètre de package SUNW_PKG_THISZONE.
La valeur par défaut des packages ne définissant pas de valeur pour les paramètres de package de zone est false.
Les informations relatives aux packages visibles à l'intérieur d'une zone non globale sont cohérentes avec les fichiers qui ont été installés dans cette zone à l'aide des outils de gestion de packages et de patchs Solaris. Ces informations sont synchronisées avec les répertoires inherit-pkg-dir.
Toute modification, par exemple l'ajout d'un patch ou d'un package à la zone globale, peut être étendue à toutes les zones. Cette fonctionnalité garantit la cohérence entre la zone globale et les zones non globales.
Les commandes applicables aux packages permettent d'ajouter, de supprimer et d'interroger les packages. Les commandes applicables aux patchs permettent d'ajouter et de supprimer des patchs.
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.
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).
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.
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.
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.
Si le package n'est actuellement installé ni dans la zone globale, ni dans les zones non globales, il peut être installé :
uniquement dans la zone globale si SUNW_PKG_ALLZONES=false ;
uniquement dans la zone (globale) actuelle si SUNW_PKG_THISZONE=true ;
dans la zone globale et toutes les zones non globales.
Si le package est déjà installé dans la zone globale :
Il peut être installé dans toutes les zones non globales.
Il peut être supprimé de la zone globale.
Si le package est déjà installé dans la zone globale et dans un sous-ensemble des zones non globales :
SUNW_PKG_ALLZONES doit être défini sur false.
Il peut être installé dans toutes les zones non globales. Les instances présentes dans toute zone non globale sont mises à jour vers la révision en cours d'installation.
Il peut être supprimé de la zone globale.
Le package peut être supprimé de la zone globale et de toutes les 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 :
Les packages installés dans la zone globale sont soit uniquement installés dans celle-ci, soit installée dans celle-ci et dans toutes les zones non globales.
Les packages installés dans la zone globale et dans toute zone non globale sont identiques.
Les opérations possibles dans toute zone non globale sont les suivantes :
Tout package non installé dans la zone non globale ne peut l'être que si SUNW_PKG_ALLZONES=false.
Tout package peut être installé dans la zone (non globale) actuelle si SUNW_PKG_THISZONE=true.
Si le package est déjà installé dans la zone non globale :
Il ne peut être installé sur l'instance existante que si SUNW_PKG_ALLZONES=false.
Il ne peut être supprimé d'une zone non globale que si SUNW_PKG_ALLZONES=false.
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. |
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.
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 :
pkgadd peut ajouter un package :
uniquement à la zone globale, excepté si SUNW_PKG_ALLZONES=true ;
à la zone globale et à toutes les zones non globales ;
uniquement aux zones non globales si le package est déjà installé dans la zone globale ;
uniquement à la zone actuelle si SUNW_PKG_THISZONE=true.
L'utilitaire pkgadd ne peut ajouter de package :
à un sous-ensemble de zones non globales ;
à toutes les zones non globales, excepté s'il est déjà installé dans la zone globale.
Si l'utilitaire pkgadd est exécuté sans l'option - G et si SUNW_PKG_THISZONE=false , le package spécifié est ajouté à toutes les zones par défaut. Il n'est pas marqué comme installé dans la zone globale uniquement.
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. Il est marqué comme installé dans la zone globale uniquement.
Si l'option -G est spécifiée, pkgadd ajoute le package indiqué uniquement à la zone globale. Il est marqué comme installé dans la zone globale uniquement. Il n'est pas installé si une zone non globale l'est.
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 :
Les dépendances du package sont contrôlées dans la zone globale et dans toutes les zones non globales. Si les packages requis ne sont pas installés dans chacune des zones, le contrôle de dépendance échoue. Le système prévient l'administrateur global, qui doit confirmer s'il souhaite continuer.
Le package est ajouté à la zone globale.
La base de données de packages de la zone globale est mise à jour.
Le package est ajouté à chaque zone non globale et la base de données de la zone globale est mise à jour.
La base de données de packages de chaque zone non globale est mise à jour.
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 :
Son contenu n'affecte aucune portion de zone globale partagée avec une zone non globale.
Le paramètre SUNW_PKG_ALLZONES=false.
L'utilitaire pkgadd exécute les actions suivantes :
Si le contenu du package affecte une portion quelconque de zone globale partagée avec une zone non globale ou si SUNW_PKG_ALLZONES=true, pkgadd échoue. Le message d'erreur indique que le package doit être ajouté à la zone globale et à toutes les zones non globales.
Les dépendances du package sont uniquement contrôlées dans la zone globale. Si les packages requis ne sont pas installés, le contrôle de dépendance échoue. Le système prévient l'administrateur global, qui doit confirmer s'il souhaite continuer.
Le package est ajouté à la zone globale.
La base de données de packages de la zone globale est mise à jour.
Les informations concernant le package sont annotées pour indiquer qu'il est uniquement installé dans la zone globale. En cas d'installation ultérieure d'une zone non globale, ce package n'y est pas installé.
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 :
Exécutez pkgrm dans la zone globale pour supprimer le package.
Ajoutez le package sans utiliser l'option -G.
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 peut uniquement ajouter des packages à la zone non globale dans laquelle il est exécuté.
Le package n'affecte aucune portion de zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=false.
L'utilitaire pkgadd exécute les actions suivantes :
Avant que le package soit ajouté, ses dépendances sont contrôlées dans la base de données des zones non globales. Si les packages requis ne sont pas installés, le contrôle de dépendance échoue. Le système prévient l'administrateur de la zone non globale, qui doit confirmer s'il souhaite continuer. Le contrôle échoue si l'une des conditions suivantes est vraie.
L'un des composants du package affecte une portion quelconque de la zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=true.
Le package est ajouté à la zone.
La base de données de packages de la zone est mise à jour.
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.
Lorsque vous exécutez l'utilitaire pkgrm dans la zone globale :
pkgrm peut supprimer un package de la zone globale et de toutes les zones non globales ou, de la zone globale seulement lorsque le package est uniquement installé dans la zone globale.
pkgrm ne peut ni supprimer un package uniquement de la zone globale si ce package est également installé dans une zone non globale, ni supprimer un package de tout sous-ensemble des zones non globales.
Notez qu'un package peut uniquement être supprimé d'une zone non globale par un administrateur de zone travaillant dans cette zone si :
Le package n'affecte aucune portion de zone non globale partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=false.
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 :
Les dépendances du package sont contrôlées dans la zone globale et dans toutes les zones non globales. Si le contrôle de dépendances échoue, pkgrm échoue aussi. Le système prévient l'administrateur global, qui doit confirmer s'il souhaite continuer.
Le package est supprimé de chaque zone non globale.
La base de données de packages de chaque zone non globale est mise à jour.
Le package est supprimé de la zone globale.
La base de données de packages de la zone globale est mise à jour.
Pour supprimer un package dans une zone non globale, utilisez pkgrm. Les limitations suivantes s'appliquent :
pkgrm peut uniquement supprimer des packages de la zone non globale.
Le package n'affecte aucune portion de zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=false.
L'utilitaire pkgrm exécute les actions suivantes :
Les dépendances sont contrôlées dans la base de données de packages de la zone non globale. Si le contrôle des dépendances échoue, pkgrm échoue aussi et l'administrateur de zone est prévenu. Le contrôle échoue si l'une des conditions suivantes est vraie.
L'un des composants du package affecte une portion quelconque de la zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=true.
Le package est supprimé de la zone.
La base de données de packages de la zone est mise à jour.
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
Le paramètre optionnel SUNW_PKG_ALLZONES décrit la portée d'un package en termes de zone. Ce paramètre indique :
si le package doit être installé dans toutes les zones ;
si le package doit être identique dans toutes les zones.
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
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.
Si SUNW_PKG_HOLLOW 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.
Si SUNW_PKG_ALLZONES est défini sur false, SUNW_PKG_HOLLOW est ignoré.
Si SUNW_PKG_ALLZONES est défini sur false, SUNW_PKG_HOLLOW ne peut pas être défini sur true.
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
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
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.
En règle générale, les patchs possèdent les composants suivants :
des informations sur le patch :
identification : la version du patch et son ID ;
conditions d'application : type et version de système d'exploitation et architecture ;
dépendances : par exemple requises et obsolètes ;
propriétés : par exemple requiert une réinitialisation ultérieure.
un ou plusieurs packages à patcher, chacun d'entre eux contenant :
la version du package auquel les patchs peuvent être appliqués ;
des informations sur le patch, par exemple son ID ou le fait qu'il est obsolète ou requis ;
un ou plusieurs composants du package à patcher.
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.
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.
À 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.
Toutes les zones non globales doivent être arrêtées pour que vous puissiez réaliser cette opération. Vous devez arrêter la zone non globale avant d'appliquer le patch.
Les patchs à activation différée utilisent le système de fichiers loopback (LOFS). Les LOFS des systèmes équipés de Sun Cluster 3.1 ou de Sun Cluster 3.2 sont généralement désactivés, car ils limitent les fonctionnalités HA-NFS lorsqu'ils sont activés. Avant d'installer un patch à activation différée, vous devez donc réactiver le système de fichiers loopback en supprimant ou en commentant la ligne suivante dans le fichier /etc/system :
exclude:lofs |
Réinitialisez ensuite le système et installez le patch. L'installation du patch étant terminée, restaurez ou annulez le commentaire de la même ligne dans le fichier /etc/system. Réinitialisez ensuite le système pour reprendre les opérations normales.
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.
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 :
4 UC sont en ligne.
La configuration est num_proc=6.
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.
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.
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.
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 :
L'utilitaire patchadd est capable d'ajouter les patchs à la zone globale et uniquement à toutes les zones non globales. Il s'agit de l'action par défaut.
L'utilitaire patchadd ne peut pas ajouter de patchs uniquement à la zone globale ou à un sous-ensemble des zones non globales.
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 :
Le patch est ajouté à la zone globale.
La base de données de patchs de la zone globale est mise à jour.
Le patch est ajouté à chaque zone non globale.
La base de données de patchs de chaque zone non globale est mise à jour.
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 :
s'il n'affecte aucune portion de zone partagée avec la zone globale ;
si SUNW_PKG_ALLZONES=false pour tous les packages du patch.
L'utilitaire patchadd exécute les actions suivantes :
Le patch est ajouté à la zone.
La base de données de patchs de la zone est mise à jour.
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.
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.
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.
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.
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.
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.
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.
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).
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).
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. | |
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. |
L'utilitaire système pkgadd décrit dans la page de manuel pkgadd(1M) permet d'exécuter les tâches suivantes :
ajouter un package uniquement à la zone globale ;
ajouter un package à la zone globale et à toutes les zones non globales ;
ajouter à toutes les zones non globales un package déjà installé dans la zone globale ;
ajouter un package uniquement à une zone non globale spécifiée.
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.
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.
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.
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 |
où disque1 correspond au répertoire dans lequel le package a été copié.
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.
N'utilisez pas l'option pkgadd-G.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
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 |
où disque1 correspond au répertoire dans lequel le package a été copié.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
Exécutez pkgrm dans la zone globale pour supprimer le package.
Ajoutez le package sans utiliser l'option -G.
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.
Connectez-vous à la zone non globale en tant qu'administrateur de zone.
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 |
où disque1 correspond au répertoire dans lequel le package a été copié.
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).
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 |
global% pkginfo SUNWcsr SUNWcsu system SUNWcsr Core Solaris, (Root) system SUNWcsu Core Solaris, (Usr) |
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 |
my-zone% pkginfo SUNWcsr SUNWcsu system SUNWcsr Core Solaris, (Root) system SUNWcsu Core Solaris, (Usr) |
L'utilitaire système pkgrm décrit dans la page de manuel pkgrm(1M) permet d'exécuter les tâches suivantes :
supprimer un package de la zone globale et de toutes les zones non globales ;
supprimer un package uniquement d'une zone non globale spécifiée.
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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
Dans la zone globale, exécutez la commande pkgrm suivie du nom du package.
global# pkgrm package_name |
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.
Connectez-vous à la zone non globale en tant qu'administrateur de zone.
Dans la zone non globale, ici my-zone, exécutez la commande pkgrm suivie du nom du package.
my-zone# pkgrm package_name |
L'utilitaire système patchadd décrit dans la page de manuel patchadd(1M) permet d'exécuter les tâches suivantes :
appliquer un patch uniquement à la zone globale ;
appliquer un patch à la zone globale et à toutes les zones non globales ;
appliquer un patch uniquement à une zone non globale spécifiée.
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.
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.
Exécutez la commande patchadd avec l'option -G suivie de l'ID de patch.
global# patchadd -G patch_id |
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.
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.
Exécutez la commande patchadd suivie de l'ID du patch.
global# patchadd patch_id |
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.
Connectez-vous à la zone non globale en tant qu'administrateur de zone.
Dans la zone non globale, ici my-zone, exécutez la commande patchadd suivie de l'ID du patch.
my-zone# patchadd patch_id |
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.
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.
Facultatif, pour les versions antérieures à Solaris 10 10/09 uniquement : téléchargez le patch 119254-66 (SPARC) ou 119255-66 (x86).
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.
L'utilitaire système patchrm décrit dans la page de manuel patchrm(1M) permet d'exécuter les tâches suivantes :
supprimer un patch de la zone globale et de toutes les zones non globales ;
supprimer un patch uniquement d'une zone non globale spécifiée.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
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.
Exécutez la commande patchrm suivie de l'ID du patch.
global# patchrm patch_id |
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.
Connectez-vous à la zone non globale en tant qu'administrateur de zone.
Dans la zone non globale, ici my-zone, exécutez la commande patchrm suivie de l'ID du patch.
my-zone# patchrm patch_id |
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).
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 |
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 |
Ce chapitre aborde les sujets généraux d'administration de zone suivants :
Mise en réseau dans des zones non globales en mode IP partagé
Solaris 10 8/07 : mise en réseau dans des zones non globales en mode IP exclusif
Utilisation de contrôles de ressources dans les zones non globales
Comptabilisation étendue sur un système Solaris doté de zones
À propos de la sauvegarde d'un système Solaris doté de zones
Identification des éléments à sauvegarder dans les zones non globales
Pour plus d'informations sur les zones marquées lx, reportez-vous à la Partie III, Zones marquées lx.
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.
Dans cette version, deux types IP sont désormais disponibles pour les zones non globales. Des informations sur les fonctions disponibles par type IP ont été ajoutées. Voir les 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.
Vous pouvez à présent utiliser un filtre IP Solaris dans les zones en mode IP partagé. Pour plus d'informations, reportez-vous à la section Solaris IP Filter dans les zones en mode IP partagé.
Les informations sur les paramètres de privilèges au sein des zones ont été revues. Voir le Tableau 27–1.
Les informations de la section Commandes utilisées dans un système Solaris doté de zones ont été mises à jour.
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.
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).
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).
Les modifications suivantes ont été apportées à la commande ps :
L'option -o permet de spécifier le format de sortie. Elle permet d'imprimer l'ID de zone d'un processus ou le nom de la zone dans laquelle le processus est exécuté.
L'option -z zone de liste permet de répertorier 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.
L'option -Z permet d'imprimer le nom de la zone associée au processus. Le nom s'imprime sous l'en-tête de colonne ZONE.
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.
ipcs (voir la page de manuel ipcs(1))
pgrep (voir la page de manuel pgrep(1))
ptree (voir la page de manuel proc(1))
prstat (voir la page de manuel prstat(1M))
Pour obtenir la liste complète des modifications apportées aux commandes, reportez-vous au Tableau 27–5.
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.
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).
L'option -o nosuid de l'utilitaire mount a la fonction suivante :
Les processus d'un binaire setuid résidant sur un système de fichiers monté à l'aide de l'option nosetuid ne s'exécutent pas avec les privilèges du binaire setuid. mais avec ceux de l'utilisateur qui exécute le binaire.
En d'autres termes, si un utilisateur exécute un binaire setuid appartenant à root, les processus s'exécutent avec les privilèges de l'utilisateur.
L'ouverture d'entrées spécifiques à un périphérique dans le système de fichiers n'est pas autorisée. Ce comportement équivaut à spécifier l'option nodevices.
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 .
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).
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.
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 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 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.
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.
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).
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.
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).
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.
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 :
Vous pouvez modifier /etc/default/nfs pour définir NFS_CLIENT_VERSMAX=numéro de sorte que la zone utilise la version spécifiée par défaut. Voir la section Setting Up NFS Services du System Administration Guide: Network Services . Pour cela, suivez la procédure de sélection d'autres versions NFS sur un client en modifiant le fichier /etc/default/nfs de la liste des tâches.
Vous pouvez créer manuellement un montage de version. Cette méthode ignore le contenu du fichier /etc/default/nfs. Voir la section Setting Up NFS Services du System Administration Guide: Network Services . Suivez la procédure de sélection d'autres versions NFS sur un client dans la liste des tâches à l'aide de la ligne de commande.
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.
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 :
Spécifiez que le répertoire parent de la racine de zone appartient uniquement à la racine et que seule celle-ci peut l'exécuter et y accéder en lecture et en écriture.
Limitez l'accès aux répertoires exportés par /proc.
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.
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 :
La commande est exécutée dans la zone globale.
La racine alternative renvoie à un chemin racine au sein d'une zone non globale, que le chemin soit relatif à la zone globale du système en cours d'exécution ou à la zone globale dans une racine alternative.
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.
auditreduce
bart
flar
flarcreate
installf
localeadm
makeuuid
metaroot
patchadd
patchrm
pkgadd
pkgadm
pkgask
pkgchk
pkgrm
prodreg
removef
routeadm
showrev
syseventadm
Les commandes et programmes utilisant l'option -b avec un chemin racine alternatif sont répertoriés ci-dessous.
add_drv
pprosetup
rem_drv
roleadd
sysidconfig
update_drv
useradd
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.
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 :
démons de services Internet avec un fichier de configuration complet (voir la page de manuel inetd(1M)) ;
commande sendmail (voir la page de manuel sendmail(1M)) ;
commande apache (voir la page de manuel apache(1M)).
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.
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).
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 :
L'adresse source pour les paquets est sélectionnée sur l'interface de sortie spécifiée par la route de concordance.
Par défaut, le trafic est autorisé entre deux zones disposant d'adresses sur le même sous-réseau. Dans ce cas, la route de concordance est la route d'interface pour le sous-réseau.
Lorsqu'une route par défaut existe pour une zone et que la passerelle correspond à l'un des sous-réseaux de la zone, le trafic en provenance de cette zone vers les autres zones est autorisé. Dans ce cas, la route de concordance correspond à la route par défaut.
Si une route de concordance présente l'indicateur RTF_REJECT, les paquets déclenchent un message ICMP inaccessible. Si une route de concordance présente l'indicateur RTF_BLACKHOLE, les paquets sont rejetés. L'administrateur global peut créer des routes avec ces indicateurs à l'aide des options de commande route décrites dans le tableau suivant.
Modificateur |
Indicateur |
Description |
---|---|---|
-reject |
RTF_REJECT |
Émet un message ICMP inaccessible en cas de concordance. |
-blackhole |
RTF_BLACKHOLE |
Rejette en mode silencieux les paquets lors des mises à jour. |
Pour plus d'informations, reportez-vous à la page de manuel route(1M).
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.
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.
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 .
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.
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).
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.
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.
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.
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.
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 :
devfsadm (voir la page de manuel devfsadm(1M)) ;
syseventd (voir la page de manuel syseventd(1M)) ;
bibliothèque d'informations sur les périphériques libdevinfo (voir la page de manuel libdevinfo(3LIB)) ;
pilote devinfo (voir la page de manuel devinfo(7D)) ;
Reconfiguration Coordination Manager (RCM, gestionnaire de coordination de reconfiguration). Voir la section Reconfiguration Coordination Manager (RCM) Script Overview du System Administration Guide: Devices and File Systems.
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.
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 :
Avant d'assigner un périphérique de bande SCSI à une zone spécifique, consultez la page de manuel sgen(7D).
Le placement d'un périphérique physique dans plusieurs zones peut créer un canal secret entre les zones. Les applications de la zone globale qui utilisent ce périphérique peuvent subir des dommages de données occasionnés par une zone non globale.
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 :
ajout et suppression de pilotes ;
chargement et déchargement explicites de modules de noyau ;
initialisation de la reconfiguration dynamique (DR, Dynamic Reconfiguration) ;
utilisation de fonctions ayant une incidence sur l'état de la plate-forme physique.
Les utilitaires suivants ne fonctionnent pas dans une zone, car ils dépendent de périphériques habituellement indisponibles :
cdrecord (reportez-vous à la page de manuel dans le répertoire /usr/share/man/man1 . )
cdrw (reportez-vous à la page de manuel cdrw(1))
rmformat (reportez-vous à la page de manuel rmformat(1))
add_drv (reportez-vous à la page de manuel add_drv(1M))
disks (reportez-vous à la page de manuel disks(1M))
prtconf (voir la page de manuel prtconf(1M)) ;
prtdiag (voir la page de manuel prtdiag(1M)).
rem_drv (reportez-vous à la page de manuel rem_drv(1M))
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).
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 :
les applications faisant appel à des opérations requérant des privilèges et concernant l'ensemble du système, telles que la configuration de l'horloge du système global ou le verrouillage de la mémoire physique ;
les quelques applications dépendant de certains périphériques qui n'existent pas dans une zone non globale, comme /dev/kmem ;
les applications requérant l'accès en écriture à /usr, à l'exécution, à l'installation, à l'application de patch ou à la mise à niveau. En effet, /usr est, par défaut, en lecture seule pour les zones non globales. Il est parfois possible de minimiser les problèmes associés à ce type d'application sans modifier l'application elle-même ;
dans une zone en mode IP partagé, les applications dépendant de périphériques dans /dev/ip.
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.
Cette section décrit l'utilisation de l'ordonnanceur FSS (Fair Share Scheduler) dans le cadre des zones.
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.
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.
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.
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.
Ces privilèges sont interprétés uniquement si le système est configuré avec Solaris Trusted Extensions.
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.
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).
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.
Vous pouvez utiliser l'architecture IPsec dans les zones en mode IP exclusif.
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 :
Chapitre 29, Planning for Oracle Solaris Auditing du System Administration Guide: Security Services
Auditing and Solaris Zones du System Administration Guide: Security Services
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 :
des enregistrements d'audit portant le nom de la zone ayant généré l'enregistrement ;
un journal d'audit destiné à une zone spécifique que l'administrateur global peut rendre disponible à l'administrateur de zone.
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).
À 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).
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).
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).
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.
Vous pouvez effectuer des sauvegardes dans chaque zone non globale ou sauvegarder le système dans son intégralité à partir de la zone globale.
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.
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.
Il est conseillé d'effectuer les sauvegardes à partir de la zone globale dans les cas suivants :
Vous souhaitez sauvegarder les configurations des zones non globales et les données d'application.
Votre préoccupation principale est de pouvoir réaliser une reprise sur sinistre. Si vous devez restaurer le système en partie ou en totalité, notamment les systèmes de fichiers racine des zones et leurs données de configuration ainsi que les données de la zone globale, vous devez effectuer les sauvegardes dans la zone globale.
Vous souhaitez utiliser la commande ufsdump pour réaliser une sauvegarde des données. L'importation d'un périphérique de disque physique dans une zone non globale modifie le profil de sécurité de la zone. Il est donc impératif d'utiliser la commande ufsdump à partir de la zone globale.
Vous possédez un logiciel de sauvegarde réseau commercial.
Dans la mesure du possible, configurez votre logiciel de sauvegarde réseau de sorte à ce que tous les systèmes de fichiers lofs soient ignorés. Vous devez effectuer la sauvegarde lorsque la zone et ses applications ont mis en attente les données à sauvegarder.
Il est conseillé d'effectuer des sauvegardes au sein des zones non globales dans les cas suivants :
L'administrateur de zone non globale doit pouvoir effectuer une récupération des défaillances bénignes ou une restauration des données d'utilisateur ou d'application spécifiques à une zone.
Vous souhaitez utiliser des programmes de sauvegarde par fichier, notamment tar ou cpio. Reportez-vous aux pages de manuel tar(1) et cpio(1).
Vous utilisez le logiciel de sauvegarde d'une application ou d'un service particulier en cours d'exécution dans une zone. L'exécution du logiciel de sauvegarde à partir de la zone globale peut se révéler difficile, car les environnements d'application (chemin de répertoire et logiciels installés, notamment) peuvent différer entre la zone globale et la zone non globale.
Si l'application peut réaliser un instantané sur son propre programme de sauvegarde dans chaque zone non globale et enregistrer ces sauvegardes dans un répertoire en écriture exporté depuis la zone globale, l'administrateur global peut recueillir ces sauvegardes dans le cadre de la stratégie de sauvegarde menée à partir de la zone globale.
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.
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 :
répertoires de base des utilisateurs ;
/etc pour les fichiers de données de configuration ;
/var.
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.
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 :
Veillez d'abord à ce que l'état des bases de données soit cohérent.
Les bases de données doivent se trouver en mode quiescent, car leurs tampons internes doivent être remis à zéro sur le disque. Avant de lancer la sauvegarde à partir de la zone globale, veillez à ce que les bases de données dans les zones non globales descendent.
Au sein de chaque zone, réalisez un instantané des données à l'aide des fonctions de système de fichiers. Ensuite, sauvegardez les instantanés directement à partir de la zone globale.
Ce processus réduit le temps écoulé de la fenêtre de sauvegarde et évite d'avoir à sauvegarder les clients ou modules dans toutes les zones.
À 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 :
Le nombre de périphériques de bande requis est moindre.
Aucune coordination entre les zones non globales n'est nécessaire.
La sécurité est renforcée, car il n'est pas obligatoire d'assigner des périphériques directement aux zones.
En général, la zone globale conserve la gestion du système, ce qui est recommandé.
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 :
La configuration de la zone restaurée ne doit pas avoir été modifiée depuis la sauvegarde.
Aucune mise à jour ni aucun patch ne doit avoir été appliqué à la zone globale entre la sauvegarde et la restauration de la zone.
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.
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.
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 |
---|---|
Connexion à une zone non globale |
|
Impression du nom de la zone actuelle |
|
Administration de zones au sein d'un système |
|
Définition d'une configuration de zone |
|
Mappage du nom et de l'ID de zone |
|
Description de la fonction de zones |
|
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 |
---|---|
Gère l'utilisation des ressources des projets faisant l'objet d'une restriction de ressources . |
|
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. |
|
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 |
---|---|
Ajout de l'option de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale. |
|
Ajout de l'option de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Ajout de ID de zone à la liste des arguments valides utilisés avec l'option -i. |
|
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. |
|
Ajout du jeton nom de zone. |
|
Ajout de l'option -z nom de zone. Ajout de la possibilité d'obtenir un journal d'audit d'une zone. |
|
Ajout de la variable %z permettant d'identifier la zone dans laquelle le processus a été exécuté. |
|
Ajout de l'option -Z pour afficher les montages dans toutes les zones visibles. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Affiche les informations relatives à la zone active uniquement. |
|
Affiche les statistiques sur la zone active uniquement. |
|
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. |
|
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. |
|
Lorsque cette commande est exécutée dans une zone non globale, seules les informations sur les processeurs visibles pour la zone s'affichent. |
|
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. |
|
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. |
|
Ajout de AUDIT_ZONENAME pour générer un jeton ID de zone avec chaque enregistrement d'audit. |
|
Ajout de l'argument P_ZONEID ID. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Modification de PRIV_SYS_CONFIG en PRIV_SYS_ADMIN. |
|
ENOENT est renvoyé si le fichier indiqué par fichier n'est pas un chemin absolu. |
|
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. |
|
Ajout d'ID de zone aux processus cibles pouvant être spécifiés. Ajout d'ID de zone à la description d'erreur EINVAL. |
|
Ajout de la chaîne "zone" pour le groupe de tous les privilèges disponibles au sein de la zone du programme appelant. |
|
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. |
|
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. |
|
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. |
|
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é. |
|
Pour aider les zones, cette commande fournit désormais des paramètres facultatifs et une variable d'environnement. |
|
Ajout de capacité pour l'obtention d'informations relatives aux processus en cours d'exécution dans les zones. |
|
Ajout du champ in<nom de zone > utilisé lorsque la stratégie d'audit zonename est définie. |
|
Ajout de PRIV_PROC_ZONE qui permet à un processus de suivre ou d'envoyer des signaux à des processus d'autres zones. Voir zones(5). |
|
Ajout d'appels ioctl() de zone. |
|
Ajout d'un paramètre de zone. |
|
Ajout de crgetzoneid(), qui renvoie l'ID de zone à partir des informations d'identification de l'utilisateur signalées par cr. |
Ce chapitre traite des tâches d'administration générales et contient des exemples d'utilisation.
Montage de systèmes de fichiers dans des zones non globales en cours d'exécution
Ajout d'un accès à une zone non globale pour des systèmes de fichiers spécifiques d'une zone globale
Utilisation du multiacheminement sur réseau IP dans un système Solaris doté de zones
Solaris 10 8/07 : gestion des liaisons de données dans les zones non globales en mode IP exclusif
Utilisation de l'ordonnanceur FSS sur un système Solaris doté de zones
Utilisation des profils de droits dans l'administration de zone
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.
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.
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.
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.
L'utilitaire ppriv permet d'afficher les privilèges de la zone.
Répertoriez les privilèges disponibles sur le système à l'aide de l'utilitaire ppriv et de l'option -l.
À 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 . . . |
Répertoriez les privilèges de la zone à l'aide de l'utilitaire ppriv, conjointement avec l'option -l et l'expression zone.
Connectez-vous à une zone non globale. Dans cet exemple, la zone s'appelle my-zone.
À 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 . . . |
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.
Connectez-vous à une zone non globale. Dans cet exemple, la zone s'appelle my-zone.
À 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. . . . |
Pour utiliser la fonction DTrace, suivez la procédure décrite à la section Exécution de DTrace dans une zone non globale.
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 |
Selon les exigences requises, vous pouvez ajouter l'un des privilèges ou les deux privilèges.
Initialisez la zone.
global# zoneadm -z my-zone boot |
Connexion à la zone
global# zlogin my-zone |
Exécutez le programme DTrace.
my-zone# dtrace -l |
Vérifiez le statut des services SMF dans une zone non globale native à l'aide de la commande zlogin.
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.
À 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 |
Pour plus d'informations, reportez-vous au Chapitre 22Connexion à une zone non globale (tâches) et à la page de manuel svcs(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.
Connexion à la zone
global# zlogin my-zone |
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 |
Pour plus d'informations, reportez-vous au Chapitre 22Connexion à une zone non globale (tâches) et à la page de manuel svcs(1).
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.
En tant qu'administrateur global d'une zone globale, vous pouvez importer des périphériques bruts et des périphériques en mode bloc dans une zone non globale. Après importation, l'administrateur de zone dispose de l'accès au disque. Il peut alors créer un nouveau système de fichiers sur le disque et effectuer l'une des opérations suivantes :
montage manuel du système de fichiers ;
placement du système de fichiers dans /etc/vfstab pour un montage lors de l'initialisation de la zone.
En tant qu'administrateur global, vous pouvez également monter un système de fichiers dans une zone non globale à partir de la zone globale.
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.
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.
Remplacez les répertoires par /usr/tmp.
global# cd /usr/tmp |
Créez un nouveau système de fichiers UFS.
global# mkfile 10m fsfile |
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.
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 |
Réinitialisez la zone.
global# zoneadm -z my-zone boot |
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 |
Pour plus d'informations, reportez-vous aux pages de manuel lofiadm(1M) et lofi(7D).
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).
Devenez superutilisateur ou vérifiez que votre liste de profils contient le profil Gestion de zone.
Dans la zone my-zone, créez un système de fichiers sur le disque.
my-zone# newfs /dev/lofi/1 |
À 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, |
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) |
Montez le système de fichiers.
my-zone# mount -F ufs /dev/lofi/1 /mnt |
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 |
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 :
logging est l'option de montage.
yes indique au système qu'il doit monter automatiquement le système de fichiers lors de l'initialisation de la zone.
/dev/rlofi/1 est le périphérique en mode caractère (ou brut). Vous pouvez exécuter la commande fsck sur le périphérique brut, le cas échéant.
Devenez superutilisateur ou vérifiez que votre liste de profils contient le profil Gestion de zone.
Dans la zone my-zone, ajoutez la ligne suivante au fichier /etc/vfstab :
/dev/lofi/1 /dev/rlofi/1 /mnt ufs 2 yes logging |
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.
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.
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 |
Pour plus d'informations sur la commande lofi, reportez-vous aux pages de manuel lofiadm(1M) et lofi(7D).
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.
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.
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 |
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 |
Insérez le support.
Vérifiez la présence d'un support dans le lecteur.
global# volcheck |
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 |
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 |
Réinitialisez la zone non globale.
global# zoneadm -z my-zone reboot |
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 |
Connectez-vous à la zone non globale.
global# zlogin my-zone |
Vérifiez le montage DVD-ROM.
my-zone# ls /cdrom |
Des informations semblables à ce qui suit s'affichent.
cdrom cdrom1 jes_05q4_dvd |
Installez le produit en suivant les instructions du guide d'installation correspondant.
Quittez la zone non globale.
my-zone# exit |
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.
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 |
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.
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.
Créez le répertoire /usr/local dans la zone globale.
global# mkdir -p /usr/local |
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 |
Modifiez la configuration de la zone my-zone.
global# zonecfg -z my-zone |
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 |
Initialisez la zone.
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.
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.
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 |
Ajoutez la ligne suivante au fichier /etc/auto_home de la zone :
$HOST:/export/home/& |
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.
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.
Configurez les groupes IPMP selon les instructions décrites à la section Configuration de groupes IPMP du Guide d’administration système : services IP.
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 :
Les cartes bge0 et hme0 sont configurées ensemble dans un groupe.
L'adresse 192.168.0.1 est associée à la zone non globale my-zone.
La carte bge0 est définie en tant qu'interface physique. Par conséquent, l'adresse IP est hébergée dans le groupe contenant les cartes bge0 et hme0.
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.
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.
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.
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.
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.
La commande dladm permet d'administrer les liaisons de données à partir de la zone globale.
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.
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.
Affichez l'assignation des liaisons de données dans le système.
global# dladm show-linkprop |
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 -- -- -- |
La zone 49bge est initialisée.
global# zoneadm -z 49bge boot |
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 -- -- -- |
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.
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.
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 -- -- |
L'option -p produit un affichage dans un format stable et analysable.
La commande dladm associée à la sous-commande reset-linkprop permet d'annuler l'assignation de la liaison bge0.
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.
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 -- -- |
L'option -p produit un affichage dans un format stable et analysable.
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.
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.
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.
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.
Exécutez l'utilitaire prctl pour assigner deux partages à la zone globale :
# prctl -n zone.cpu-shares -v 2 -r -i zone global |
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 |
Pour plus d'informations sur l'utilitaire prctl, reportez-vous à la page de manuel prctl(1).
Cette procédure peut être utilisée pour toutes les zones, pas seulement la zone globale.
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 .
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.
Cette section traite des tâches associées à l'utilisation des profils de droits dans les zones non globales.
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.
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.
Créez un rôle comprenant le profil de droits de gestion de zone et assignez-le à un utilisateur.
Pour créer et assigner le rôle à l'aide de la console de gestion Solaris, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services . Consultez la tâche "Création et assignation d'un rôle à l'aide de l'IG".
Pour créer et assigner le rôle sur la ligne de commande, reportez-vous à la section Managing RBAC du System Administration Guide: Security Services . Consultez la tâche "Création d'un rôle à partir de la ligne de commande".
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 |
Les procédures suivantes permettent de sauvegarder des fichiers dans des zones. N'oubliez pas de sauvegarder aussi les fichiers de configuration des zones.
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.
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.
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 |
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 |
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 |
Initialisez la zone.
global# zoneadm -z my-zone boot |
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 :
Une zone appelée my-zone réside sous /export/home.
/export/home correspond à un système de fichiers distinct.
La sauvegarde de destination est /backup/my-zone.ufsdump. Vous devez créer le répertoire backup sous /.
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.
Créez l'instantané.
global# fssnap -o bs=/export /export/home |
Des indications similaires à celles figurant ci-dessous s'affichent :
dev/fssnap/0 |
Montez l'instantané.
global# mount -o ro /dev/fssnap/0 /mnt |
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 |
Démontez l'instantané.
global# umount /mnt |
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.
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.
Remplacez les répertoires par le répertoire racine.
global# cd / |
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 |
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 |
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.
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.
Imprimez la configuration de la zone my-zone dans un fichier nommé my-zone.config.
global# zonecfg -z my-zone export > my-zone.config |
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.
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.
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 |
Installez la zone.
global# zoneadm -z my-zone install |
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 |
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.
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.
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.
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.
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.
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.
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.
Lorsque vous utilisez la commande lucreate pour créer un environnement d'initialisation de remplacement, toute zone qui n'est pas en cours d'exécution ne peut s'initialiser qu'à la fin de l'opération lucreate.
Lorsque vous utilisez la commande lucreate pour créer un environnement d'initialisation de remplacement, toute zone en cours d'exécution ne doit être arrêtée ou réinitialisée qu'à la fin de l'opération lucreate.
Lorsqu'un environnement d'initialisation de remplacement est monté à l'aide de la commande lumount, il est impossible d'initialiser ou de réinitialiser les zones. Cependant, les zones en cours d'exécution avant l'opération lumount peuvent continuer de s'exécuter.
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.
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.
La configuration requise et les informations de planification globales pour tous les types d'installations et de mises à niveau sont expliquées au Chapitre 4, System Requirements, Guidelines, and Upgrade (Planning) du Solaris 10 11/06 Installation Guide: Planning for Installation and Upgrade. Le support d'installation doit être un DVD ou une image d'installation réseau créée à partir d'un DVD.
L'interface Solaris 10 est décrite dans le Solaris 10 11/06 Installation Guide: Basic Installations.
Les considérations à prendre en compte lors d'installations personnalisées JumpStart et les limitations de telles installations sont décrits au Chapitre 8, Custom JumpStart (Reference) du Solaris 10 11/06 Installation Guide: Custom JumpStart and Advanced Installations.
Pour plus d'informations sur l'installation ou la mise à niveau sur réseau, reportez-vous au Solaris 10 11/06 Installation Guide: Network-Based Installations.
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.
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.
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.
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.
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.
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 |
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).
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.
packages délivrant les fichiers avec une ressource inherit-pkg-dir
packages où SUNW_PKG_ALLZONES=true
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 |
Pour faire migrer la zone, employez l'une des méthodes suivantes :
Mettez à jour le nouvel hôte avec les packages et patchs adéquats, afin que le contenu soit identique sur les deux systèmes. Pour plus d'informations, reportez-vous au Chapitre 25À propos des packages et des patchs pour les systèmes Solaris comportant des zones installées (présentation) et au Chapitre 26Ajout et suppression de packages et de patchs sur un système Solaris comportant des zones installées (tâches).
Si le nouvel hôte dispose de versions plus récentes des packages dépendants des zones ou des patchs qui leur sont associés, utilisez la commande zoneadm attach avec l'option -u ou -U pour mettre à jour les packages de la zone afin qu'ils correspondent au nouvel hôte. Voir À propos de la migration d'une zone.
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.
Vérifiez la version de Solaris exécutée sur le système d'origine.
host1# uname -a |
Installez la même version sur le nouvel hôte.
Consultez la documentation relative à l'installation Solaris sur le site Web docs.sun.com.
Pour migrer la zone, utilisez l'option -u avec la commande zoneadm attach.
Vérifiez l'architecture système des deux systèmes.
host1# uname -a |
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.
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 :
Redémarrez le système avec le système d'exploitation installé.
Reconfigurez les zones en supprimant les ressources fs définies avec le type lofs.
Une fois ces ressources supprimées, mettez le système à niveau vers Solaris 10 11/06.
Ensuite, vous pouvez reconfigurer les zones afin de restaurer les ressources fs supplémentaires supprimées.