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.