Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Guide d'administration système : Conteneurs Oracle Solaris-Gestion des ressources et Oracle Solaris Zones Oracle Solaris 10 1/13 Information Library (Français) |
Partie I Gestion des ressources
1. Introduction à la gestion des ressources Solaris 10
2. Projets et tâches (présentation)
3. Administration des projets et des tâches
4. Comptabilisation étendue (présentation)
5. Administration de la comptabilisation étendue (tâches)
6. Contrôles des ressources (présentation)
7. Administration des contrôles des ressources (tâches)
8. Ordonnanceur FSS (présentation)
9. Administration de l'ordonnanceur FSS (tâches)
10. Contrôle de la mémoire physique à l'aide du démon de limitation des ressources (présentation)
11. Administration du démon de limitation des ressources (tâches)
12. Pools de ressources (présentation)
13. Création et administration des pools de ressources (tâches)
14. Exemple de configuration de la gestion des ressources
15. Contrôle des ressources dans Solaris Management Console
16. Introduction aux zones Solaris
17. Configuration des zones non globales (présentation)
18. Planification et configuration de zones non globales (tâches)
Planification et configuration d'une zone non globale (liste des tâches)
Evaluation du paramétrage du système
Limitation de la taille d'une zone
Détermination du nom d'hôte d'une zone et obtention de son adresse réseau
Adresse réseau en mode IP partagé
Adresse réseau en mode IP exclusif
Configuration des systèmes de fichiers
Création, modification et suppression de configurations de zones non globales (liste des tâches)
Modification de la configuration d'une zone à l'aide de zonecfg
Modification d'un type de ressource dans la configuration d'une zone
Solaris 10 8/07 : effacement d'un type de propriété dans la configuration d'une zone
Solaris 10 8/07 : renommage d'une zone
Ajout d'un périphérique dédié à une zone
Définition de zone.cpu-shares dans une zone globale
Rétablissement ou suppression de la configuration d'une zone à l'aide de zonecfg
Rétablissement de la configuration d'une zone
Suppression de la configuration d'une zone
20. Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches)
21. Connexion à une zone non globale (présentation)
22. Connexion à une zone non globale (tâches)
23. Déplacement et migration de zones non globales (tâches)
24. Oracle Solaris 10 9/10 : migration d'un système physique Oracle Solaris dans une zone (tâches)
25. A propos des packages et des patchs sur un système Oracle Solaris doté de zones (présentation)
27. Administration d'Oracle Solaris Zones (présentation)
28. Administration d'Oracle Solaris Zones (tâches)
29. Mise à niveau d'un système Oracle Solaris 10 doté de zones non globales
30. Dépannage des problèmes liés à Oracle Solaris Zones
31. A propos des zones marquées et de la zone marquée Linux
32. Planification de la configuration de zone marquée lx (présentation)
33. Configuration de la zone marquée lx (tâches)
35. Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches)
36. Connexion aux zones marquées lx (tâches)
37. Déplacement et migration de zones marquées lx (tâches)
38. Administration et exécution d'applications dans les zones marquées lx (tâches)
Exécutez la commande zonecfg, décrite dans la page de manuel zonecfg(1M), pour effectuer les opérations 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.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Utilisation des outils de gestion Solaris avec RBAC (liste des tâches) du manuel Guide d’administration système : administration de base.
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.
Les paramètres utilisés sont les paramètres par défaut.
zonecfg:my-zone> create
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.
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
zonecfg:my-zone> set bootargs="-m verbose"
zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-2
zonecfg:my-zone:dedicated-cpu> set importance=10
La valeur par défaut est 1.
zonecfg:my-zone:dedicated-cpu> end
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.
zonecfg:my-zone> set scheduling-class=FSS
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
zonecfg:my-zone> add fs
zonecfg:my-zone:fs> set dir=/usr/local
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.
zonecfg:my-zone:fs> set type=lofs
Le type indique la manière dont le noyau dialogue avec le 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.
zonecfg:my-zone> set hostid=80f0c086
zonecfg:my-zone> add dataset
zonecfg:my-zone> set name=tank/sales
zonecfg:my-zone> end
Ignorez cette étape si la zone créée est une zone whole root (ce type de zone ne possède pas de systèmes de fichiers partagés). Pour plus de détails sur les zones whole root, reportez-vous à la section Espace disque requis.
zonecfg:my-zone> add inherit-pkg-dir
zonecfg:my-zone:inherit-pkg-dir> set dir=/opt/sfw
Remarque - La base de données de packages de la zone est mise à jour en conséquence. A 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.
zonecfg:my-zone:inherit-pkg-dir> end
Cette étape peut être répétée pour ajouter plusieurs systèmes de fichiers partagés.
Remarque - Si vous voulez créez une zone whole root 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
zonecfg:my-zone> set ip-type=exclusive
Remarque - Seul le type correspondant aux périphériques physiques doit être spécifié dans l'étape add net.
zonecfg:my-zone> add net
zonecfg:my-zone:net> set address=192.168.0.1
zonecfg:my-zone:net> set physical=hme0
zonecfg:my-zone:net> set defrouter=10.0.0.1
zonecfg:my-zone:net> end
Cette étape peut être répétée pour ajouter plus d'une interface réseau.
zonecfg:my-zone> add device
zonecfg:my-zone:device> set match=/dev/sound/*
zonecfg:my-zone:device> end
Cette étape peut être répétée pour ajouter plusieurs périphériques.
zonecfg:my-zone> set max-sem-ids=10485200
Cette étape peut être répétée pour ajouter plusieurs contrôles de ressource.
zonecfg:my-zone> add attr
zonecfg:my-zone:attr> set name=comment
zonecfg:my-zone:attr> set type=string
zonecfg:my-zone:attr> set value="This is my work zone."
zonecfg:my-zone:attr> end
zonecfg:my-zone> verify
zonecfg:my-zone> commit
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.
Astuce - 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 zonename
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 prend 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.
Pour savoir comment créer le rôle et l'assigner à un utilisateur, reportez-vous à la section Utilisation des outils de gestion Solaris avec RBAC (liste des tâches) du manuel Guide d’administration système : administration de base.
global# zonecfg -z zonename info