Ce chapitre décrit les opérations à effectuer avant de pouvoir configurer une zone sur un système. Il explique également comment configurer une zone et comment modifier et supprimer sa configuration.
Vous trouverez une introduction à la configuration des zones dans le Chapitre 17Configuration des zones non globales (présentation).
Avant de paramétrer votre système en vue de l'utilisation de zones, vous devez collecter des informations et prendre des décisions sur la manière dont vous allez les configurer. Vous trouverez, dans la liste ci-dessous, un résumé des tâches de planification et de configuration correspondantes.
Tâche |
Description |
Voir |
---|---|---|
Planifier la stratégie de la zone |
|
Reportez-vous à l'historique d'utilisation, ainsi qu'aux sections Espace disque requis et Pools de ressources utilisés dans les zones. |
Attribuer un nom à la zone. |
Choisissez un nom de zone conforme aux conventions de dénomination. |
Reportez-vous aux sections Données de configuration de zones et Nom d'hôte. |
Déterminer le chemin de la zone. |
Le chemin du répertoire racine de chaque zone est lié au répertoire racine de la zone globale. |
Reportez-vous à la section Données de configuration de zones. |
Évaluer les restrictions de CPU nécessaires si vous ne configurez pas de pools de ressources. |
Examinez les exigences applicatives. |
Reportez-vous à la section Solaris 10 8/07 : ressource dedicated-cpu. |
Évaluer l'allocation de mémoire nécessaire si vous avez l'intention de limiter la mémoire de la zone à l'aide de rcapd depuis la zone globale. |
Examinez les exigences applicatives. |
Reportez-vous auChapitre 10Contrôle de la mémoire physique à l'aide du démon d'allocation restrictive (présentation), au Chapitre 11Administration du démon d'allocation restrictive (tâches) et à la section Solaris 10 8/07 : contrôle de la mémoire physique et ressource capped-memory. |
Définir FSS comme ordonnanceur par défaut du système. |
Assignez des parts de CPU à chacune des zones pour contrôler leur droit aux ressources CPU. En se basant sur les parts allouées, le FSS garantit un partage équitable des ressources CPU entre les zones. |
Chapitre 8Ordonnanceur FSS (présentation), section Classe de programmation dans une zone. |
Déterminer si la zone doit être en mode IP partagé ou IP exclusif. |
S'il s'agit d'une zone en mode IP partagé (type de zone par défaut), obtenez ou configurez ses adresses IP. Selon votre configuration, vous devez obtenir au moins une adresse IP pour chaque zone non globale que vous souhaitez doter d'un accès réseau. S'il s'agit d'une zone en mode IP exclusif, déterminez la liaison de données qui lui sera assignée. Ce type de zone requiert un accès exclusif à une ou plusieurs interfaces réseau. Cette interface peut se présenter sous la forme d'un LAN séparé tel que bge1 ou d'un VLAN séparé tel que bge2000. La liaison de données doit être GLDv3. Les liaisons de données non GLDv3 se distinguent par la mention type: legacy dans la sortie de la commande dladm show-link. |
Reportez-vous aux sections Détermination du nom d'hôte d'une zone et obtention de son adresse réseau et Configuration d'une zone, et au Guide d’administration système : services IP. Pour plus d'informations sur les interfaces GLDv3, reportez-vous à la section Types d’interface Oracle Solaris du Guide d’administration système : services IP. |
Répertorier les systèmes de fichiers à monter dans la zone. |
Examinez les exigences applicatives. |
Pour plus d'informations, reportez-vous à la section Systèmes de fichiers montés dans une zone. |
Répertorier les interfaces réseau devant être disponibles dans la zone |
Examinez les exigences applicatives. |
Pour plus d'informations, reportez-vous à la section Interfaces réseau en mode IP partagé. |
Déterminer si le jeu de droits d'accès de la zone non globale par défaut doit être modifié |
Vérifiez le jeu de privilèges : jeu par défaut, privilèges pouvant être ajoutés et supprimés, et privilèges ne pouvant pas encore être utilisés. |
Reportez-vous à la section Privilèges dans une zone non globale. |
Répertorier les périphériques à configurer dans chaque zone. |
Examinez les exigences applicatives. |
Reportez-vous à la documentation de l'application. |
Configurer la zone |
Utilisez zonecfg pour créer une configuration pour la zone. |
Reportez-vous à la section Configuration, vérification et validation d'une zone. |
Vérifier et valider la zone configurée |
Déterminez si les ressources et les propriétés spécifiées sont valides sur un système hypothétique. |
Reportez-vous à la section Configuration, vérification et validation d'une zone. |
L'utilitaire Zones peut être utilisé sur toute machine équipée de Solaris 10. L'utilisation des zones est liée aux considérations suivantes concernant la machine :
les prescriptions de performances des applications exécutées dans chaque zone ;
l'espace disque disponible pour accueillir les fichiers uniques dans chaque zone.
L'espace disque utilisable par une zone n'est pas limité. La restriction de l'espace est du ressort de l'administrateur global, qui doit s'assurer que la capacité locale de stockage est suffisante pour accueillir un système de fichiers racine de zone non globale. Même un système à processeur unique peut supporter plusieurs zones s'exécutant simultanément.
La nature des packages installés dans la zone globale a une incidence sur l'espace disque requis par les zones non globales créées. Le nombre de packages et l'espace disque requis sont des facteurs.
Dans la version Solaris 10, les zones non globales disposant de ressources inherit-pkg-dir sont appelées zones à racine fragmentée.
Les zones de ce type optimisent le partage des objets de la manière suivante :
Seul un sous-ensemble des packages installés dans la zone globale sont directement installés dans la zone non globale.
Des systèmes de fichiers loopback en lecture seule, identifiés comme ressources inherit-pkg-dir, facilitent l'accès à d'autres fichiers.
Dans le modèle à racine fragmentée, tous les packages semblent être installés dans la zone non globale. Les packages qui ne livrent pas de contenu dans les systèmes de fichiers montés en loopback en lecture seule sont entièrement installés. Il n'est pas nécessaire d'installer de contenu livré dans les systèmes de fichiers montés en loopback en lecture seule, car ce contenu est hérité (et visible) de la zone globale.
En règle générale, une zone requiert environ 100 méga-octets d'espace disque libre lorsque la zone globale a été installée avec tous les packages standard de Solaris.
Par défaut, tous les packages supplémentaires installés dans la zone globale sont également installés dans les zones non globales. L'espace disque requis peut être plus élevé selon que ces packages incluent ou non des fichiers résidant dans l'espace de ressource inherit-pkg-dir.
Il est recommandé de prévoir 40 méga-octets supplémentaires de RAM par zone, mais cela n'est pas indispensable sur les machines disposant d'un espace de swap suffisant.
Les zones de ce type offrent une capacité de configuration maximale. Tous les packages requis et tous les packages Solaris optionnels sélectionnés sont installés sur les systèmes de fichiers privés de la zone. Ce modèle de zone présente différents avantages. Il offre notamment aux administrateurs globaux la possibilité de personnaliser la configuration des systèmes de fichiers des zones. Ils peuvent par exemple ajouter arbitrairement des packages tiers ou non fournis en standard.
Les exigences requises en ce qui concerne le disque sont déterminées par l'espace disque utilisé par les packages installés dans la zone globale.
Si vous créez une zone à racine fragmentée contenant les répertoires inherit-pkg-dir ci-dessous, vous devez supprimer ces répertoires de la configuration de zone non globale avant l'installation de la zone pour obtenir une zone à racine entière :
/lib
/platform
/sbin
/usr
Reportez-vous à la section Configuration d'une zone.
Pour restreindre la taille d'une zone, vous avez le choix entre plusieurs options :
Vous pouvez la placer sur une partition montée à l'aide de la commande lofi. Cette action limite l'espace requis par la zone à celui utilisé par le fichier lofi. Pour plus d'informations, reportez-vous aux pages de manuel lofiadm(1M) et lofi(7D).
Vous pouvez utiliser le partitionnement logiciel pour diviser les tranches d'espace disque ou les volumes logiques en partitions, puis utiliser ces partitions en tant que racines de zone, et limiter ainsi l'espace disque requis par zone. Le partitionnement logiciel est limité à 8 192 partitions. Pour plus d'informations, reportez-vous au Chapitre 12, Soft Partitions (Overview) du Solaris Volume Manager Administration Guide.
Vous pouvez utiliser les partitions standard d'un disque comme racines de zone, et limiter l'espace disque requis par zone.
Vous devez déterminer le nom d'hôte de la zone, puis lui assigner une adresse IPv4 ou configurer manuellement une adresse IPv6 et la lui assigner pour la doter d'un connectivité réseau.
Le nom d'hôte choisi doit être défini soit dans la base de données hosts, soit dans la base de données /etc/inet/hosts, comme spécifié par le fichier /etc/nsswitch.conf de la zone globale. Les bases de données réseau sont des fichiers fournissant des informations sur la configuration réseau. Le fichier nsswitch.conf spécifie le service d'attribution de nom à utiliser.
S'il s'agit de fichiers locaux, la base de données hosts est mise à jour dans le fichier /etc/inet/hosts. Les noms d'hôtes des interfaces réseau de zone sont résolus depuis la base de données locale hosts dans /etc/inet/hosts. L'adresse IP peut également être spécifiée directement lors de la configuration de la zone, ce qui évite toute résolution de nom d'hôte.
Pour plus d'informations, reportez-vous à la section Fichiers de configuration TCP/IP du Guide d’administration système : services IP et à la section Bases de données réseau et fichier nsswitch.conf du Guide d’administration système : services IP.
Toute zone en mode IP partagé requérant une connectivité réseau possède une ou plusieurs adresses à IP unique. Les adresses IPv4 et IPv6 sont prises en charge.
Si vous utilisez IPv4, obtenez une adresse et assignez-la à la zone concernée.
Vous pouvez également spécifier la longueur du préfixe de l'adresse IP. Le format de ce préfixe se présente de la manière suivante : adresse/longueur_préfixe, par exemple, 192.168.1.1/24. l'adresse à utiliser est 192.168.1.1 et le masque de réseau 255.255.255.0 ou le masque dont les 24 premiers bits sont des bits 1.
Si vous utilisez IPv6, vous devez configurer manuellement l'adresse. Habituellement, au moins deux types d'adresses doivent être configurées :
Les adresses lien-local se présentent sous la forme fe80:: ID d'interface 64 bits/10, /10 correspondant à une longueur de préfixe de 10 bits.
Les adresses unicast globales sont basées sur un préfixe 64 bits configuré par l'administrateur pour chaque sous-réseau et sur un ID d'interface 64 bits. Le préfixe peut également être obtenu en exécutant la commande ifconfig avec l'option -a6 sur tout système se trouvant sur le sous-réseau qui a été configuré en vue de l'utilisation du protocole IPv6.
L'ID d'interface 64 bits est typiquement dérivé d'une adresse MAC. Une adresse alternative unique de zone peut être dérivée de l'adresse IPv4 de la zone globale de la manière suivante :
16 bits of zero:upper 16 bits of IPv4 address:lower 16 bits of IPv4 address:a zone-unique number
Si l'adresse IPv4 de la zone globale est par exemple 192.168.200.10, fe80::c0a8:c80a:1/10 est une adresse lien-local valide pour une zone non globale utilisant un numéro unique de zone 1. Si le préfixe global utilisé sur ce sous-réseau est 2001:0db8:aabb:ccdd/64, 2001:0db8:aabb:ccdd::c0a8:c80a:1/64 est une adresse unicast globale unique pour la même zone non globale. Notez que vous devez spécifier une longueur de préfixe lorsque vous configurez une adresse IPv6.
Pour plus d'informations sur les adresses lien-local et les adresses unicast globales, reportez-vous à la page de manuel inet6(7P).
Pour configurer des adresses à l'intérieur d'une zone en mode IP exclusif, procédez comme pour une zone globale. Notez que vous pouvez utiliser l'utilitaire de configuration automatique d'adresses sans état IPv6 et DHCP pour configurer des adresses.
Pour plus d'informations, reportez-vous à la page de manuel sysidcfg(4).
La plate-forme virtuelle étant paramétrée, vous pouvez spécifier le nombre de montages à exécuter. Les systèmes de fichiers montés en loopback dans une zone à l'aide du système de fichiers loopback virtuel LOFS doivent être montés avec l'option nodevices. Pour plus d'informations sur l'option nodevices, reportez-vous à la section Systèmes de fichiers et zones non globales.
Le système de fichiers LOFS permet de créer un système de fichiers virtuel et d'accéder ainsi aux fichiers par le biais d'un nom de chemin alternatif. Dans les zones non globales, le montage en loopback donne l'impression que l'arborescence du système de fichiers est dupliquée sous la racine de la zone. À l'intérieur de celle-ci, tous les fichiers sont accessibles avec un nom de chemin commençant par la racine de la zone. Le montage LOFS préserve l'espace de noms du système de fichiers.
Pour plus d'informations, reportez-vous à la page de manuel lofs(7S).
Tâche |
Description |
Voir |
---|---|---|
Configurer une zone non globale. |
Pour créer une zone, vérifier la configuration et la valider, exécutez la commande zonecfg. Vous pouvez également avoir recours à un script pour configurer et initialiser plusieurs zones sur le système. Pour afficher la configuration de zones non globales, exécutez la commande zonecfg. |
Configuration, vérification et validation d'une zone, Script de configuration de zones multiples |
Modifier la configuration d'une zone. |
Utilisez cette procédure pour modifier un type de ressource dans la configuration d'une zone ou ajouter un périphérique dédié à une zone. |
Modification de la configuration d'une zone à l'aide de zonecfg |
Rétablir ou supprimer la configuration d'une zone. |
Pour annuler un paramétrage de ressource dans la configuration d'une zone ou supprimer la configuration d'une zone, exécutez la commande zonecfg. |
Rétablissement ou suppression de la configuration d'une zone à l'aide de zonecfg |
Supprimer la configuration d'une zone. |
Pour supprimer la configuration d'une zone du système, exécutez la commande zonecfg avec la sous-commande delete. |
Utilisez la commande zonecfg, décrite dans la page de manuel zonecfg(1M), pour exécuter les actions suivantes :
créer la configuration de la zone concernée ;
vérifier que toutes les informations requises sont présentes ;
valider la configuration de la zone non globale.
La commande zonecfg permet également de spécifier de manière persistante les paramètres de gestion des ressources pour la zone globale.
Pour annuler le paramétrage d'une ressource pendant la configuration d'une zone à l'aide de l'utilitaire zonecfg, exécutez la commande revert. Reportez-vous à la section Rétablissement de la configuration d'une zone.
Pour savoir comment configurer plusieurs zones sur le système à l'aide d'un script, consultez la section Script de configuration de zones multiples.
Pour plus d'informations sur l'affichage de la configuration des zones non globales, reportez-vous à la section Affichage de la configuration d'une zone non globale.
Pour créer une zone non globale native, seules les propriétés zonename et zonepath sont nécessaires. Les autres ressources et propriétés sont facultatives. Pour certaines ressources facultatives, vous devez également choisir entre plusieurs possibilités, comme, par exemple, utiliser la ressource dedicated-cpu ou la ressource capped-cpu. Pour plus d'informations sur les ressources et les propriétés zonecfg, reportez-vous à la section Données de configuration de zones.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Attribuez à la zone le nom que vous avez choisi.
Dans cet exemple, la zone est nommée my-zone.
global# zonecfg -z my-zone |
Si c'est la première fois que vous configurez cette zone, le message suivant s'affiche :
my-zone: No such zone configured Use 'create' to begin configuring a new zone. |
Créez la configuration de la nouvelle zone.
Les paramètres utilisés sont les paramètres par défaut.
zonecfg:my-zone> create |
Définissez le chemin de la zone, ici /export/home/my-zone.
zonecfg:my-zone> set zonepath=/export/home/my-zone |
Ne placez pas le zonepath sur un ZFS pour les versions antérieures à Solaris 10 10/08.
Définissez la valeur d'initialisation automatique.
Si cette propriété est définie sur true, l'initialisation de la zone globale entraîne automatiquement celle de cette zone. Notez que les zones ne s'initialisent automatiquement que si le service svc:/system/zones:default est activé. La valeur par défaut est false.
zonecfg:my-zone> set autoboot=true |
Définissez des arguments d'initialisation permanents pour la zone.
zonecfg:my-zone> set bootargs="-m verbose" |
Dédiez une ou plusieurs CPU à cette zone.
zonecfg:my-zone> add dedicated-cpu |
Révisez le jeu de privilèges par défaut.
zonecfg:my-zone> set limitpriv="default,sys_time" |
Cette ligne ajoute la capacité à définir l'horloge système sur le jeu de privilèges par défaut.
Définissez la classe de programmation sur FSS.
zonecfg:my-zone> set scheduling-class=FSS |
Ajoutez une limite de mémoire.
zonecfg:my-zone> add capped-memory |
Définissez la limite de mémoire.
zonecfg:my-zone:capped-memory> set physical=50m |
Définissez la limite de mémoire swap.
zonecfg:my-zone:capped-memory> set swap=100m |
Définissez la limite de mémoire verrouillée.
zonecfg:my-zone:capped-memory> set locked=30m |
Terminez la spécification des limites de mémoire.
zonecfg:my-zone:capped-memory> end |
Ajoutez un système de fichiers.
zonecfg:my-zone> add fs |
Définissez le point de montage du système de fichiers, ici /usr/local.
zonecfg:my-zone:fs> set dir=/usr/local |
Spécifiez que /opt/zones/my-zone/local de la zone globale doit être monté comme /usr/local dans la zone en cours de configuration.
zonecfg:my-zone:fs> set special=/opt/zones/my-zone/local |
Dans la zone non globale, le système de fichiers /usr/local sera accessible en lecture et en écriture.
Spécifiez le type de système de fichiers, ici lofs.
zonecfg:my-zone:fs> set type=lofs |
Le type indique la manière dont le noyau dialogue avec le système de fichiers.
Clôturez la spécification du système de fichiers.
zonecfg:my-zone:fs> end |
Cette étape peut être répétée pour ajouter plus d'un système de fichiers.
Facultatif : définissez la propriété hostid.
zonecfg:my-zone> set hostid=80f0c086 |
Ajoutez un jeu de données ZFS nommé sales dans le pool de stockage tank.
zonecfg:my-zone> add dataset |
(Uniquement pour les zones à racine fragmentée) Ajoutez un système de fichiers partagé monté en loopback depuis la zone globale.
Ignorez cette étape si la zone créée est une zone à racine entière (ce type de zone ne possède pas de systèmes de fichiers partagés). Pour plus de détails sur les zones à racine entière, reportez-vous à la section Espace disque requis.
zonecfg:my-zone> add inherit-pkg-dir |
Spécifiez que /opt/sfw de la zone globale doit être monté en mode lecture seule dans la zone en cours de configuration.
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw |
La base de données de packages de la zone est mise à jour en conséquence. À partir du moment où la zone a été installée à l'aide de zoneadm, ces ressources ne peuvent être ni modifiées ni supprimées.
Terminez la spécification de inherit-pkg-dir.
zonecfg:my-zone:inherit-pkg-dir> end |
Cette étape peut être répétée pour ajouter plusieurs systèmes de fichiers partagés.
Si vous voulez créez une zone à racine entière et que des ressources de systèmes de fichiers partagés par défaut ont été ajoutées à l'aide de inherit-pkg-dir, vous devez supprimer ces ressources inherit-pkg-dir par défaut avec zonecfg avant d'installer la zone :
zonecfg:my-zone> remove inherit-pkg-dir dir=/lib
zonecfg:my-zone> remove inherit-pkg-dir dir=/platform
zonecfg:my-zone> remove inherit-pkg-dir dir=/sbin
zonecfg:my-zone> remove inherit-pkg-dir dir=/usr
(Optionnel) Si la zone créée est une zone en mode IP exclusif, définissez le type d'IP (ip-type).
zonecfg:my-zone> set ip-type=exclusive |
Seul le type correspondant aux périphériques physiques doit être spécifié dans l'étape add net.
Ajoutez une interface réseau.
zonecfg:my-zone> add net |
(Uniquement pour les zones à racine entière) Définissez l'adresse IP de l'interface réseau, ici 192.168.0.1.
zonecfg:my-zone:net> set address=192.168.0.1 |
Définissez le type de périphérique physique de l'interface réseau, ici le périphérique hme.
zonecfg:my-zone:net> set physical=hme0 |
Solaris 10 08/10 : (facultatif, IP partagé uniquement) définissez le routeur par défaut de l'interface réseau 10.0.0.1 lors de cette procédure.
zonecfg:my-zone:net> set defrouter=10.0.0.1 |
Clôturez la spécification.
zonecfg:my-zone:net> end |
Cette étape peut être répétée pour ajouter plus d'une interface réseau.
Ajoutez un périphérique.
zonecfg:my-zone> add device |
Définissez la correspondance de périphérique, ici /dev/sound/* .
zonecfg:my-zone:device> set match=/dev/sound/* |
Terminez la spécification du périphérique.
zonecfg:my-zone:device> end |
Cette étape peut être répétée pour ajouter plusieurs périphériques.
Ajoutez un contrôle de ressource à l'échelle de la zone à l'aide du nom de propriété.
zonecfg:my-zone> set max-sem-ids=10485200 |
Cette étape peut être répétée pour ajouter plusieurs contrôles de ressource.
Ajoutez un commentaire à l'aide du type de ressource attr.
zonecfg:my-zone> add attr |
Définissez le nom sur comment.
zonecfg:my-zone:attr> set name=comment |
Définissez le type sur string.
zonecfg:my-zone:attr> set type=string |
Définissez la valeur sur un commentaire décrivant cette zone.
zonecfg:my-zone:attr> set value="This is my work zone." |
Clôturez la spécification du type de ressource attr.
zonecfg:my-zone:attr> end |
Vérifiez la configuration de la zone.
zonecfg:my-zone> verify |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
Quittez la commande zonecfg.
zonecfg:my-zone> exit |
Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.
La commande zonecfg prend également en charge des sous-commandes multiples, placées entre guillemets et séparées par des points-virgules, d'un même appel de shell.
global# zonecfg -z my-zone "create ; set zonepath=/export/home/my-zone" |
Pour installer la configuration de la zone validée, reportez-vous à la section Installation et initialisation de zones.
Ce script permet de configurer et d'initialiser plusieurs zones sur un système. Il regroupe les paramètres suivants :
le nombre de zones à créer ;
le préfixe de nom de zone ;
le répertoire à utiliser comme répertoire de base.
Vous devez être administrateur global de la zone globale pour pouvoir exécuter ce script. L'administrateur global possède des privilèges de superutilisateur dans la zone globale ou assume le rôle d'administrateur principal.
#!/bin/ksh # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" if [[ -z "$1" || -z "$2" || -z "$3" ]]; then echo "usage: $0 <#-of-zones> <zonename-prefix> <basedir>" exit 2 fi if [[ ! -d $3 ]]; then echo "$3 is not a directory" exit 1 fi nprocs=`psrinfo | wc -l` nzones=$1 prefix=$2 dir=$3 ip_addrs_per_if=`ndd /dev/ip ip_addrs_per_if` if [ $ip_addrs_per_if -lt $nzones ]; then echo "ndd parameter ip_addrs_per_if is too low ($ip_addrs_per_if)" echo "set it higher with 'ndd -set /dev/ip ip_addrs_per_if <num>" exit 1 fi i=1 while [ $i -le $nzones ]; do zoneadm -z $prefix$i list > /dev/null 2>&1 if [ $? != 0 ]; then echo configuring $prefix$i F=$dir/$prefix$i.config rm -f $F echo "create" > $F echo "set zonepath=$dir/$prefix$i" >> $F zonecfg -z $prefix$i -f $dir/$prefix$i.config 2>&1 | \ sed 's/^/ /g' else echo "skipping $prefix$i, already configured" fi i=`expr $i + 1` done i=1 while [ $i -le $nzones ]; do j=1 while [ $j -le $nprocs ]; do if [ $i -le $nzones ]; then if [ `zoneadm -z $prefix$i list -p | \ cut -d':' -f 3` != "configured" ]; then echo "skipping $prefix$i, already installed" else echo installing $prefix$i mkdir -pm 0700 $dir/$prefix$i chmod 700 $dir/$prefix$i zoneadm -z $prefix$i install > /dev/null 2>&1 & sleep 1 # spread things out just a tad fi fi i=`expr $i + 1` j=`expr $j + 1` done wait done i=1 while [ $i -le $nzones ]; do echo setting up sysid for $prefix$i cfg=$dir/$prefix$i/root/etc/sysidcfg rm -f $cfg echo "network_interface=NONE {hostname=$prefix$i}" > $cfg echo "system_locale=C" >> $cfg echo "terminal=xterms" >> $cfg echo "security_policy=NONE" >> $cfg echo "name_service=NONE" >> $cfg echo "timezone=US/Pacific" >> $cfg echo "root_password=Qexr7Y/wzkSbc" >> $cfg # 'l1a' i=`expr $i + 1` done i=1 para=`expr $nprocs \* 2` while [ $i -le $nzones ]; do date j=1 while [ $j -le $para ]; do if [ $i -le $nzones ]; then echo booting $prefix$i zoneadm -z $prefix$i boot & fi j=`expr $j + 1` i=`expr $i + 1` done wait done |
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Affichez la configuration de la zone.
global# zonecfg -z zonename info |
La commande zonecfg permet également de :
modifier un type de ressource dans la configuration d'une zone ;
effacer une valeur de propriété dans la configuration d'une zone ;
ajouter un périphérique dédié à une zone.
Vous pouvez sélectionner un type de ressource et modifier la spécification de cette ressource.
Une fois la zone installée à l'aide de zoneadm, le contenu des packages logiciels du répertoire inherit-pkg-dir ne peut être ni modifié ni supprimé.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Sélectionnez la zone à modifier, ici my-zone .
global# zonecfg -z my-zone |
Sélectionnez le type de ressource à modifier, par exemple un contrôle de ressource.
zonecfg:my-zone> select rctl name=zone.cpu-shares |
Supprimez la valeur actuelle.
zonecfg:my-zone:rctl> remove value (priv=privileged,limit=20,action=none) |
Ajoutez la nouvelle valeur.
zonecfg:my-zone:rctl> add value (priv=privileged,limit=10,action=none) |
Terminez la spécification rctl modifiée.
zonecfg:my-zone:rctl> end |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
Quittez la commande zonecfg.
zonecfg:my-zone> exit |
Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.
Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.
Utilisez cette procédure pour réinitialiser une propriété autonome.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Sélectionnez la zone à modifier, ici my-zone.
global# zonecfg -z my-zone |
Effacez la propriété à modifier, ici l'association de pools existante.
zonecfg:my-zone> clear pool |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
Quittez la commande zonecfg.
zonecfg:my-zone> exit |
Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.
Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.
La procédure ci-dessous permet de réinitialiser une propriété autonome ne possédant pas de propriétés liées à configurer. Vous pouvez par exemple rétablir la ressource pool sur null pour supprimer une association de pools existante.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Sélectionnez la zone à modifier, ici my-zone.
global# zonecfg -z my-zone |
Réinitialisez la propriété à modifier, ici l'association de pools existante.
zonecfg:my-zone> set pool="" |
Validez la configuration de la zone.
zonecfg:my-zone> commit |
Quittez la commande zonecfg.
zonecfg:my-zone> exit |
Notez que, même si vous ne répondez pas explicitement commit à l'invite, l'opération commit est automatiquement tentée lorsque vous tapez exit ou lorsqu'une condition EOF se produit.
Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.
Cette procédure peut être utilisée pour renommer les zones dont l'état est Configuré ou Installé.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Sélectionnez la zone à renommer, ici my-zone.
global# zonecfg -z my-zone |
Renommez la zone. Par exemple, nommez-la newzone.
zonecfg:my-zone> set zonename=newzone |
Validez la modification.
zonecfg:newzone> commit |
Quittez la commande zonecfg.
zonecfg:newzone> exit |
Les modifications effectuées à l'aide de zonecfg prennent effet lorsque vous réinitialisez la zone.
La spécification ci-après permet d'ajouter un scanner à la configuration d'une zone non globale.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Ajoutez un périphérique.
zonecfg:my-zone> add device |
Définissez la correspondance de périphérique, ici /dev/scsi/scanner/c3t4*.
zonecfg:my-zone:device> set match=/dev/scsi/scanner/c3t4* |
Terminez la spécification du périphérique.
zonecfg:my-zone:device> end |
Quittez la commande zonecfg.
zonecfg:my-zone> exit |
Cette procédure permet de définir de manière persistante les parts de CPU dans une zone globale.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Utilisez la commande zonecfg.
# zonecfg -z global |
Définissez cinq parts dans la zone globale.
zonecfg:global> set cpu-shares=5 |
Quittezzonecfg.
zonecfg:global> exit |
Pour rétablir ou supprimer la configuration d'une zone, exécutez la commande zonecfg décrite dans la page de manuel zonecfg(1M).
Pour annuler le paramétrage d'une ressource pendant la configuration d'une zone à l'aide de l'utilitaire zonecfg, exécutez la commande revert.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Pendant la configuration de la zone tmp-zone, tapez info pour afficher la configuration :
zonecfg:tmp-zone> info |
Le segment concernant la ressource net de la configuration se présente de la manière suivante :
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
Supprimez l'adresse réseau :
zonecfg:tmp-zone> remove net address=192.168.0.1 |
Assurez-vous que l'entrée net a été supprimée.
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs device match: /dev/pts/* . . . |
Entrez revert.
zonecfg:tmp-zone> revert |
Répondez oui à la question suivante :
Are you sure you want to revert (y/[n])? y |
Assurez-vous que l'adresse réseau a été rétablie :
zonecfg:tmp-zone> info |
. . . fs: dir: /tmp special: swap type: tmpfs net: address: 192.168.0.1 physical: eri0 device match: /dev/pts/* . . . |
Pour supprimer la configuration d'une zone du système, utilisez la commande zonecfg avec la sous-commande delete.
Pour exécuter la procédure ci-dessous, vous devez être administrateur global.
Devenez superutilisateur ou assumez le rôle d'administrateur principal.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.
Supprimez la configuration de la zone a-zone de l'une des deux manières suivantes :
Utilisez l'option -F pour forcer la suppression :
global# zonecfg -z a-zone delete -F |
Supprimez la zone de manière interactive en répondant oui à l'invite du système :
global# zonecfg -z a-zone delete Are you sure you want to delete zone a-zone (y/[n])? y |