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.