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.