Solaris 10 8/07 : les zones marquées sont disponibles à compter de cette version.
BrandZ offre l'infrastructure nécessaire pour créer des zones marquées non globales contenant des environnements d'exploitation non natifs. Les zones marquées sont utilisées sur le système d'exploitation Solaris pour exécuter des applications.
La première marque disponible était la marque lx (conteneurs Solaris pour applications Linux). La marque lx offre un environnement Linux pour vos applications et fonctionne sur des machines x86 et x64.
Les zones marquées sont disponibles depuis la version Solaris 10 8/07. Les fonctions ajoutées aux versions de mise à jour plus récentes sont identifiées par la version.
La fonction des zones marquées du système d'exploitation Solaris est une simple extension des zones Solaris. Ce chapitre traite du concept des zones marquées et de la marque lx qui met en œuvre la fonction des zones marquées Linux. Les zones marquées Linux sont également appelées des conteneurs Solaris pour applications Linux.
Vous pouvez configurer et installer des zones marquées sur un système Trusted Solaris dont les étiquettes sont activées. Cependant, vous ne pouvez pas initialiser les zones marquées sur cette configuration système.
D'autres marques sont prises en charge sur le système d'exploitation Solaris.
Les deux marques suivantes sont prises en charge sur les machines SPARC dotées du système d'exploitation Solaris 10 8/07 ou d'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
La marque cluster, décrite à la page Sun Cluster 3.2 1/09 Software Collection for Solaris OS du site docs.sun.com, est également prise en charge par la version Solaris 10.
Reportez-vous au Chapitre 16Introduction aux zones Solaris pour des informations générales sur l'utilisation des zones d'un système Solaris.
Les concepts suivants de gestion de ressources et de zones doivent vous être familiers :
Zone globale et zone non globale, voir la section Fonctionnement des zones
Administrateur global et administrateur de zone, voir les sections Administration de zones non globales et Création de zones non globales
Modèle d'état de zone, voir la section États des zones non globales
Caractéristiques d'isolation de zone, voir la section Caractéristiques des zones non globales
Privilèges, voir la section Privilèges dans une zone non globale
Mise en réseau, voir la section Mise en réseau dans des zones non globales en mode IP partagé
Conteneur Solaris (utilisation de fonctions de gestion des ressources, telles que les pools de ressources, avec des zones). Pour plus d'informations sur l'utilisation et l'interaction des zones et des fonctions de gestion de ressources, reportez-vous aux sections Utilisation des fonctions de gestion de ressources avec les zones non globales et Paramétrage des contrôles de ressources à l'échelle d'une zone, au Chapitre 27Administration de zones Solaris (présentation), ainsi qu'aux différents chapitres de la partie 1 Gestion des ressources de ce manuel qui traitent de chaque fonction de gestion de ressources. Par exemple, les pools de ressources sont abordés au Chapitre 12Pools de ressources (présentation) et au Chapitre 13Création et administration des pools de ressources (tâches)
L'ordonnanceur FSS, classe de programmation qui permet d'allouer du temps CPU en fonction des partages, voir Chapitre 8Ordonnanceur FSS (présentation) et Chapitre 9Administration de l'ordonnanceur FSS (tâches).
Démon d'allocation restrictive (rcapd) permettant de contrôler, à partir de la zone globale, l'utilisation de la taille résidente définie (RSS) des zones à marque. La propriété de la ressource zonecfg capped-memory définit la valeur max-rss d'une zone. Cette valeur est appliquée par le démon rcapd exécuté dans la zone globale. 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), Chapitre 11Administration du démon d'allocation restrictive (tâches) et à la page de manuel rcapd(1M).
Le Glossaire contient les définitions des termes relatifs aux fonctions de gestion des ressources et des zones.
Vous trouverez dans cette partie du manuel toutes les informations supplémentaires nécessaires à l'utilisation des zones marquées sur votre système.
Les chapitres suivants du manuel ne s'appliquent pas aux zones marquées :
La structure de zone marquée étend l'infrastructure des zones Solaris, décrite dans la Partie II, Zones de ce manuel, à la création de marques. Le terme marque peut renvoyer à un large éventail d'environnements d'exploitation. La zone marquée vous permet de créer des zones non globales contenant des environnements d'exploitation non natifs dans lesquels vous exécutez des applications. Le type de marque permet de déterminer les scripts exécutés lors de l'installation et de l'initialisation d'une zone. En outre, une marque de zone identifie le type correct d'application au lancement de celle-ci. La gestion des marques s'effectue par le biais d'extension de la structure de zones actuelle.
Une marque peut fournir un environnement simple ou complexe. Par exemple, un environnement simple permet de remplacer les utilitaires Solaris standard par leurs équivalents GNU tandis qu'un environnement complexe offre un espace utilisateur Linux complet prenant en charge l'exécution d'applications Linux.
Chaque zone est configurée avec une marque associée. La marque native Solaris fait figure de marque par défaut. Une zone marquée prend en charge une seule marque de code binaire non natif. En d'autres termes, elle fournit un environnement d'exploitation unique.
La zone marquée étend les outils de zone de la manière suivante :
La commande zonecfg définit le type de marque d'une zone lors de la configuration de cette dernière.
La commande zoneadm signale le type de marque d'une zone et gère cette dernière.
Vous pouvez modifier la marque d'une zone lors de la configuration. Une fois installée, une zone marquée ne peut être ni modifiée ni supprimée.
Une zone marquée présente un ensemble de points d'interposition au sein du noyau qui s'appliquent uniquement aux processus exécutés dans la zone.
Ces points résident dans les chemins : chemin syscall, chemin de chargement de processus et chemin de création de thread, notamment.
À chacun d'eux, une marque peut opter de compléter ou de remplacer le comportement Solaris standard.
Une marque peut également fournir une bibliothèque de plug-ins pour librtld_db. Grâce à celle-ci, les outils Solaris tels que le débogueur, décrit à la page de manuel mdb(1), et DTrace, décrit à la page de manuel dtrace(1M) accèdent aux informations de symbole des processus exécutés au sein d'une zone marquée.
Vous trouverez les périphériques compatibles dans les pages de manuel et dans la documentation de chaque marque. La marque définit la prise en charge de périphérique. Une marque peut opter d'interdire l'ajout de périphériques non pris en charge ou non reconnus.
La marque définit le système de fichiers requis par la zone marquée.
La marque définit les privilèges disponibles dans une zone marquée. Pour plus d'informations sur les privilèges, voir les sections Privilèges dans une zone non globale et Privilèges configurables dans une zone marquée lx.
La marque lx utilise la structure de zones marquées afin que les applications binaires Linux puissent s'exécuter sans modification sur un ordinateur équipé du système d'exploitation Solaris.
L'ordinateur doit être équipé de l'un des types de processeurs i686 pris en charge suivants :
Intel
Pentium Pro
Pentium II
Pentium III
Celeron
Xeon
Pentium 4
Pentium M
Pentium D
Pentium Extreme Edition
Noyau
Core 2
AMD
Opteron
Athlon XP
Athlon 64
Athlon 64 X2
Athlon FX
Duron
Sempron
Turion 64
Turion 64 X2
La marque lx inclut les outils nécessaires à l'installation d'une distribution CentOS 3.x ou Red Hat Enterprise Linux 3.x au sein d'une zone non globale. Les versions 3.5 à 3.8 de chaque distribution sont prises en charge. La marque prend en charge l'exécution des applications Linux 32 bits sur des ordinateurs x86 et x64 exécutant le système d'exploitation Solaris en mode 32 bits ou 64 bits.
La marque lx émule les interfaces d'appel système du noyau Linux 2.4.21 modifié par Red Hat dans les distributions RHEL 3. x. Ce noyau fournit les interfaces d'appel système consommées par la bibliothèque glibc version 2.3.2 commercialisée par Red Hat.
En outre, la marque lx émule en partie les interfaces /dev et /proc de Linux.
Vous devez conserver une configuration prise en charge pour ajouter des packages à une zone marquée lx. Pour plus d'informations, voir la section À propos de la gestion d'une configuration prise en charge.
Le système Solaris ne limite pas le nombre d'applications Linux exécutables dans une zone marquée lx. Vous devez disposer de suffisamment de mémoire. Voir également la section Configuration système requise et espace requis.
Quel que soit le noyau sous-jacent, vous ne pouvez exécuter que des applications Linux 32 bits.
La zone lx prend uniquement en charge les applications Linux de niveau utilisateur. Les pilotes de périphérique Linux, les modules de noyau Linux et les systèmes de fichiers Linux ne sont pas autorisés au sein d'une zone lx.
Pour obtenir la liste des applications pouvant être exécutées sous la marque lx, reportez-vous à l'URL http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications. Pour obtenir un exemple d'installation d'application, voir la section Installation d'une application dans une zone marquée lx.
Il n'est pas possible d'exécuter des applications Solaris au sein d'une zone lx. Toutefois, la zone lx permet d'utiliser le système Solaris dans le but de développer, tester et déployer des applications Linux. Par exemple, vous pouvez placer une application Linux dans une zone lx et l'analyser à l'aide d'outils Solaris exécutés à partir de la zone globale. Vous pouvez ensuite apporter vos modifications et déployer l'application améliorée sur un système Linux natif.
Les outils de débogage Solaris tels que DTrace et mdb s'appliquent aux processus Linux exécutés au sein de la zone. Toutefois, les outils eux-mêmes doivent s'exécuter dans la zone globale. Tous les fichiers Core qui sont générés le sont au format Solaris. Seuls les outils Solaris permettent de les déboguer.
DTrace est activé pour les applications Linux par le fournisseur de suivi dynamique lxsyscall DTrace. Celui-ci agit de la même manière que le fournisseur syscall. lxsyscall fournit des sondes qui se déclenchent à chaque entrée ou retour d'un thread via un point d'entrée d'appel système.
Pour plus d'informations sur les options de débogage, voir le manuel Solaris Dynamic Tracing Guide ainsi que les pages de manuel dtrace(1M) et mdb(1). Le manuel Manuel de suivi dynamique Solaris décrit les interfaces publiques prenant en charge la fonction DTrace. La documentation disponible sur le fournisseur syscall s'applique au fournisseur lxsyscall .
Les systèmes de fichiers réseau (NFS) dépendent des services de noms qui sont spécifiques aux zones. Il est donc impossible d'accéder aux NFS qui sont montés hors de la zone courante. Par conséquent, vous n'êtes pas en mesure de déboguer les processus Linux NFS à partir de la zone globale.
Les commandes répertoriées dans le tableau suivant fournissent l'interface principale d'administration de la fonction de zones.
Tableau 31–1 Commandes et autres interfaces utilisées avec les zones marquées lx
Aide-mémoire des commandes |
Description |
---|---|
Connexion à une zone non globale |
|
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 |
|
brands(5) |
Description de la fonction de zones marquées |
lx(5) |
Description des zones marquées Linux |
Description de la fonction de zones |
|
lx_systrace(7D) |
Fournisseur de suivi d'appel système Linux DTrace |
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.
Le Tableau 27–5 traite des commandes pouvant être utilisées dans la zone globale pour afficher des informations sur toutes les zones non globales, notamment les zones marquées. Le Tableau 27–4 traite des commandes à utiliser avec le démon de limitation des ressources.
Le tableau suivant résume les tâches nécessaires à la configuration initiale des zones lx sur le système.
Tâche |
Description |
Voir |
---|---|---|
Identifier chaque application Linux 32 bits à exécuter dans une zone |
Évaluez les exigences système de l'application. |
Au besoin, reportez-vous à vos objectifs métier et à votre documentation système. |
Déterminer le nombre de zones à configurer. |
Évaluez :
|
Voir Prise en charge d'application, Configuration système requise et espace requis, Évaluation du paramétrage du système, Script de configuration de plusieurs zones marquées lx. |
Décider de l'utilisation ou non de pools de ressources avec la zone pour créer un conteneur. |
Si vous choisissez d'utiliser des pools de ressources, configurez-les avant de configurer les zones. Vous pouvez ajouter rapidement des contrôles de ressources et une fonction de pool s'appliquant à toute une zone à l'aide des propriétés zonecfg. |
Voir Configuration de la zone marquée lx, Chapitre 13Création et administration des pools de ressources (tâches). |
Exécuter les tâches de préconfiguration. |
Déterminez le nom et le chemin de chaque zone. Si une connexion réseau est nécessaire, obtenez les adresses IP. 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. |
Pour plus d'informations sur les noms de zone, les chemins de zone, les adresses IP et les classes de programmation, voir la section Composants de configuration de zone marquée lx. 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 l'association de pool de ressources, voir les sections Fonctionnement des zones et Configuration de la zone marquée lx. |
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. |
Vous devez vérifier et installer les zones avant leur initialisation. Vous devez obtenir une distribution Linux préalablement à l'installation d'une zone marquée Linux. |
Voir le 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 le Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches). |
En tant qu'administrateur global, initialiser les zones non globales |
Initialisez chaque zone de manière à ce qu'elle soit en cours d'exécution. | |
Préparer la nouvelle zone à des fins de production. |
Au sein de la zone, créez des comptes utilisateur, ajoutez des logiciels supplémentaires et personnalisez la configuration de la zone à l'aide des méthodes et outils d'administration du système Linux. |
Consultez la documentation utilisée pour configurer un ordinateur récemment installé et installer les applications. Ce manuel couvre les points à prendre en compte dans le cadre d'un système doté de zones. |
Ce chapitre décrit les tâches à effectuer avant de configurer une zone marquée lx sur un système x64 ou x86. Ce chapitre explique également l'utilisation de la commande zonecfg.
L'utilisation des zones marquées lx est liée aux considérations suivantes concernant la machine :
La machine doit être basée sur x64 ou x86.
L'espace disque disponible doit être suffisant pour contenir les fichiers uniques de chaque zone lx. L'espace disque requis pour une zone lx est déterminé par la taille et le nombre de RPM, ou packages Linux, installés.
La marque lx prend en charge uniquement le modèle racine tout entier. Par conséquent, chaque zone installée possède sa propre copie de chaque fichier.
La quantité de mémoire utilisée par une zone n'est pas limitée. 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. Si l'espace de stockage est suffisant, un petit système monoprocesseur peut prendre en charge plusieurs zones s'exécutant simultanément.
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.
Chaque zone devant se connecter au réseau dispose d'une ou plusieurs adresses IP uniques. Les adresses IPv4 sont prises en charge. Vous devez attribuer une adresse IPv4 à la zone. Pour plus d'informations, reportez-vous à la section Adresse réseau de zone marquée. Vous pouvez, si vous le souhaitez, définir le routeur par défaut de l'interface réseau comme indiqué à la section Configuration de la zone marquée lx.
La commande zonecfg permet de :
définir la marque de la zone ;
créer la configuration de la zone lx ;
vérifier la configuration pour déterminer si les ressources et les propriétés spécifiées sont légales et cohérentes en interne sur un système x86 ou x64 hypothétique ;
exécuter une vérification spécifique à la marque. La vérification permet de s'assurer que :
La zone ne peut pas posséder de répertoires de package hérités, de jeux de données ZFS, ni de périphériques ajoutés.
Si la zone est configurée pour utiliser de l'audio, les périphériques spécifiés (le cas échéant) doivent être none, default ou un chiffre unique.
La vérification effectuée par zonecfg verify 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.
vérifier que la configuration requise pour la marque est respectée.
Pour plus d'informations sur la commande zonecfg, reportez-vous à la page de manuel zonecfg(1M).
Cette section aborde les composants suivants :
ressource et propriétés de zone configurables à l'aide de la commande zonecfg ;
ressources incluses dans la configuration par défaut.
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.
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.
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.
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 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.
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 de pool de ressources dynamique, tel que décrit dans la section Activation et désactivation de l'utilitaire Pools.
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.
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 pour la quantité de ressources CPU qu'un projet ou une zone peut utiliser. 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 importance. Celle-ci se reflète dans le nombre de parts de ressources CPU que vous assignez à chaque zone.
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 :
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) et à la section Configuration de la zone marquée lx.
Seules les configurations réseau en mode IP partagé sont prises en charge dans une zone marquée lx.
Chaque zone devant se connecter au réseau doit disposer d'une ou plusieurs adresses IP dédiées. Ces adresses sont associées à des interfaces réseau logiques. Les interfaces réseau 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 version 10 10/08 et les versions suivantes de Solaris vous permettent également de définir le routeur par défaut de l'interface réseau à l'aide de la propriété defrouter.
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 issu de la zone elle-même.
Il s'agit par exemple de :
montages amorcés automatiquement à l'aide de automount ;
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 méthode conseillée, et la plus simple, de définition d'un contrôle de ressources à l'échelle d'une zone est d'utiliser le nom de propriété au lieu de la ressource rctl. Ces limites sont spécifiées pour les zones globales et non globales.
L'administrateur global peut définir des contrôles de ressources privilégiés à l'échelle d'une zone à l'aide de la ressource rctl.
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. Pour obtenir les instructions applicables, reportez-vous à la section Configuration de la zone marquée lx.
Les contrôles de ressources suivants sont disponibles :
Tableau 32–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 |
Dans la version Solaris 10 5/08, définit une limite absolue pour la quantité de ressources CPU correspondant à la 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. |
Quantité (nombre de CPU) | ||
zone.cpu-shares |
cpu-shares |
Nombre de partages CPU de l'ordonnanceur FSS pour cette zone. |
Quantité (partages) | |
zone.max-locked-memory |
|
Quantité totale de mémoire physique verrouillée accessible par une zone. |
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 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 |
La propriété limitpriv permet de spécifier un masque de privilège autre que celui par défaut. En cas d'initialisation d'une zone, un jeu de privilèges par défaut est inclus à la configuration de marque. 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 propriété limitpriv 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 de plus amples informations, reportez-vous aux sections Privilèges définis dans les zones marquées lx, Privilèges dans une zone non globale et privileges(5).
Vous pouvez utiliser le type de ressource attr pour permettre l'accès à un périphérique audio présent dans la zone globale. Pour obtenir les instructions applicables, reportez-vous à l'étape 12 de la section Configuration, vérification et validation de la zone marquée lx.
Le type de ressource attr permet également d'ajouter un commentaire concernant une zone.
Les périphériques pris en charge par chaque zone sont indiqués dans les pages de manuel et dans la documentation des marques. La zone lx ne permet pas d'ajouter des périphériques non pris en charge ou non reconnus. La structure détecte toute tentative d'ajout d'un périphérique non pris en charge. Un message d'erreur indique que la configuration de zone ne peut pas être vérifiée.
Vous pouvez autoriser l'accès à un périphérique audio s'exécutant dans la zone globale à l'aide de la propriété de ressource attr, comme indiqué à l'étape 12 de la section Configuration, vérification et validation de la zone marquée lx.
Les systèmes de fichiers requis pour une zone marquée sont définis dans la marque. Vous pouvez ajouter des systèmes de fichiers Solaris supplémentaires à une zone marquée lx à l'aide de la propriété de ressource fs, comme indiqué à l'étape 9 de la section Configuration, vérification et validation de la zone marquée lx.
L'ajout de systèmes de fichiers Linux locaux n'est pas pris en charge. Vous pouvez effectuer un montage NFS de systèmes de fichiers à partir d'un serveur Linux.
Les processus sont limités à un sous-ensemble de privilèges. 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.
Des privilèges par défaut, requis par défaut, facultatifs et interdits sont définis pour chaque marque. Vous pouvez également ajouter ou supprimer des privilèges à l'aide de la propriété limitpriv, comme indiqué à l'étape 8 de la section Configuration, vérification et validation de la zone marquée lx. Le Tableau 27–1 répertorie les privilèges Solaris et le statut qui leur est associé par rapport aux zones.
Pour plus d'informations sur les privilèges, voir la page de manuel ppriv(1) et le System Administration Guide: Security Services.
La commande zonecfg, décrite dans la page de manuel zonecfg(1M), permet de configurer une zone. Cette commande permet également de spécifier de manière permanente 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 les procédures indiquant comment utiliser les divers composants zonecfg décrits dans ce chapitre, reportez-vous à la section Configuration de la zone marquée lx.
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:lx-zone:net> help |
Commence à créer une configuration en mémoire pour la nouvelle zone marquée spécifiée.
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. Pour créer une zone marquée Linux, utilisez :
zonecfg:lx-zone> create -t SUNWlx |
Avec l'option -b, afin de créer une configuration vide pour laquelle vous pouvez définir la marque.
zonecfg:lx-zone> create -b zonecfg:lx-zone> set brand=lx |
Avec l'option -F, pour écraser la configuration existante.
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 de la zone marquée lx 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é.
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 interactif 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 zone 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.
Ils 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 est le chemin du répertoire racine de la zone. Le chemin du répertoire racine de chaque zone est lié au répertoire racine de la zone globale. Lors de l'installation, le répertoire de la zone globale est requis pour bénéficier d'une visibilité limitée. Il doit appartenir à root et être en 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/lx-zone |
zonecfg zonepath |
/home/export/lx-zone/root |
Racine de la zone |
/home/export/lx-zone/root/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.
Vous pouvez déplacer une zone vers un autre emplacement du même système en spécifiant un nouveau chemin complet zonepath à l'aide de la sous-commande move de zoneadm. Pour obtenir les instructions applicables, reportez-vous à la section Solaris 10 11/06 : déplacement d'une zone non globale.
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 |
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 Arguments d'initialisation d'une zone marquée.
Cette propriété permet d'associer la zone à un pool de ressources spécifique sur le système. Plusieurs zones peuvent partager les ressources d'un pool. Reportez-vous également à la section Spécification de la ressource dedicated-cpu.
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 suivante ajoute la capacité de définition de l'horloge système et supprime la capacité d'envoi de paquets ICMP (Internet Control Message Protocol, protocole de messages de contrôle Internet) bruts :
global# zonecfg -z userzone zonecfg:userzone> set limitpriv="default,sys_time,!net_icmpaccess" |
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.
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.
Cette ressource consacre un sous-ensemble des processeurs du système à la zone lorsque celle-ci 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 Spécification de la ressource dedicated-cpu.
Cette ressource regroupe 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.
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.
La ressource interface réseau est le nom de l'interface virtuelle. Chaque zone peut posséder des interfaces réseau qui doivent être paramétrées lorsque la zone passe de l'état installé à l'état prêt.
Seules les configurations réseau en mode IP partagé sont prises en charge dans une zone marquée lx.
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.
Pour configurer les contrôles à l'échelle de la zone à l'aide de la sous-commande set Nom_propriété_global de zonefig au lieu de la ressource rctl, reportez-vous à la section Configuration de la zone marquée lx.
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
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 limite de 3,5 CPU pour la zone lx-zone.
zonecfg:lx-zone> add capped-cpu zonecfg:lx-zone:capped-cpu> set ncpus=3.5 zonecfg:lx-zone:capped-cpu> end |
physical, swap, locked
cette ressource groupe les propriétés utilisées lors de la limitation de la mémoire de la zone. L'exemple ci-dessous spécifie les limites de mémoire pour la zone ma-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 lignes de l'exemple suivant permettent d'accéder en lecture seule au CD ou DVD dans une zone non globale. Le système de fichiers est monté en loopback avec les options ro,nodevices (lecture seule et aucun périphérique) dans la zone non globale.
zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end |
Notez 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.
address, physical, defrouter,
Dans l'exemple suivant, l'adresse IP 192.168.0.1 est ajoutée à une zone. Une carte bge0 est utilisée pour l'interface physique et le routeur par défaut est défini.
zonecfg:lx-zone> add net zonecfg:lx-zone:net> set address=192.168.0.1 zonecfg:lx-zone:net> set physical=bge0 zonecfg:lx-zone:net> set defrouter=10.0.0.1 zonecfg:lx-zone:net> end |
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.
name, value
Les contrôles de ressources disponibles à l'échelle de la zone sont décrits à la section Contrôles de ressources à l'échelle d'une zone dans une zone marquée lx.
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.cpu-shares zonecfg:lx-zone:rctl> add value (priv=privileged,limit=10,action=none) zonecfg:lx-zone:rctl> end |
zonecfg:lx-zone> add rctl zonecfg:lx-zone:rctl> set name=zone.max-lwps zonecfg:lx-zone:rctl> add value (priv=privileged,limit=100,action=deny) zonecfg:lx-zone:rctl> end |
name, type, value
L'exemple ci-dessous montre l'ajout d'un commentaire à propos d'une zone.
zonecfg:lx-zone> add attr zonecfg:lx-zone:attr> set name=comment zonecfg:lx-zone:attr> set type=string zonecfg:lx-zone:attr> set value="Production zone" zonecfg:lx-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.
Ce chapitre décrit la configuration d'une zone marquée lx sur un système x64 ou x86. Le processus est similaire à la procédure de configuration d'une zone Solaris. Certaines propriétés sont inutiles pour configurer une zone marquée.
Avant de paramétrer le système en vue de l'utilisation de zones, vous devez recueillir 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 d'une zone lx.
Tâche |
Description |
Voir |
---|---|---|
Planifier la stratégie de la zone |
|
Reportez-vous aux sections Configuration système requise et espace requis et Pools de ressources utilisés dans les zones. |
Déterminer le nom et le chemin de la zone. |
Choisissez un nom de zone conforme aux conventions de dénomination. Il est recommandé d'utiliser un chemin correspondant à un emplacement d'un système de fichiers ZFS (Zetabyte File System). 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. |
Reportez-vous à la section Types de ressources et de propriétés et au Guide d’administration Oracle Solaris ZFS. |
Obtenir ou configurer les adresses IP de la zone |
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. |
Reportez-vous à la section Détermination du nom d'hôte d'une zone et obtention de son adresse réseau et au Guide d’administration système : services IP. |
Déterminer si les systèmes de fichiers doivent être montés 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 aux sections Types de ressources et de propriétés et Privilèges dans une zone non globale. |
Configurer la zone |
Utilisez zonecfg pour créer une configuration pour la zone. |
Reportez-vous à la section Configuration, vérification et validation de la zone marquée lx. |
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 de la zone marquée lx. |
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.
Si vous savez que vous installerez des applications à l'aide de CD ou de DVD dans une zone marquée lx, utilisez add fs pour permettre d'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 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 votre système à l'aide d'un script, consultez la section Script de configuration de plusieurs zones marquées lx.
Pour plus d'informations sur l'affichage de la configuration des zones marquées, reportez-vous à la section Affichage de la configuration d'une zone marquée.
Une fois la zone marquée configurée, il est conseillé de réaliser une copie de la configuration de la zone. Cette sauvegarde permet de restaurer la zone à l'avenir. En tant que superutilisateur ou administrateur principal, imprimez la configuration pour la zone lx-zone dans un fichier. Cet exemple utilise un fichier nommé lx-zone.config.
global# zonecfg -z lx-zone export > lx-zone.config |
Reportez-vous à la section Restauration d'une zone non globale pour de plus amples informations.
Vous ne pouvez pas utiliser les zones marquées lx sur un système Solaris de confiance pour lequel les étiquettes ne sont pas activées. La commande zoneadm ne vérifie pas la configuration.
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 lx-zone.
global# zonecfg -z lx-zone |
Si c'est la première fois que vous configurez cette zone, le message suivant s'affiche :
lx-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Créez la nouvelle configuration de zone lx à l'aide du modèle SUNWlx.
zonecfg:lx-zone> create -t SUNWlx |
Vous pouvez également créer une zone vide et définir explicitement la marque :
zonecfg:lx-zone> create -b zonecfg:lx-zone> set brand=lx |
Définissez le chemin de la zone, ici /export/home/lx-zone.
zonecfg:lx-zone> set zonepath=/export/home/lx-zone |
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:lx-zone> set autoboot=true |
Définissez des arguments d'initialisation permanents pour la zone.
zonecfg:lx-zone> set bootargs="-i=altinit" |
Si les pools de ressources sont activés sur le système, associez un pool à une zone.
Cet exemple utilise le pool par défaut, soit pool_default.
zonecfg:lx-zone> set pool=pool_default |
Comme un pool de ressources peut présenter une assignation de classe de programmation facultative, il est possible d'utiliser les utilitaires de pools pour définir un ordonnanceur par défaut autre que celui qui est défini par défaut pour le système, pour une zone non globale. Pour obtenir les instructions applicables, reportez-vous aux sections Association d'un pool avec une classe de programmation et Création de la configuration.
Révisez le jeu de privilèges par défaut.
zonecfg:lx-zone> set limitpriv="default,proc_priocntl" |
Le privilège proc_priocntl permet d'exécuter des processus dans la classe temps réel.
Définissez cinq parts de CPU.
zonecfg:lx-zone> set cpu-shares=5 |
Ajoutez une limite de mémoire.
zonecfg:lx-zone> add capped-memory |
Définissez la limite de mémoire.
zonecfg:lx-zone:capped-memory> set physical=50m |
Définissez la limite de mémoire swap.
zonecfg:lx-zone:capped-memory> set swap=100m |
Définissez la limite de mémoire verrouillée.
zonecfg:lx-zone:capped-memory> set locked=30m |
Clôturez la spécification.
zonecfg:lx-zone:capped-memory> end |
Ajoutez un système de fichiers.
zonecfg:lx-zone> add fs |
Définissez le point de montage du système de fichiers, ici >/export/linux/local.
zonecfg:lx-zone:fs> set dir=/export/linux/local |
Spécifiez que /opt/local de la zone globale doit être monté comme /export/linux/local dans la zone en cours de configuration.
zonecfg:lx-zone:fs> set special=/opt/local |
Dans la zone non globale, le système de fichiers /export/linux/local sera accessible en lecture et en écriture.
Spécifiez le type de système de fichiers, ici lofs.
zonecfg:lx-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:lx-zone:fs> end |
Cette étape peut être répétée pour ajouter plus d'un système de fichiers.
Ajoutez une interface réseau virtuelle.
zonecfg:lx-zone> add net |
Définissez l'adresse IP selon le format adresse ip de zone/masque de sous-réseau. Dans cette procédure, l'adresse IP est 10.6.10.233/24.
zonecfg:lx-zone:net> set address=10.6.10.233/24 |
Définissez le type de périphérique physique de l'interface réseau, ici le périphérique bge.
zonecfg:lx-zone:net> set physical=bge0 |
Clôturez la spécification.
zonecfg:lx-zone:net> end |
Cette étape peut être répétée pour ajouter plus d'une interface réseau.
Activez un périphérique audio présent dans la zone globale de cette zone à l'aide du type de ressource attr.
zonecfg:lx-zone> add attr |
Vérifiez la configuration de la zone.
zonecfg:lx-zone> verify |
Validez la configuration de la zone.
zonecfg:lx-zone> commit |
Quittez la commande zonecfg.
zonecfg:lx-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 lx-zone "create -t SUNWlx; set zonepath=/export/home/lx-zone" |
Pour installer la configuration de la zone validée, reportez-vous à la section Installation et initialisation de zones marquées lx.
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" || -z "$4" ]]; then echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir> <template zone>" exit 2 fi if [[ ! -d $3 ]]; then echo "$3 is not a directory" exit 1 fi state=`zoneadm -z $4 list -p 2>/dev/null | cut -f 3 -d ":"` if [[ -z "$state" || $state != "installed" ]]; then echo "$4 must be an installed, halted zone" exit 1 fi template_zone=$4 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 clone $template_zone > /dev/null 2>&1 if [ $? != 0 ]; then echo configuring $prefix$i F=$dir/$prefix$i.config rm -f $F echo "create -t SUNWlx" > $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 -s -d /path/to/ISOs > /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 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 |
Les procédures de modification, rétablissement et suppression d'une configuration de zone sont décrites dans les sections ci-dessous.
Modification d'un type de ressource dans la configuration d'une zone
Solaris 10 8/07 : effacement d'un type de propriété dans la configuration d'une zone
Ce chapitre présente les sections suivantes :
Installation d'une zone lx sur le système
Arrêt, réinitialisation et désinstallation de zones
Clonage d'une zone sur le système
La commande zoneadm décrite dans la page de manuel zoneadm(1M) est l'outil principal d'installation et d'administration des 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 ;
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 plus d'informations sur les procédures d'installation et de vérification des zones, reportez-vous au Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (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 plus d'informations sur les procédures de configuration des zones, reportez-vous au Chapitre 33Configuration de la zone marquée lx (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.
Une fois la zone installée, toute tâche de configuration ou de gestion logicielle doit être effectuée par l'administrateur de zone, à l'aide des outils Linux et à partir de la zone elle-même.
Vous pouvez installer une zone marquée lx à l'aide d'une archive tarl, d'un CD-ROM, d'un DVD ou d'une image ISO. Si vous procédez à l'installation à partir de disques ou d'une image ISO, vous pouvez spécifier des catégories de cluster de package Sun. Les catégories sont cumulatives. Si aucun cluster n'est spécifié, desktop est utilisé par défaut.
Tableau 34–1 Catégories de cluster de package
Catégorie Sun |
Contenu |
---|---|
core |
Jeu de packages minimal requis pour construire une zone |
server |
core et des packages orientés serveur, tels que httpd, mailman, imapd et spam-assassin |
desktop |
server et des packages orientés utilisateur, tels que evolution, gimp, mozilla et openoffice. |
developer |
desktop et des packages pour développeur, tels que bison, emacs, gcc, vim-X11 et divers packages de développement de bibliothèque. |
all |
Tout ce qui se trouve sur le média d'installation et qui n'interfère pas avec les opérations de la zone. Il est possible que certains packages ne fonctionnent pas dans une zone Linux. |
Pour installer des zones marquées lx configurées, reportez-vous à la section Installation d'une zone marquée lx.
Cette section s'applique uniquement à la construction initiale de la zone, non au clonage de zones existantes.
Après avoir configuré une zone non globale, vérifiez que la zone peut être installée en toute sécurité sur la configuration du système. 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. La zone Linux est renseignée à partir de CD, d'images ISO ou d'une archive tar, comme décrit à la section Installation d'une zone marquée lx.
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.
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).
Lorsque la zone est prête, les processus zsched et zoneadmd sont démarrés pour gérer la plate-forme virtuelle.
Le démon d'administration des zones, zoneadmd, constitue le processus principal de gestion de la plate-forme virtuelle des zones. Pour de plus amples informations, reportez-vous à la section Démon zoneadmd.
Le processus de gestion de l'environnement applicatif, zsched, est décrit à la section Ordonnanceur de zone zsched.
La commande zoneadm permet de créer un environnement applicatif de zone.
Toute tâche de configuration supplémentaire est effectuée par l'administrateur de zone à l'aide des outils Linux et à partir de la zone.
Le mot de passe root (superutilisateur) est root lorsque la zone est installée à partir de l'archive tar Sun. La spécification du mot de passe root (superutilisateur) est annulée (il est vide) lorsque la zone est installée à partir d'images ISO ou d'un CD.
Cette section offre un aperçu des procédures d'arrêt, de réinitialisation, de désinstallation et de clonage des zones.
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
-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).
Initialise la zone au niveau init s.
Vous trouverez des exemples d'utilisation aux sections Initialisation d'une zone marquée lx et Initialisation d'une zone marquée lx en mode monoutilisateur.
Pour plus d'informations sur la commande init, reportez-vous à la page de manuel 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 supprimer 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. Pour de plus amples informations sur le processus de clonage, reportez-vous à la section Clonage d'une zone marquée lx sur le même système.
Pour obtenir les procédures d'initialisation et de réinitialisation de zones, reportez-vous aux sections Initialisation d'une zone marquée lx et Réinitialisation d'une zone marquée lx.
Ce chapitre décrit l'installation et l'initialisation d'une zone marquée lx. Les tâches suivantes sont également abordées :
Installation d'une zone sur le même système à l'aide du clonage
Arrêt, réinitialisation et désinstallation de zones
Suppression d'une zone d'un système
Tâche |
Description |
Voir |
---|---|---|
Obtenir les archives Linux |
Avant de pouvoir installer la zone marquée lx, vous devez obtenir les archives Linux. | |
Installer une zone marquée lx configurée |
Installez une zone se trouvant en état Configuré. | |
(Optionnel) Installer un sous-ensemble des packages disponibles |
Lors de l'installation à partir d'images ISO ou de CD, vous pouvez installer un sous-ensemble des packages sur le média d'installation. | |
(Optionnel) Activer la mise en réseau dans la zone |
La mise en réseau est désactivée par défaut. Si vous souhaitez utiliser cette fonctionnalité, activez-la. | |
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. | |
(Optionnel) Faire passer une zone installée à l'état Prêt. |
Vous pouvez ignorer cette étape si vous avez l'intention d'initialiser la zone et de l'utiliser immédiatement. |
(Optionnel) Placement d'une zone marquée lx installée dans l'état de préparation |
Initialiser une zone marquée lx |
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. | |
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). |
Exécutez la commande zoneadm décrite dans la page de manuel zoneadm(1M) pour effectuer les tâches d'installation d'une zone non globale.
Avant d'installer la zone marquée lx, vous devez obtenir les archives Linux. Les archives sont distribuées sous la forme suivante :
une archive tar (archive tar) ;
un jeu de CD-ROM ou DVD ;
un groupe d'images ISO.
Obtention de la distribution Linux à l'aide de l'une des méthodes suivantes :
Pour télécharger une archive tar, connectez-vous à l'URL http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications. Suivez les instructions qui s'affichent sur le site Web de téléchargement.
Pour obtenir un jeu de CD-ROM ou de DVD, accédez au site CentOS à l'adresse http://www.centos.org ou au site Red Hat à l'adresse http://www.redhat.com.
Pour obtenir une image ISO, accédez au site CentOS à l'adresse http://www.centos.org ou au site Red Hat à l'adresse http://www.redhat.com.
Cette procédure permet d'installer une zone marquée lx configurée. Une fois la zone installée, toute tâche de configuration ou de gestion logicielle doit être effectuée par l'administrateur de zone, à l'aide des outils Linux et à partir de la zone elle-même.
Pour obtenir des exemples de lignes de commande d'installation de zone utilisant les différentes voies de distribution, reportez-vous à l'Exemple 35–1, l'Exemple 35–2 et à l'Exemple 35–3. Si vous procédez à l'installation à partir de disques ou d'une image ISO, vous devez spécifier des catégories de cluster de package Sun. Pour de plus amples informations sur les catégories de cluster de package, reportez-vous à la section Méthodes d'installation de zone marquée lx.
Il est possible de vérifier une zone avant de l'installer. Sans cette étape, la vérification s'exécute automatiquement à l'installation de la zone. La procédure est expliquée à la section (Optionnel) Vérification d'une zone configurée avant son installation.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
À l'étape 3, si l'emplacement zonepath est défini sur ZFS, la commande zoneadm install crée automatiquement un système de fichiers ZFS (jeu de données) pour l'emplacement zonepath à l'installation de la zone. Pour bloquer cette action, insérez le paramètre -x nodataset.
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.
(Optionnel) Si vous tentez d'effectuer l'installation à partir d'un CD ou d'un DVD, activez l'utilitaire volfs sur le système et vérifiez qu'il s'exécute.
global# svcadm enable svc:/system/filesystem/volfs:default |
global# svcs | grep volfs |
Des indications similaires à celles figurant ci-dessous s'affichent :
online 17:30 svc:/system/filesystem/volfs:default |
Installez la zone configurée lx-zone à l'aide de la commande zoneadm avec l'option install et le chemin vers l'archive.
Installez la zone, en créant automatiquement un système de fichiers ZFS si l'emplacement zonepath est défini sur ZFS.
global# zoneadm -z lx-zone install -d archive_path |
Le système affiche :
A ZFS file system has been created for this zone. |
Installez la zone dont l'emplacement zonepath est défini sur ZFS, sans créer automatiquement le système de fichiers ZFS.
global# zoneadm -z lx-zone install -x nodataset -d archive_path |
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, ainsi que des fichiers de package.
Si vous ne spécifiez pas archive_path, la valeur par défaut est CD.
(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 lx-zone list -iv |
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 lx-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 - lx-zone installed /export/home/lx-zone lx shared |
global# zoneadm -z lx-zone install -d /export/centos_fs_image.tar.bz2 |
Pour une installation à partir d'un CD ou d'un DVD, l'utilitaire volfs doit être activé sur le système. Vous devez spécifier un package de cluster logiciel. Par exemple, utilisez development pour installer un environnement complet, ou tapez les noms des clusters souhaités. Si vous ne spécifiez aucun package de cluster, desktop est installé par défaut. Le périphérique CD est /cdrom/cdrom0.
global# zoneadm -z lx-zone install -d /cdrom/cdrom0 development |
Vous devez spécifier un package de cluster logiciel. Utilisez development pour installer un environnement complet ou spécifiez les clusters de votre choix. Si vous ne spécifiez aucun package de cluster, desktop est installé par défaut. Les images ISO CentOS résident dans le répertoire /export/centos_3.7.
global# zoneadm -z lx-zone install -d /export/centos_3.7 development |
Pour plus d'informations sur les jeux de données, reportez-vous au Guide d’administration Oracle Solaris ZFS.
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é.
Lors de l'installation à partir d'images ISO ou de CD, vous pouvez installer un sous-ensemble des packages sur le média d'installation. Les sous-ensembles disponibles sont core, server, desktop, developer et all.
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.
Installez uniquement le package du serveur :
global# zoneadm -z lx-zone install -d archive_path server |
Lorsque vous installez une zone marquée lx, la mise en réseau est désactivée. Pour activer la mise en réseau, suivez une procédure telle que la suivante.
Seul l'administrateur de zone peut effectuer cette procédure.
Modifiez le fichier /etc/sysconfig/network dans la zone.
NETWORKING=yes HOSTNAME=your.hostname |
Pour définir un domaine NIS, ajoutez une ligne similaire à la suivante :
NISDOMAIN=domain.Sun.COM |
Pour plus d'informations sur la configuration de la mise en réseau et des services d'attribution de noms, consultez la documentation de votre distribution Linux.
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:/::native 1:centos38:running:/zones/centos38:27fabdc8-d8ce-e8aa-9921-ad1ea23ab063:lx |
global# zoneadm -z lx-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 - testzone incomplete /export/home/testzone lx shared |
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 marquée.
Le passage de la 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.
Reportez-vous à la section (Optionnel) Passage d'une zone installée à l'état Prêt.
L'initialisation d'une zone place la zone dans l'état 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.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Il est impossible d'initialiser une zone marquée sur un système Solaris de confiance sur lequel les étiquettes sont activé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.
Exécutez la commande zoneadm avec l'option -z, le nom de la zone (soit lx-zone) et la sous-commande boot pour initialiser la zone.
global# zoneadm -z lx-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 |
Des indications similaires à celles figurant ci-dessous s'affichent :
ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 lx-zone running /export/home/lx-zone lx shared |
Initialisation d'une zone à l'aide de l'option -i altinit :
global# zoneadm -z lx-zone boot -- -i /path/to/process |
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 lx-zone boot -- -s |
Pour vous connecter à la zone, reportez-vous à la section Connexion à une zone marquée lx.
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 Utilisation de zlogin pour arrêter la zone marquée lx. | |
Réinitialiser une zone. |
La procédure de réinitialisation arrête la zone et la réinitialise. | |
Désinstaller une zone. |
Cette procédure 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. | |
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 à la fois l'environnement applicatif et la plate-forme virtuelle pour une zone marquée lx. Pour arrêter correctement une zone, reportez-vous à la section Fermeture d'une zone marquée lx à l'aide de la commande 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 lx-zone running /export/home/lx-zone lx shared |
Exécutez la commande zoneadm avec l'option -z, le nom de la zone (lx-zone, par exemple) et la sous-commande halt pour arrêter la zone concernée.
global# zoneadm -z lx-zone halt |
Affichez de nouveau la liste des zones du système pour vous assurer que lx-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 - lx-zone installed /export/home/lx-zone lx shared |
Initialisez la zone si vous voulez la redémarrer.
global# zoneadm -z lx-zone boot |
Si la zone ne s'arrête pas correctement, 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 de la zone globale 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.
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 lx-zone running /export/home/lx-zone lx shared |
Exécutez la commande zoneadm avec l'option -z reboot pour réinitialiser la zone lx-zone.
global# zoneadm -z lx-zone reboot |
Affichez de nouveau la liste des zones du système pour vous assurer que lx-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 lx-zone running /export/home/lx-zone lx shared |
Notez que l'ID de lx-zone a changé. C'est généralement le cas lorsqu'une zone est réinitialisée.
Cette procédure permet de supprimer tous les fichiers du système de fichiers racine de la zone. car cette action 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 - lx-zone installed /export/home/lx-zone lx shared |
Exécutez la commande zoneadm avec l'option -z uninstall pour supprimer la zone lx-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 lx-zone uninstall -F |
En cas d'installation d'une zone possédant son propre système de fichiers ZFS pour l'emplacement zonepath, le système de fichiers ZFS est détruit.
Affichez de nouveau les zones du système pour vous assurer que lx-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 zone sur un système en copiant les données à partir de l'emplacement zonepath source vers un emplacement zonepath cible.
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, soit lx-zone.
global# zoneadm -z lx-zone halt |
Pour commencer à configurer la nouvelle zone, exportez la configuration de la zone source (soit lx-zone) vers un fichier (master, par exemple).
global# zonecfg -z lx-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. Vous devez au moins définir un autre emplacement zonepath et une autre adresse IP pour la nouvelle zone.
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 lx-zone.
global# zoneadm -z zone1 clone lx-zone |
Le système affiche :
Cloning zonepath /export/home/lx-zone... |
Affichez la liste des zones du système.
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared - zone1 installed /export/home/zone1 lx shared |
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/lx-zone@SUNWzone1 lx-zone |
Le système affiche :
Cloning snapshot zeepool/zones/lx-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.
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /zeepool/zones/lx-zone lx shared - zone1 installed /zeepool/zones/zone1 lx shared - zone2 installed /zeepool/zones/zone1 lx 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 lx-zone |
La procédure décrite dans cette section supprime complètement la zone du système.
Arrêtez la zone lx-zone.
global# zlogin lx-zone shutdown -y -g0 -i0 |
Supprimez le système de fichiers racine de lx-zone.
global# zoneadm -z lx-zone uninstall -F |
Supprimez la configuration de lx-zone.
global# zonecfg -z lx-zone delete -F |
Affichez la liste des zones du système pour vous assurer que lx-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 présente les sections suivantes :
Introduction à la connexion aux zones
Achèvement de la configuration interne d'une zone marquée lx installée
Connexion à la zone à partir de la zone globale
Arrêt de la zone
Impression du nom de la zone actuelle à l'aide de la commande zonename
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.
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.
Comme décrit dans la section Utilisation du mode non interactif pour accéder à une zone marquée lx, 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).
Vous trouverez une présentation des méthodes de connexion utilisateur et de connexion à la console de la zone à la section Méthodes de connexion à une zone non globale.
Le mode de secours est employé en cas de problème de connexion empêchant l'utilisation des commandes zlogin ou zlogin avec l'option -C pour accéder à la zone. Ce mode est décrit à la section Mode de secours.
Pour plus d'informations sur la connexion distante aux zones, reportez-vous à la section Connexion à distance.
Le mode interactif alloue un nouveau pseudoterminal à utiliser dans la zone. Le mode non interactif est utilisé pour exécuter des scripts shell administrant la zone. Pour plus d'informations, reportez-vous à la section Modes interactif et non interactif.
Tâche |
Description |
Voir |
---|---|---|
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. | |
Sortie d'une zone marquée |
Déconnexion d'une zone marquée. | |
Arrêt d'une zone marquée |
Arrêt d'une zone marquée à l'aide de l'utilitaire shutdown ou d'un script. |
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, lx-zone par exemple.
global# zlogin -C lx-zone [Connected to zone 'lx-zone' console] |
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 :
INIT: version 2.85 booting Welcome to CentOS Press 'I' to enter interactive startup. Configuring kernel parameters: [ OK ] Setting hostname lx-zone: [ OK ] [...] CentOS release 3.6 (Final) Kernel 2.4.21 on an i686 |
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é.
lx-zone console login: root Password: |
Le mot de passe root (superutilisateur) est root lorsque la zone est installée à partir de l'archive tar Sun. La spécification du mot de passe root (superutilisateur) est annulée (il est vide) lorsque la zone est installée à partir d'images ISO ou d'un CD.
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.
À partir de la zone globale, connectez-vous à la zone, par exemple, lx-zone.
global# zlogin lx-zone |
Des informations similaires à celles figurant ci-dessous s'affichent :
[Connected to zone 'lx-zone' pts/2] Last login: Wed Jul 3 16:25:00 on console Sun Microsystems Inc. SunOS 5.10 Generic July 2006 |
Saisissez exit pour fermer la connexion.
Un message similaire à celui figurant ci-dessous s'affiche :
[Connection to zone 'lx-zone' pts/2 closed] |
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, lx-zone.
global# zlogin lx-zone |
Vérifiez que vous vous trouvez dans un environnement Linux sur le système d'exploitation Solaris.
[root@lx-zone root]# uname -a |
Des indications similaires à celles figurant ci-dessous s'affichent :
Linux lx-zone 2.4.21 BrandZ fake linux i686 i686 i386 GNU/Linux |
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 lx-zone et fournissez un nom de commande.
Remplacez la commande par le nom de la commande à exécuter dans la zone.
global# zlogin lx-zone command |
global# zlogin lx_master uptime 21:16:01 up 2:39, 0 users, load average: 0.19, 0.13, 0.11 fireball# |
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.
À partir de la zone globale, utilisez la commande zlogin avec l'option -S pour accéder à la zone, par exemple, lx-zone.
global# zlogin -S lx-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 lx-zone, et spécifiez shutdown en tant que nom de l'utilitaire et init 0 en tant qu'état.
global# zlogin lx-zone shutdown -y -g0 -i0 |
Votre site peut disposer de son propre script d'arrêt, créé spécifiquement pour votre environnement.
À ce stade, vous ne pouvez pas utiliser la commande shutdown en mode non interactif pour placer la zone en état monoutilisateur. Reportez-vous à 6214427 pour de plus amples informations.
Vous pouvez utiliser une connexion interactive comme décrit à la section Utilisation du mode interactif pour l'accès à une zone marquée.
Ce chapitre décrit comment :
déplacer une zone marquée lx vers un nouvel emplacement d'une même machine ;
valider les événements potentiels en cas de migration de zone marquée lx avant de réaliser la migration réelle ;
migrer une zone marquée lx existante vers une nouvelle machine.
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.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Les rôles sont décrits à 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.
global# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - lx-zone installed /export/home/lx-zone lx shared - db-zone installed /export/zones/db-zone lx shared |
Les commandes zonecfg et zoneadm peuvent être utilisées pour la migration d'une zone non globale existante 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 exigences suivantes s'appliquent lors de la migration de zone marquée lx :
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 installés sur l'hôte d'origine.
La marque doit être identique sur l'hôte d'origine et sur le système cible.
Le système cible doit posséder l'un des types de processeur i686 pris en charge suivants :
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é.
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 lx-zone.
host1# zoneadm -z lx-zone halt |
Détachez la zone.
host1# zoneadm -z lx-zone detach |
La zone détachée est maintenant en état configuré.
Déplacez le zonepath de lx-zone vers le nouvel hôte.
Pour de plus amples 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 lx-zone |
Le message système suivant s'affiche :
lx-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Pour créer la zone lx-zone dans le nouvel hôte, utilisez la commande zonecfg avec l'option -a, ainsi que le zonepath.
zonecfg:lx-zone> create -a /export/zones/lx-zone |
Affichez la configuration.
zonecfg:lx-zone> info zonename: lx-zone zonepath: /export/zones/lx-zone brand: lx autoboot: false bootargs: pool: limitpriv: net: address: 192.168.0.90 physical: bge0 |
(Optionnel) Effectuez toute modification nécessaire à la configuration.
Par exemple, le périphérique physique du réseau peut être différent sur le nouvel hôte, ou les périphériques faisant partie de la configuration peuvent posséder des noms différents sur le nouvel hôte.
zonecfg:lx-zone> select net physical=bge0 zonecfg:lx-zone:net> set physical=e1000g0 zonecfg:lx-zone:net> end |
Validez la configuration et quittez-la.
zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Rattachez la zone au nouvel hôte.
Rattachez la zone avec une coche de validation.
host2# zoneadm -z lx-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.
Forcez l'opération de rattachement sans effectuer de validation.
host2# zoneadm -z lx-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 lx-zone.tar lx-zone host1# sftp host2 Connecting to host2... Password: sftp> cd /export/zones sftp> put lx-zone.tar Uploading lx-zone.tar to /export/zones/lx-zone.tar sftp> quit |
Dans host2, décompressez le fichier tar.
host2# cd /export/zones host2# tar xf lx-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.
L'utilisateur doit vérifier que le type de processeur de la nouvelle machine est pris en charge. Pour de plus amples informations, reportez-vous à la section À propos de la migration d'une zone marquée lx.
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 un hôte source nommé lx-zone et envoyez la sortie dans une commande distante en vue de sa validation immédiate sur l'hôte cible :
global# zoneadm -z lx-zone detach -n | ssh remotehost zoneadm attach -n - |
Le trait d'union (—) figurant en fin de ligne spécifie la stdin pour le chemin.
Générez le fichier manifest sur un hôte source nommé lx-zone et dirigez la sortie vers un fichier :
global# zoneadm -z lx-zone detach -n |
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.
Ce chapitre contient des informations relatives à l'exécution d'applications dans une zone marquée lx.
Lors de l'installation d'une zone avec une distribution CentOS ou Red Hat Enterprise Linux prise en charge, vous créez une zone prise en charge. Si vous ajoutez à cette zone des packages issus d'autres versions, vous risquez de créer une zone marquée non prise en charge.
Seul l'administrateur de zone peut effectuer cette procédure dans la zone marquée lx.
Mise à niveau d'une distribution CentOS 3.x vers une autre version à l'aide de yum upgrade ou de up2date.
Pour obtenir les instructions applicables, reportez-vous à la documentation disponible à l'adresse http://www.centos.org.
Seul l'administrateur de zone peut effectuer cette procédure dans la zone marquée lx.
Mettez à niveau une distribution Red Hat Enterprise Linux 3.x vers une autre version à l'aide de la commande up2date.
Pour obtenir les instructions applicables, reportez-vous à la documentation disponible à l'adresse http://www.redhat.com.
Seul l'administrateur de zone peut effectuer cette procédure dans la zone marquée lx.
yum :
Site de la documentation Fedora
yum.conf(5 )
yum(8)
rpm :
Reportez-vous à la section How do I install or upgrade an RPM package? à l'adresse http://kbase.redhat.com/faq/FAQ_35_198.shtm.
rpm(8)
Pour installer des applications, procédez comme sur un système Linux : montez le CD, puis exécutez le programme d'installation. Cette section décrit une installation d'application classique dans une zone marquée lx.
Si vous envisagez d'installer des applications à l'aide de CD ou de DVD dans une zone marquée lx, autorisez l'accès en lecture seule au CD ou DVD dans la zone globale lors de la configuration initiale de la zone marquée. Reportez-vous à l'étape 7 de la section Installation de MATLAB 7.2 à l'aide de CD.
MATLAB constitue un environnement interactif et un langage de haut niveau. Il permet de réaliser rapidement des tâches de niveau informatique élevé. Le produit a été développé par The MathWorks. Reportez-vous à l'adresse http://www.mathworks.com pour plus d'informations.
Procurez-vous les CD MATLAB 7.2.
Le package MATLAB/Simulink contient trois CD. Seuls les disques 1 et 3 sont requis pour une installation MATLAB simple.
Créez et installez une zone marquée lx comme décrit aux sections Configuration, vérification et validation de la zone marquée lx et Installation et initialisation de zones marquées lx.
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 que le CD est monté automatiquement.
global# ls /cdrom |
Des indications similaires à celles figurant ci-dessous s'affichent :
cdrom cdrom1 mathworks_2006a1 |
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 lx-zone zonecfg:lx-zone> add fs zonecfg:lx-zone:fs> set dir=/cdrom zonecfg:lx-zone:fs> set special=/cdrom zonecfg:lx-zone:fs> set type=lofs zonecfg:lx-zone:fs> add options [ro,nodevices] zonecfg:lx-zone:fs> end zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Réinitialisez la zone non globale.
global# zoneadm -z lx-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 lx-zone running /export/home/lx-zone lx shared |
Connectez-vous à la zone lx.
global# zlogin lx-zone |
Vérifiez le montage du CD-ROM.
lx-zone# ls /cdrom |
Des informations semblables à ce qui suit s'affichent.
cdrom cdrom1 mathworks_2006a1 |
Créez le fichier de licence comme décrit dans la documentation MATLAB.
Installez le produit en suivant les instructions du guide d'installation correspondant.
lx-zone# /mnt/install |
Quittez la zone.
lx-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 lx-zone zonecfg:lx-zone> remove fs dir=/cdrom zonecfg:lx-zone> commit zonecfg:lx-zone> exit |
Cette méthode consomme une quantité de mémoire considérable.
Procurez-vous les CD MATLAB 7.2.
Le package MATLAB/Simulink contient trois CD. Seuls les disques 1 et 3 sont requis pour une installation MATLAB simple.
Créez et installez une zone marquée lx comme décrit aux sections Configuration, vérification et validation de la zone marquée lx et Installation et initialisation de zones marquées lx.
Copiez les données de chaque CD vers un fichier .iso.
global# /usr/bin/dd if=/dev/rdsk/c1d0s2 of=disk1.iso |
Les données sont alors copiées du premier CD vers le fichier disk1.iso. Répétez l'opération en utilisant un autre nom de fichier, disk3.iso par exemple, pour le troisième CD.
À partir de la zone globale, montez le premier fichier .iso via LOFI dans la zone lx.
global# lofiadm -a /zpool/local/disk1.iso global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt |
Connectez-vous à la zone lx.
global# zlogin lx-zone |
Utilisez le transfert X pour rediriger l'affichage vers votre bureau :
lx-zone# ssh -X root@lx-zone |
Créez le fichier de licence comme décrit dans la documentation MATLAB.
Installez le produit en suivant les instructions du guide d'installation correspondant.
lx-zone# /mnt/install |
Lorsque vous êtes invité à insérer le CD 3, revenez à la fenêtre de terminal de la zone globale et montez le fichier disk3.iso à la place du premier.
global# umount /zones/lx-zone/root/mnt global# lofiadm -d /dev/lofi/1 global# lofiadm -a /zpool/local/disk3.iso global# mount -F hsfs /dev/lofi/1 /zones/lx-zone/root/mnt |
L'installation se termine.
Pour obtenir des informations sur la sauvegarde de zone, reportez-vous aux sections À propos de la sauvegarde d'un système Solaris doté de zones, Identification des éléments à sauvegarder dans les zones non globales, À propos de la restauration de zones non globales et Restauration d'une zone non globale.
Seules la configuration réseau en mode IP partagé est prise en charge dans une zone marquée lx.
La commande chroot n'est pas prise en charge dans une zone Linux. Si vous l'utilisez pour un processus, celui-ci ne pourra pas détecter les bibliothèques Solaris qu'il doit exécuter.
Vous pouvez configurer et installer des zones marquées lx sur un système Solaris de confiance dont les étiquettes sont activées. Cependant, vous ne pouvez pas initialiser les zones marquées lx sur cette configuration système.
Vous ne pouvez pas ajouter des systèmes de fichiers Linux à l'aide de la propriété de ressource fs de la commande zonecfg.