Guide d'administration système : Gestion des ressources des conteneurs et des zones Oracle Solaris

Chapitre 27 Administration de zones Solaris (présentation)

Ce chapitre aborde les sujets généraux d'administration de zone suivants :

Pour plus d'informations sur les zones marquées lx, reportez-vous à la Partie III, Zones marquées lx.

Nouveautés

Solaris 10 1/06 : la section Démontage des systèmes de fichiers dans les zones a été ajoutée.

Solaris 10 1/06 : des sections sur la sauvegarde et la restauration de zone ont été ajoutées. Voir la section À propos de la sauvegarde d'un système Solaris doté de zones.

Solaris 10 6/06 : une entrée ZFS a été ajoutée à la section Montage de systèmes de fichiers dans les zones.

Solaris 10 8/07 : les informations ci-dessous sont nouvelles ou mises à jour dans cette version.

Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.

Accès et visibilité de la zone globale

La zone globale sert à la fois de zone par défaut pour le système et de zone utilisée pour le contrôle administratif au niveau du système. Ce double rôle présente des problèmes d'administration. Comme les applications au sein de la zone ont accès aux processus et autres objets du système, les opérations d'administration peuvent avoir des répercussions plus importantes que prévues. Par exemple, pour indiquer la sortie des processus d'un nom donné, les scripts d'arrêt de service utilisent fréquemment la commande pkill. Lorsque vous exécutez ce script à partir de la zone globale, tous les processus du système se voient communiquer l'arrêt, quelle que soit la zone.

Cette portée au niveau du système est souvent requise. Par exemple, pour contrôler l'utilisation des ressources système, vous devez afficher les statistiques concernant les processus de l'ensemble du système. En affichant l'activité de la zone globale uniquement, vous ne disposeriez pas d'informations pertinentes relatives aux autres zones partageant les ressources système ou une partie de ces ressources. Un tel affichage revêt toute son importance lorsque les ressources système, la CPU notamment, ne sont pas strictement partitionnées à l'aide de fonctions de gestion de ressources.

Par conséquent, les processus de la zone globale peuvent observer les processus et les autres objets des zones non globales. Ils disposent ainsi d'une capacité d'observation au niveau de l'ensemble du système. Le privilège PRIV_PROC_ZONE limite le contrôle et l'envoi de signaux aux processus. À l'instar de PRIV_PROC_OWNER, ce privilège permet aux processus d'ignorer les restrictions placées sur les processus sans privilège. Dans ce cas, la restriction consiste à empêcher les processus sans privilège de la zone globale de contrôler les processus des autres zones ou de leur envoyer des signaux. Ceci est également vrai lorsque les ID utilisateur des processus correspondent ou que le processus réalisant l'action possède le privilège PRIV_PROC_OWNER. Vous pouvez supprimer le privilège PRIV_PROC_ZONE des processus disposant d'autres privilèges afin de limiter les opérations concernant la zone globale.

Pour plus d'informations sur la correspondance des processus à l'aide de zoneidlist, reportez-vous aux pages de manuel pgrep(1) et pkill(1).

Visibilité des identificateurs de processus dans les zones

Seuls les processus d'une même zone sont visibles par le biais d'interfaces d'appel système utilisant les identificateurs de processus, comme les commandes kill et priocntl. Pour plus d'informations, reportez-vous aux pages de manuel kill(1) et priocntl(1).

Capacité d'observation du système dans les zones

Les modifications suivantes ont été apportées à la commande ps :

Pour plus d'informations, reportez-vous à la page de manuel ps(1) .

L'option -z nom de zone a été ajoutée aux utilitaires Solaris suivants. Elle permet de filtrer les informations à inclure aux zones spécifiées.

Pour obtenir la liste complète des modifications apportées aux commandes, reportez-vous au Tableau 27–5.

Nom de nœud dans une zone non globale

L'administrateur de zone peut définir le nom de nœud dans /etc/nodename renvoyé par uname - n. Les noms de nœud doivent être uniques.

Systèmes de fichiers et zones non globales

Cette section contient les informations relatives aux problèmes liés aux systèmes de fichiers des systèmes Solaris dotés de zones. Chaque zone possède sa section de l'arborescence du système de fichiers, située dans le répertoire appelé la racine de zone. Les processus de la zone peuvent accéder uniquement aux fichiers de la partie de l'arborescence située sous la racine de zone. Vous pouvez employer l'utilitaire chroot au sein d'une zone, mais uniquement à des fins de restriction du processus à un chemin racine de la zone en question. Pour plus d'informations sur chroot, reportez-vous à la page de manuel chroot(1M).

Option -o nosuid

L'option -o nosuid de l'utilitaire mount a la fonction suivante :

Cette option spécifique au système de fichiers est disponible pour tous les systèmes Solaris que vous pouvez monter à l'aide des utilitaires mount, comme le décrit la page de manuel mount(1M) Dans ce manuel, ces systèmes de fichiers sont répertoriés à la section Montage de systèmes de fichiers dans les zones. Les capacités de montage y sont également décrites. Pour plus d'informations sur l'option -o nosuid voir la section Accessing Network File Systems (Reference) du System Administration Guide: Network Services .

Montage de systèmes de fichiers dans les zones

L'option nodevices s'applique lors du montage des systèmes de fichiers au sein d'une zone. Par exemple, si une zone se voit accorder l'accès à un périphérique en mode bloc (/dev/dsk/c0t0d0s7 ) et à un périphérique brut (/dev/rdsk/c0t0d0s7) correspondant à un système de fichiers UFS, le système de fichiers est automatiquement monté avec l'option nodevices dans le cadre d'un montage au sein d'une zone. Cette règle ne s'applique pas aux montages spécifiés par le biais d'une configuration zonecfg.

Le tableau ci-dessous décrit les options de montage de systèmes de fichiers dans les zones non globales. Les procédures concernant ces options de montage sont fournies aux sections Configuration, vérification et validation d'une zone et Montage de systèmes de fichiers dans des zones non globales en cours d'exécution.

Les types de système de fichiers qui ne sont pas répertoriés dans le tableau peuvent être spécifiés dans la configuration s'ils présentent un binaire de montage dans /usr/lib/type fs/mount .

Système de fichiers 

Options de montage dans une zone non globale 

AutoFS 

Ne peut être monté à l'aide de la commande zonecfg, ne peut être monté manuellement dans une zone non globale à partir de la zone globale. Peut être monté au sein d'une zone.

CacheFS 

Ne peut être utilisé dans une zone non globale. 

FDFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

HSFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

LOFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

MNTFS 

Ne peut être monté à l'aide de la commande zonecfg, ne peut être monté manuellement dans une zone non globale à partir de la zone globale. Peut être monté au sein d'une zone.

NFS 

Ne peut pas être monté à l'aide de la commande zonecfg. Les versions V2, V3 et V4 actuellement prises en charge dans les zones peuvent être montées au sein de la zone.

PCFS  

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

PROCFS 

Ne peut être monté à l'aide de la commande zonecfg, ne peut être monté manuellement dans une zone non globale à partir de la zone globale. Peut être monté au sein d'une zone.

TMPFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

UDFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

UFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

XMEMFS 

Peut être monté à l'aide de la commande zonecfg, peut être monté manuellement dans une zone non globale à partir de la zone globale, peut être monté au sein de la zone.

Ce système de fichiers ne sera plus pris en charge dans les versions à venir du système Solaris. 

ZFS 

Peut être monté à l'aide des types de ressources zonecfg dataset et fs.

Pour plus d'informations, reportez-vous aux sections Configuration d'une zone et Montage de systèmes de fichiers dans des zones non globales en cours d'exécution, ainsi qu'à la page de manuel mount(1M).

Démontage des systèmes de fichiers dans les zones

La possibilité de démonter un système de fichiers dépend de l'identité de l'utilisateur ayant réalisé le montage initial. Si le système de fichiers est spécifié dans la configuration de la zone à l'aide de la commande zonecfg, le montage appartient à la zone globale. Par conséquent, l'administrateur de la zone non globale ne peut pas démonter le système de fichiers. En revanche, si le système de fichiers est monté à l'intérieur de la zone non globale, par exemple, en spécifiant le montage dans le fichier /etc/vfstab de la zone, l'administrateur de la zone non globale est autorisé à le démonter.

Restrictions de sécurité et comportement du système de fichiers

Le montage de certains systèmes de fichiers au sein d'une zone est soumis à des restrictions de sécurité. et d'autres systèmes de fichiers ont un comportement particulier lorsqu'ils sont montés dans une zone. Les systèmes de fichiers modifiés sont répertoriés ci-dessous.

AutoFS

AutoFS est un service côté client qui monte automatiquement le système de fichiers adéquat. Lorsqu'un client essaie d'accéder à un système de fichiers non monté, le système de fichiers AutoFS intercepte la requête et appelle la commande automountd pour monter le répertoire spécifié. Les montages AutoFS établis au sein d'une zone sont locaux à cette zone. Ils ne sont pas accessibles à partir d'autres zones, pas même de la zone globale. Ils sont supprimés à l'arrêt ou à la réinitialisation de la zone. Pour plus d'informations sur AutoFS, reportez-vous à la section How Autofs Works du System Administration Guide: Network Services .

Chaque zone exécute sa copie de automountd. L'administrateur de zone contrôle les délais et les cartes automatiques. Vous ne pouvez pas déclencher un montage dans une autre zone en croisant un point de montage AutoFS pour une zone non globale à partir de la zone globale.

Certains montages AutoFS sont créés dans le noyau lors du déclenchement d'un autre montage. Ces montages ne peuvent pas être supprimés à l'aide de l'interface standard umount, car ils doivent être montés ou démontés en tant que groupe. Notez que cette fonctionnalité s'applique à l'arrêt de zone.

MNTFS

MNTFS est un système de fichiers virtuel fournissant au système local l'accès en lecture seule à la table des systèmes de fichiers montés. Le groupe de systèmes de fichiers qui s'affiche lorsque vous exécutez la commande mnttab à l'intérieur d'une zone non globale correspond au groupe de systèmes de fichiers figurant dans la zone, plus une entrée racine (/) . Dans le cas des points de montage dotés d'un périphérique spécial inaccessible à l'intérieur de la zone, tel que /dev/rdsk/c0t0d0s0, la configuration du périphérique est identique à celle du point de montage. Tous les montages du système s'affichent dans la table /etc/mnttab de la zone. Pour plus d'informations sur MNTFS, reportez-vous au Chapitre 18, Mounting and Unmounting File Systems (Tasks) du System Administration Guide: Devices and File Systems.

NFS

Les montages AutoFS établis au sein d'une zone sont locaux à cette zone. Ils ne sont pas accessibles à partir d'autres zones, pas même de la zone globale. Ils sont supprimés à l'arrêt ou à la réinitialisation de la zone.

Comme indiqué dans la page de manuel mount_nfs(1M), un serveur NFS ne doit pas essayer de monter son système de fichiers. Par conséquent, une zone ne doit pas monter en mode NFS un système de fichiers exporté par la zone globale. Les zones ne peuvent pas être des serveurs NFS. Au sein d'une zone, les montages NFS se comportent comme s'ils étaient montés à l'aide de l'option nodevices.

La sortie de commande nfsstat appartient uniquement à la zone dans laquelle la commande est exécutée. Par exemple, si la commande est exécutée dans la zone globale, seules les informations concernant la zone globale sont signalées. Pour plus d'informations sur la commande nfsstat, reportez-vous à la page de manuelnfsstat(1M).

La commande zlogin échoue si l'un de ses fichiers ouverts ou l'une des régions de son espace d'adressage réside sur NFS. Pour plus d'informations, reportez-vous à la section Commande zlogin.

PROCFS

Le système de fichiers /proc ou PROCFS fournit la visibilité de processus et les restrictions d'accès, ainsi que les informations concernant l'association de processus au niveau de la zone. Seuls les processus d'une même zone sont visibles par le biais de /proc.

Les processus de la zone globale peuvent observer les processus et les autres objets des zones non globales. Ils disposent ainsi d'une capacité d'observation au niveau de l'ensemble du système.

Au sein d'une zone, les montages, procfs se comportent comme s'ils étaient montés à l'aide de l'option nodevices. Pour plus d'informations sur la commande procfs, reportez-vous à la page de manuel proc(4).

LOFS

La portée du montage par le biais de LOFS se limite à la partie du système de fichiers visible à la zone. Ainsi, aucune restriction ne s'applique aux montages LOFS dans une zone.

UFS, UDFS, PCFS et autres systèmes de fichiers basés sur le stockage

Lorsqu'il utilise la commande zonecfg pour configurer des systèmes de fichiers basés sur le stockage et dotés d'un binaire fsck, comme UFS, l'administrateur de zone doit spécifier un paramètre brut. Ce paramètre indique le périphérique brut (en mode caractère) tel que /dev/rdsk/c0t0d0s7. La commande zoneadmd exécute automatiquement la commande fsck en mode vérification uniquement non interactif (fsck -m) sur le périphérique préalablement au montage du système de fichiers. En cas d'échec de la commande fsck, la commande zoneadmd ne peut pas préparer la zone. Le chemin spécifié par le paramètre raw ne peut pas être relatif.

Indiquer un périphérique à la commande fsck pour un système de fichiers qui ne fournit pas de binaire fsck dans /usr/lib/ type fs/fsck constitue une erreur. Ne pas indiquer un périphérique à la commande fsck si un binaire fsck existe pour ce fichier constitue également une erreur.

Pour plus d'informations, reportez-vous à la section Démon zoneadmd et la page de manuel fsck(1M).

ZFS

Vous pouvez ajouter un jeu de données ZFS à une zone non globale à l'aide de la commande zonecfg et de la ressource add dataset. Le jeu de données est visible et monté dans la zone non globale et n'est plus visible dans la zone globale. L'administrateur de zone peut créer et détruire les systèmes de fichiers à l'intérieur de cet ensemble de données ou les propriétés du jeu de données.

L'attribut zoned de la commande zfs indique l'ajout d'un jeu de données à une zone non globale.


# zfs get zoned tank/sales
NAME          PROPERTY    VALUE      SOURCE
tank/sales    zoned       on         local

Si vous souhaitez partager un jeu de données de la zone globale, vous pouvez ajouter un système de fichiers ZFS monté en LOFS à l'aide de la commande zonecfg et de la sous-commande add fs. L'administrateur global est chargé de la configuration et du contrôle des propriétés du jeu de données.

Pour plus d'informations sur les systèmes de fichiers ZFS, reportez-vous au Chapitre 10, Rubriques avancées Oracle Solaris ZFS du Guide d’administration Oracle Solaris ZFS.

Zones non globales en tant que clients NFS

Les zones peuvent être des clients NFS. Les protocoles version 2, version 3 et version 4 sont pris en charge. Pour plus d'informations sur ces versions NFS, reportez-vous à la section Features of the NFS Service du System Administration Guide: Network Services

La version par défaut est NFS version 4. Vous pouvez activer d'autres versions NFS sur un client par l'une des méthodes suivantes :

Interdiction d'utiliser la commande mknod dans une zone

Vous ne pouvez pas utiliser la commande mknod décrite dans la page de manuel mknod(1M) pour créer un fichier spécial dans une zone non globale.

Parcours des systèmes de fichiers

L'espace de noms de système de fichiers d'une zone est un sous-ensemble de l'espace de noms accessible à partir de la zone globale. Pour empêcher les processus sans privilèges de la zone globale de parcourir l'arborescence de système de fichiers d'une zone non globale :

Toute tentative d'accès aux nœuds AutoFS montés pour une autre zone est vouée à l'échec. L'administrateur global ne doit pas avoir de mappages automatiques descendant dans d'autres zones.

Restriction d'accès à une zone non globale à partir de la zone globale

Pour accéder directement à partir de la zone globale à une zone non globale installée, vous devez utiliser les utilitaires de sauvegarde du système. En outre, une zone non globale n'est plus sécurisée dès qu'elle est exposée à un environnement inconnu. Imaginons une zone placée sur un réseau public et courant le risque que le contenu de ses systèmes de fichiers soit modifié. S'il existe le moindre doute que la zone ait été exposée à un tel risque, l'administrateur système doit la traiter comme non sécurisée.

Toute commande acceptant une racine alternative via l'option -R ou - b (ou l'équivalent) ne doit pas être utilisée lorsque :

Tel est le cas, par exemple, de l'option -R root_path de l'utilitaire pkgadd exécuté à partir de la zone globale avec un chemin racine de zone non globale.

Les commandes, programmes et utilitaires utilisant l'option -R avec un chemin racine alternatif sont répertoriés ci-dessous.

Les commandes et programmes utilisant l'option -b avec un chemin racine alternatif sont répertoriés ci-dessous.

Mise en réseau dans des zones non globales en mode IP partagé

Sur un système Solaris doté de zones, les zones peuvent communiquer entre elles sur le réseau. Toutes possèdent des connexions ou des liaisons distinctes et peuvent exécuter leurs propres démons de serveur. Ces derniers peuvent écouter sur les mêmes ports sans que cela n'engendre de conflit. La pile IP résout les conflits en prenant en compte les adresses IP pour les connexions entrantes. Les adresses IP identifient la zone.

Partition de zone en mode IP partagé

La pile IP dans un système prenant en charge les zones organise la séparation, entre les zones, du trafic sur le réseau. Les applications réceptrices de trafic IP reçoivent uniquement le trafic envoyé à la même zone.

Chaque interface logique du système appartient à une zone donnée (par défaut, la zone globale). Les interfaces réseau logiques assignées à des zones par le biais de l'utilitaire zonecfg permettent la communication sur le réseau. Tous les flux et connexions appartiennent à la zone du processus à l'origine de leur ouverture.

Des restrictions s'appliquent aux liaisons entre les flux de couche supérieure et les interfaces logiques. Un flux peut uniquement établir des liaisons aux interfaces logiques figurant dans sa zone. De même, les paquets d'une interface logique peuvent être transmis uniquement aux flux de couche supérieure de la zone dans laquelle figure l'interface logique.

Chaque zone possède son propre ensemble de liaisons. Chaque zone peut exécuter la même application à l'écoute sur le même port sans que les liaisons n'échouent parce que l'adresse est déjà utilisée. Chaque zone peut exécuter sa propre version des services suivants :

Les zones non globales disposent d'un accès limité au réseau. Les interfaces socket TCP et UDP standard sont disponibles, mais les interfaces socket SOCK_RAW sont limitées au protocole ICMP (Internet Control Message Protocol). Le protocole ICMP est requis pour la détection et le signalement des conditions d'erreur réseau ou l'utilisation de la commande ping.

Interfaces réseau en mode IP partagé

Chaque zone non globale devant se connecter au réseau dispose d'une ou plusieurs adresses IP dédiées. Ces adresses sont associées à des interfaces réseau logiques que vous pouvez placer dans une zone à l'aide de la commande ifconfig. Les interfaces réseau de zone 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 commande ifconfig permet d'ajouter ou de supprimer des interfaces logiques lorsque la zone est en cours d'exécution. Seul l'administrateur global est autorisé à modifier la configuration de l'interface et les routes du réseau.

Au sein d'une zone non globale, seules les interfaces associées à cette zone sont visibles par le biais de la commande ifconfig.

Pour plus d'informations, reportez-vous aux pages de manuel ifconfig(1M) et if_tcp(7P).

Trafic IP entre zones en mode IP partagé sur une même machine

La livraison de paquets entre deux zones d'une même machine n'est autorisée que si une route de concordance existe pour la destination et la zone dans la table de transfert.

Les informations de concordance sont implémentées comme suit :

Solaris IP Filter dans les zones en mode IP partagé

Solaris IP Filter permet le filtrage de paquets avec état et la traduction d'adresse réseau (NAT, Network Address Translation). Un filtre de paquets avec état permet de contrôler l'état des connexions actives. À l'aide des informations obtenues, il identifie alors les paquets autorisés à franchir le pare-feu. Solaris IP Filter permet également le filtrage de paquets sans état ainsi que la création et la gestion des pools d'adresses. Pour plus d'informations, reportez-vous au Chapitre 25, Oracle Solaris IP Filter (présentation) du Guide d’administration système : services IP.

Pour activer Solaris IP Filter dans les zones non globales, activez le filtrage en loopback, comme décrit dans le Chapitre 26, Oracle Solaris IP Filter (tâches) du Guide d’administration système : services IP.

Solaris IP Filter est dérivé du logiciel Open Source IP Filter.

Multiacheminement sur réseau IP dans les zones en mode IP partagé

Le multiacheminement sur réseau IP (IPMP, IP Network Multipathing) permet de détecter les défaillances des interfaces physiques et de basculer en transparence l'accès au réseau pour un système présentant plusieurs interfaces sur une même liaison IP. IPMP permet également de répartir la charge des paquets pour les systèmes dotés de plusieurs interfaces.

L'intégralité de la configuration du réseau s'effectue dans la zone globale. Vous pouvez configurer IPMP dans la zone globale, puis étendre cette fonctionnalité aux zones non globales. Pour cela, lorsque vous configurez la zone, vous devez placer son adresse dans un groupe IPMP. En cas d'échec de l'une des interfaces de la zone globale, les adresses de zone non globale migrent vers une autre carte d'interface réseau. Une zone en mode IP partagé peut contenir plusieurs adresses IP, faire partie de plusieurs groupes IPMP et plusieurs zones en mode IP partagé peuvent utiliser le même groupe IPMP.

Au sein d'une zone non globale, seules les interfaces qui lui sont associées sont visibles par le biais de la commande ifconfig.

Voir la section Extension de la fonction IPMP aux zones non globales en mode IP partagé. La procédure de configuration des zones est traitée dans la section Configuration d'une zone. Pour plus d'informations sur l'utilisation d'IPMP, ses composants et ses fonctions, reportez-vous au Chapitre 30, Présentation d’IPMP du Guide d’administration système : services IP.

Solaris 10 8/07 : mise en réseau dans des zones non globales en mode IP exclusif

Une zone en mode IP exclusif possède ses variables de réglage et d'état IP. Lors de sa configuration, la zone reçoit un ensemble de liaisons de données qui lui est propre.

Pour plus d'informations sur les fonctions disponibles dans les zones non globales en mode IP exclusif, reportez-vous à la section Solaris 10 8/07 : zones non globales en mode IP exclusif. Pour plus d'informations sur les variables ndd IP de réglage, reportez-vous au Oracle Solaris Tunable Parameters Reference Manual .

Partitionnement de zone en mode IP exclusif

Les zones en mode IP exclusif possèdent des piles TCP/IP distinctes. Ainsi, le partitionnement s'applique jusqu'au niveau de la couche de liaisons de données. L'administrateur global attribue un ou plusieurs noms de liaison de données (un NIC ou un VLAN sur un NIC) à une zone en mode IP exclusif. Pour configurer IP sur ces liaisons de données, il dispose de la souplesse et des options disponibles dans la zone globale.

Interfaces de liaison de données en mode IP exclusif

Le nom de liaison de données assigné exclusivement à une zone.

Pour afficher les liaisons de données assignées aux zones en cours d'exécution, vous pouvez utiliser la commande dladm show-link.

Pour plus d'informations, reportez-vous à la page de manuel dladm(1M).

Trafic IP entre zones en mode IP exclusif sur la même machine

Les paquets entre zones en mode IP exclusif ne sont pas soumis à un loopback interne. Tous les paquets sont envoyés à la liaison de données. Habituellement, cela signifie que les paquets sont envoyés sur une interface réseau. Ensuite, les périphériques, tels que les commutateurs Ethernet ou les routeurs IP peuvent transférer les paquets vers leur destination, éventuellement une autre zone sur la machine de l'expéditeur.

Solaris IP Filter dans les zones en mode IP exclusif

Les fonctionnalités de filtre IP dont vous disposez dans la zone globale sont également disponibles dans les zones en mode IP exclusif. La configuration du filtre IP dans la zone globale et dans les zones en mode IP exclusif est identique.

Multiacheminement sur réseau IP dans les zones en mode IP exclusif

Le multiacheminement sur réseau IP (IPMP, IP Network Multipathing) permet de détecter les défaillances des interfaces physiques et de basculer en transparence l'accès au réseau pour un système présentant plusieurs interfaces sur une même liaison IP. En plus de la tolérance aux pannes, IPMP permet également de répartir la charge des paquets pour les systèmes dotés de plusieurs interfaces.

La configuration de la liaison des données s'effectue dans la zone globale. Tout d'abord, vous assignez plusieurs interfaces de liaison de données à une zone à l'aide de la commande zonecfg. Vous devez joindre les différentes interfaces de liaisons de données au même sous-réseau IP. L'administrateur de zone peut alors configurer IPMP de l'intérieur de la zone en mode IP exclusif. Plusieurs groupes IPMP peuvent être assignés à chaque zone en mode IP exclusif, mais ces groupes IPMP ne peuvent pas être partagés avec d'autres zones.

Utilisation de périphériques dans les zones non globales

Pour empêcher toute interférence entre processus de zones différentes, le groupe de périphériques au sein d'une zone est limité. Par exemple, un processus dans une zone ne peut pas modifier la mémoire du noyau ni le contenu du disque racine. Ainsi, par défaut, seuls certains pseudopériphériques dont l'utilisation dans une zone ne comporte pas de risque sont disponibles. Vous pouvez rendre d'autres périphériques disponibles au sein d'une zone spécifique à l'aide de l'utilitaire zonecfg.

/dev et l'espace de nom /devices

Le système de fichiers devfs décrit dans la page de manuel devfs(7FS) permet au système Solaris de gérer /devices. Chaque élément de cet espace de nom représente le chemin physique d'un périphérique matériel, d'un pseudopériphérique ou d'un périphérique Nexus. L'espace de nom reflète l'arborescence des périphériques. Ainsi, le système de fichiers est constitué d'une arborescence de répertoires et de fichiers spécifiques aux périphériques.

L'arborescence de fichiers /dev, désormais partie intégrante du système de fichiers (racine) /, comporte des liaisons symboliques ou des chemins logiques vers les chemins physiques présents dans /devices. Les applications font référence au chemin logique vers un périphérique présent dans /dev. Le système de fichiers /dev est monté en loopback dans la zone selon un montage en lecture seule.

L'arborescence de fichiers /dev est géré par un système comportant les composants suivants :


Attention – Attention –

Les sous-systèmes qui dépendent de chemins /devices ne peuvent pas s'exécuter dans les zones non globales avant l'établissement des chemins /dev.


Périphérique d'utilisation exclusive

Vous souhaitez peut-être assigner des périphériques à des zones spécifiques. Si vous accordez à des utilisateurs sans privilèges l'accès à des périphériques en mode bloc, ceux-ci pourraient être utilisés pour occasionner des erreurs graves, des réinitialisations de bus ou autres effets négatifs. Avant toute assignation de ce genre, veillez à tenir compte des points suivants :

Gestion de pilote de périphérique

Dans une zone non globale, vous pouvez consulter la liste des modules du noyau chargés à l'aide de la commande modinfo décrite dans la page de manuel modinfo(1M).

La plupart des opérations de gestion du noyau, des périphériques et de la plate-forme ne peuvent pas s'effectuer au sein des zones non globales. En effet, la modification des configurations matérielles de plate-forme représente une violation du modèle de sécurité de zone. Quelques-unes de ces opérations sont indiquées ci-dessous :

Dysfonctionnement ou modification d'utilitaires dans les zones non globales

Dysfonctionnement d'utilitaires dans les zones non globales

Les utilitaires suivants ne fonctionnent pas dans une zone, car ils dépendent de périphériques habituellement indisponibles :

SPARC : Modification d'utilitaire pour une application dans les zones non globales

Vous pouvez exécuter l'utilitaire eeprom dans une zone pour afficher des paramètres. Il ne permet cependant pas de modifier les paramètres. Pour plus d'informations, reportez-vous aux pages de manuel eeprom(1M) et openprom(7D).

Exécution d'applications dans les zones non globales

En règle générale, vous pouvez exécuter toutes les applications dans les zones non globales. Toutefois, il est possible que les types d'applications suivants ne conviennent pas à cet environnement :

Utilisation de contrôles de ressources dans les zones non globales

Pour plus d'informations sur l'utilisation de la fonction de gestion de ressources dans une zone, reportez-vous également au chapitre décrivant la fonction dans la partie 1 du présent manuel.

Tous les attributs et contrôles de ressources décrits dans les chapitres sur la gestion de ressources peuvent être configurés dans le service d'annuaire LDAP, la carte NIS ou le fichier /etc/project. Les paramètres sont propres à chaque zone. Un projet exécuté de manière autonome dans différentes zones peut présenter des contrôles configurés de manière individuelle dans chaque zone. Par exemple, le projet A peut être paramétré project.cpu-shares=10 dans la zone globale et project.cpu-shares=5 dans une zone non globale. Plusieurs instances de rcapd peuvent être exécutées sur le système, les opérations de chacune d'elles étant toutefois circonscrites à la zone qui lui correspond.

Les attributs et contrôles de ressources permettant de contrôler les projets, tâches et processus d'une zone font l'objet d'exigences supplémentaires en ce qui concerne les pools et les contrôles de ressources à l'échelle de la zone.

Dans le cadre des zones non globales, la règle "une zone, un pool" s'applique. Plusieurs zones non globales peuvent partager les ressources d'un pool. Toutefois, les processus dans la zone globale peuvent être liés à tout pool par un processus disposant des privilèges suffisants. Le contrôleur de ressources poold s'exécute uniquement dans la zone globale contenant plusieurs pools sur lesquels il peut fonctionner. L'utilitaire poolstat affiche uniquement les informations relatives au pool associé à la zone non globale dans laquelle il s'exécute. La commande pooladm exécutée sans argument dans une zone non globale affiche uniquement les informations concernant le pool associé à la zone en question.

Les contrôles de ressources à l'échelle de la zone sont inopérants lorsqu'ils sont configurés dans le fichier project. Pour configurer un contrôle de ressources à l'échelle d'une zone, exécutez l'utilitaire zonecfg.

Ordonnanceur FSS sur système Solaris doté de zones

Cette section décrit l'utilisation de l'ordonnanceur FSS (Fair Share Scheduler) dans le cadre des zones.

Division de partage FSS dans une zone non globale

Les partages CPU FSS d'une zone sont hiérarchiques. L'administrateur global définit les partages de la zone globale et des zones non globales par le biais du contrôle de ressources à l'échelle de la zone zone.cpu-shares. Le contrôle de ressources project.cpu-shares peut ensuite être défini pour chaque projet au sein de la zone en question afin de sous-diviser plus avant les partages définis par le biais du contrôle à l'échelle de la zone.

Pour assigner des partages de zone à l'aide de la commande zonecfg, reportez-vous à la section Définition de zone.cpu-shares dans une zone globale. Pour plus d'informations sur project.cpu-shares, reportez-vous à la section Contrôles de ressources disponibles. Pour obtenir des exemples de procédures illustrant la définition de partages temporaires, reportez-vous à la section Utilisation de l'ordonnanceur FSS sur un système Solaris doté de zones.

Équilibre de partages entre zones

Pour assigner des partages FSS pour la zone globale et pour les zones non globales, exécutez zone.cpu-shares. Si FSS est l'ordonnanceur par défaut du système et que les partages ne sont pas assignés, chaque zone reçoit automatiquement un partage, y compris la zone globale. Si vous assignez deux partages par le biais de zone.cpu-shares à la zone non globale unique du système, vous définissez ainsi la proportion de CPU que cette zone reçoit par rapport à la zone globale. Dans ce cas, le rapport de CPU entre les deux zones est de 2:1.

Comptabilisation étendue sur un système Solaris doté de zones

Le sous-système de comptabilisation étendue effectue la collecte de données et produit des rapports pour le système entier (y compris les zones non globales) en cas d'exécution dans la zone globale. L'administrateur global peut également déterminer le mode d'utilisation des ressources par zone.

Le sous-système de comptabilisation étendue autorise différents fichiers et paramètres de comptabilité par zone dans le cadre de la comptabilisation des tâches et des processus. Vous pouvez attribuer aux enregistrements exacct le nom de zone EXD PROC ZONENAME pour les processus et EXD TASK ZONENAME pour les tâches. Les enregistrements comptables sont enregistrés dans les fichiers de comptabilité de la zone globale ainsi que dans les fichiers de comptabilité de chaque zone. Les enregistrements EXD TASK HOSTNAME, EXD PROC HOSTNAME et EXD HOSTNAME contiennent la valeur uname -n pour la zone dans laquelle le processus ou la tâche ont été exécutés au lieu du nom de nœud de la zone globale.

Pour plus d'informations sur la comptabilisation du flux IPQoS, reportez-vous au Chapitre 36, Utilisation de la comptabilisation des flux et de la collecte statistique (tâches) du Guide d’administration système : services IP.

Privilèges dans une zone non globale

Un sous-ensemble de privilèges limite les processus. 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. Pour afficher la liste des privilèges disponibles au sein d'une zone, exécutez l'utilitaire ppriv.

Le tableau suivant répertorie tous les privilèges Solaris et le statut qui leur est associé par rapport aux zones. Les privilèges facultatifs ne font pas partie de l'ensemble par défaut des privilèges. Vous pouvez toutefois les spécifier à l'aide de la propriété limitpriv. Les privilèges requis doivent être inclus dans l'ensemble des privilèges obtenu. Les privilèges interdits ne peuvent pas être inclus dans l'ensemble des privilèges obtenu.

La propriété limitpriv est disponible depuis la version Solaris 10 11/06.

Tableau 27–1 Statut des privilèges dans les zones

Privilège 

Statut 

Remarques 

cpc_cpu

FACULTATIF 

Accès à certains compteurs cpc(3CPC)

dtrace_proc

FACULTATIF 

Fournisseurs fasttrap et pid ; plockstat(1M)

dtrace_user

FACULTATIF 

Fournisseurs profile et syscall

Graphics_access

FACULTATIF 

Accès ioctl(2) à agpgart_io(7I)

Graphics_map

FACULTATIF 

Accès mmap(2) à agpgart_io(7I)

net_rawaccess

Facultatif dans les zones en mode IP partagé 

Par défaut dans les zones en mode IP exclusif 

Accès au paquet PF_INET/PF_INET6 brut

proc_clock_highres

FACULTATIF 

Utilisation d'horloges haute résolution 

proc_priocntl

FACULTATIF 

Contrôle de programmation ; priocntl(1)

sys_ipc_config

FACULTATIF 

Augmentation de la taille du tampon de file d'attente des messages IP 

sys_time

FACULTATIF 

Manipulation du temps système ; xntp(1M)

dtrace_kernel

Interdit 

Actuellement non pris en charge 

proc_zone

Interdit 

Actuellement non pris en charge 

sys_config

Interdit 

Actuellement non pris en charge 

sys_devices

Interdit 

Actuellement non pris en charge 

sys_linkdir

Interdit 

Actuellement non pris en charge 

sys_net_config

Interdit 

Actuellement non pris en charge 

sys_res_config

Interdit 

Actuellement non pris en charge 

sys_suser_compat

Interdit 

Actuellement non pris en charge 

proc_exec

Requis, par défaut 

Permet de démarrer init(1M )

proc_fork

Requis, par défaut 

Permet de démarrer init(1M )

sys_mount

Requis, par défaut 

Nécessaire dans le cadre du montage de systèmes de fichiers requis 

sys_ip_config

Requis, par défaut dans les zones en mode IP exclusif 

Interdit dans les zones en mode IP partagé 

Requis pour initialiser la zone et le réseau IP dans les zones en mode IP exclusif 

contract_event

Par défaut 

Utilisé par le système de fichiers de contrat 

contract_observer

Par défaut 

Observation de contrat quel que soit l'ID utilisateur 

file_chown

Par défaut 

Modification de la propriété des fichiers 

file_chown_self

Par défaut 

Modification apportée au propriétaire/groupe de ses propres fichiers 

file_dac_execute

Par défaut 

Accès d'exécution quel que soit le mode ou la liste ACL 

file_dac_read

Par défaut 

Accès en lecture quel que soit le mode ou la liste ACL 

file_dac_search

Par défaut 

Accès de recherche quel que soit le mode ou la liste ACL 

file_dac_write

Par défaut 

Accès en écriture quel que soit le mode ou la liste ACL 

file_link_any

Par défaut 

Accès de liaison quel que soit le propriétaire 

file_owner

Par défaut 

Autre accès quel que soit le propriétaire 

file_setid

Par défaut 

Modification des droits d'accès pour les fichiers setid, setgid et setuid

ipc_dac_read

Par défaut 

Accès en lecture IPC quel que soit le mode 

ipc_dac_owner

Par défaut 

Accès en écriture IPC quel que soit le mode 

ipc_owner

Par défaut 

Autre accès IPC quel que soit le mode 

net_icmpaccess

Par défaut 

Accès au paquet ICMP : ping(1M)

net_privaddr

Par défaut 

Liaison aux ports avec privilèges 

proc_audit

Par défaut 

Génération d'enregistrements d'audit 

proc_chroot

Par défaut 

Modification du répertoire racine

proc_info

Par défaut 

Examen de processus 

proc_lock_memory

Par défaut 

Verrouillage de mémoire ; shmctl(2) et mlock(3C)

Si l'administrateur système a assigné ce privilège à une zone non globale, envisagez également de configurer le contrôle de ressources zone.max-locked-memory pour empêcher la zone de verrouiller la totalité de la mémoire.

proc_owner

Par défaut 

Contrôle de processus quel que soit le propriétaire 

proc_session

Par défaut 

Contrôle de processus quelle que soit la session 

proc_setid

Par défaut 

Définition des ID d'utilisateur ou de groupe à convenance 

proc_taskid

Par défaut 

Assignation des ID de tâche à l'appelant 

sys_acct

Par défaut 

Gestion de la comptabilité 

sys_admin

Par défaut 

Tâches simples d'administration système 

sys_audit

Par défaut 

Gestion de l'audit 

sys_nfs

Par défaut 

Support client NFS 

sys_resource

Par défaut 

Manipulation de limite des ressources 

Le tableau suivant répertorie tous les privilèges Solaris Trusted Extensions ainsi que leur statut par rapport aux zones. Les privilèges facultatifs ne font pas partie de l'ensemble par défaut des privilèges. Vous pouvez toutefois les spécifier à l'aide de la propriété limitpriv.


Remarque –

Ces privilèges sont interprétés uniquement si le système est configuré avec Solaris Trusted Extensions.


Tableau 27–2 Statuts des privilèges Solaris Trusted Extensions dans les zones

Privilège Solaris Trusted Extensions 

Statut 

Remarques 

File_downgrade_sl

FACULTATIF 

Définissez l'étiquette de sensibilité d'un fichier ou d'un répertoire de manière à ce qu'elle ne domine pas l'étiquette de sensibilité existante. 

File_upgrade_sl

FACULTATIF 

Définissez l'étiquette de sensibilité d'un fichier ou d'un répertoire de manière à ce qu'elle domine l'étiquette de sensibilité existante. 

sys_trans_label

FACULTATIF 

Traduction des étiquettes non dominées par l'étiquette de sensibilité 

win_colormap

FACULTATIF 

Redéfinition des restrictions de la palette des couleurs 

win_config

FACULTATIF 

Configuration ou destruction des ressources retenues en permanence par le serveur X 

win_dac_read

FACULTATIF 

Lecture à partir de la ressource fenêtre qui n'appartient pas à l'ID utilisateur du client 

win_dac_write

FACULTATIF 

Création de la ressource fenêtre qui n'appartient pas à l'ID utilisateur du client ou écriture dans celle-ci 

win_devices

FACULTATIF 

Réalisation d'opérations sur les périphériques d'entrée 

win_dga

FACULTATIF 

Utilisation des extensions du protocole X d'accès direct aux graphiques ; privilèges de mémoire graphique requis 

win_downgrade_sl

FACULTATIF 

Remplacement de l'étiquette de sensibilité de la ressource fenêtre par une nouvelle étiquette dominée par l'étiquette existante 

win_fontpath

FACULTATIF 

Ajout d'un chemin de police supplémentaire 

win_mac_read

FACULTATIF 

Lecture à partir de la ressource fenêtre avec une étiquette dominant l'étiquette du client 

win_mac_write

FACULTATIF 

Écriture dans la ressource fenêtre avec une étiquette différente de l'étiquette du client 

win_selection

FACULTATIF 

Requête de déplacement de données sans intervention du confirmeur 

win_upgrade_sl

FACULTATIF 

Remplacement de l'étiquette de sensibilité de la ressource fenêtre par une nouvelle étiquette non dominée par l'étiquette existante 

net_bindmlp

Par défaut 

Autorisation de la liaison à un port multiniveau (MLP, multilevel port) 

net_mac_aware

Par défaut 

Autorisation de la lecture via NFS 

Pour modifier les privilèges dans une configuration de zone non globale, reportez-vous à la section Configuration, vérification et validation d'une zone.

Pour examiner les ensembles de privilèges, reportez-vous à la section Utilisation de l'utilitaire ppriv. Pour plus d'informations sur les privilèges, voir la page de manuel ppriv(1) et le System Administration Guide: Security Services.

Utilisation de l'architecture de sécurité IP dans les zones

L'architecture IPsec (Internet Protocol Security Architecture) offrant la protection de datagramme IP est décrite au Chapitre 19, Architecture IPsec (présentation) du Guide d’administration système : services IP. Le protocole IKE (Internet Key Exchange, échange de clés sur Internet) permet de gérer automatiquement les clés matérielles requises à l'authentification et au chiffrement.

Pour de plus amples informations, reportez-vous aux pages de manuel ipsecconf(1M) et ipseckey(1M).

Architecture de sécurité IP dans les zones en mode IP partagé

Vous pouvez utiliser l'architecture IPsec dans la zone globale. Toutefois, dans une zone non globale, l'architecture IPsec ne peut pas avoir recours au protocole IKE. Par conséquent, vous devez gérer les clés et la stratégie IPsec des zones non globales en utilisant le protocole IKE (Internet Key Exchange) dans la zone globale. Utilisez l'adresse source correspondant à la zone non globale que vous configurez.

Solaris 10 8/07 : architecture de sécurité IP dans les zones en mode IP exclusif

Vous pouvez utiliser l'architecture IPsec dans les zones en mode IP exclusif.

Utilisation du contrôle Solaris dans les zones

Le contrôle Solaris est décrit au Chapitre 28, Oracle Solaris Auditing (Overview) du System Administration Guide: Security Services. Les points à prendre en compte dans le cadre du contrôle au niveau des zones sont décrits aux sections suivantes :

Un enregistrement d'audit décrit un événement tel que la connexion à un système ou l'écriture dans un fichier. Il contient des jetons qui sont des jeux de données d'audit. Le jeton zonename permet de configurer le contrôle Solaris afin d'identifier les événements d'audit par zone et L'utilisation du jeton zonename permet de générer les informations suivantes :

Configuration du contrôle dans la zone globale

Les pistes de vérification Solaris sont configurées dans la zone globale. La stratégie d'audit est définie dans la zone globale et s'applique aux processus de toutes les zones. Les enregistrements d'audit peuvent porter le nom de la zone dans lequel l'événement se produit. Pour inclure des noms de zone dans les enregistrements d'audit, vous devez modifier le fichier /etc/security/audit_startup avant d'installer les zones non globales. La sélection de nom de zone respecte la casse.

Pour configurer le contrôle dans la zone globale de sorte à inclure tous les enregistrements d'audit de zone, ajoutez la ligne suivante au fichier /etc/security/audit_startup :


/usr/sbin/auditconfig -setpolicy +zonename

En tant qu'administrateur global dans la zone globale, exécutez l'utilitaire auditconfig :


global# auditconfig -setpolicy +zonename

Pour plus d'informations, reportez-vous aux pages de manuel audit_startup(1M) et auditconfig(1M), ainsi qu'à la section "Configuring Audit Files (Tasks)" du guide System Administration Guide: Security Services (en anglais).

Définition des critères d'audit utilisateur dans une zone non globale

À l'installation d'une zone non globale, les fichiers audit_control et audit_user de la zone globale sont copiés dans le répertoire /etc/security de cette zone. Vous devrez peut-être modifier ces fichiers pour refléter les besoins en audit de la zone.

Par exemple, vous pouvez configurer chaque zone pour qu'un contrôle différent soit appliqué aux divers utilisateurs. Pour définir différents critères de présélection par utilisateur, vous devez modifier les fichiers audit_control et audit_user. Si nécessaire, apportez des corrections au fichier audit_user dans la zone non globale pour refléter la base utilisateur de la zone. Le contrôle des utilisateurs pouvant être configuré différemment pour chaque zone, le fichier audit_user peut être vide.

Pour plus d'informations, reportez-vous aux pages de manuel audit_control(4) et audit_user(4).

Enregistrements d'audit pour une zone non globale spécifique

Vous pouvez catégoriser les enregistrements d'audit Solaris par zone en incluant le jeton zonename, comme illustré à la section Configuration du contrôle dans la zone globale La commande auditreduce permet alors de recueillir des enregistrements de diverses zones afin de créer des journaux spécifiques à une zone.

Pour plus d'informations, reportez-vous aux pages de manuel audit_startup(1M) et auditreduce(1M).

Fichiers Core dans les zones

Pour indiquer le nom et l'emplacement des fichiers Core générés par des processus prenant fin de manière anormale, exécutez la commande coreadm. Pour produire les chemins de fichier Core comportant le nom de zone de la zone dans laquelle le processus a été exécuté, spécifiez la variable %z. Le nom de chemin est relatif à un répertoire racine de la zone.

Pour plus d'informations, reportez-vous aux pages de manuel coreadm(1M) et core(4).

Exécution de DTrace dans une zone non globale

Vous pouvez exécuter dans une zone non globale les programmes DTrace pour lesquels seuls les privilèges dtrace_proc et dtrace_user sont nécessaires. Pour ajouter des privilèges à un ensemble de privilèges disponibles pour la zone non globale, utilisez la propriété zonecfg limitpriv. Pour obtenir des instructions à ce sujet, reportez-vous à la section Utilisation de DTrace.

Les fournisseurs pris en charge par dtrace_proc sont fasttrap et pid. Les fournisseurs pris en charge par dtrace_user sont profile et syscall. Certaines limites s'appliquent aux fournisseurs et actions DTrace dans la zone.

Pour plus d'informations, reportez-vous également à la section Privilèges dans une zone non globale.

À propos de la sauvegarde d'un système Solaris doté de zones

Vous pouvez effectuer des sauvegardes dans chaque zone non globale ou sauvegarder le système dans son intégralité à partir de la zone globale.

Sauvegarde des répertoires du système de fichiers en loopback

De nombreuses zones non globales partageant des fichiers avec la zone globale par le biais de montages en lecture seule de système de fichiers en loopback (habituellement /usr, /lib, /sbin et /platform), vous devez sauvegarder les répertoires lofs selon une méthode de sauvegarde de zone globale.


Attention – Attention –

Ne sauvegardez pas les systèmes de fichiers lofs partagés avec la zone globale dans des zones non globales. Si l'administrateur global tentait de restaurer les systèmes de fichiers lofs à partir d'une zone non globale, de graves problèmes pourraient se produire.


Sauvegarde du système à partir de la zone globale

Il est conseillé d'effectuer les sauvegardes à partir de la zone globale dans les cas suivants :

Sauvegarde individuelle de zones non globales sur le système

Il est conseillé d'effectuer des sauvegardes au sein des zones non globales dans les cas suivants :

Identification des éléments à sauvegarder dans les zones non globales

Vous pouvez sauvegarder l'intégralité du contenu d'une zone non globale. En raison des rares modifications apportées à la configuration d'une zone, vous pouvez aussi sauvegarder les données d'application uniquement.

Sauvegarde des données d'application uniquement

Si les données d'application sont conservées dans un emplacement spécifique du système de fichiers, vous opterez peut-être pour des sauvegardes régulières de ces données uniquement. En raison de la moindre fréquence des modifications qui lui sont apportées, le système de fichiers racine de la zone ne requiert pas de sauvegardes aussi nombreuses.

Vous devez déterminer l'emplacement des fichiers de l'application. Les emplacements de stockage des fichiers sont les suivants :

En supposant que l'administrateur d'application connaisse l'emplacement de stockage des données, vous pouvez éventuellement créer un système présentant un répertoire accessible en écriture par zone disponible pour chaque zone. Les zones peuvent alors y stocker leurs propres sauvegardes et l'administrateur global peut désigner ce répertoire comme l'un des emplacements sur le système à sauvegarder.

Opérations générales de sauvegarde de base de données

Si les données d'application de base de données ne figurent pas dans leur propre répertoire, les règles suivantes s'appliquent :

Sauvegardes sur bande

À leur convenance, les zones non globales peuvent prendre un instantané de leurs systèmes de fichiers privés lorsque l'application se trouve temporairement en mode quiescence. La zone globale peut ultérieurement sauvegarder chaque instantané et les placer sur bande après la reprise du service de l'application.

Cette méthode présente les avantages suivants :

À propos de la restauration de zones non globales

Dans le cas de restaurations à partir de sauvegardes réalisées dans la zone globale, l'administrateur global peut réinstaller les zones concernées, puis restaurer les fichiers leur appartenant. Pour cela, les conditions suivantes doivent s'appliquer :

Dans le cas contraire, la restauration pourrait écraser certains fichiers requérant une fusion manuelle.

Par exemple, une fusion manuelle de fichiers s'impose lorsqu'un patch a été appliqué à une zone globale entre la sauvegarde et la restauration de la zone non globale. Dans ce cas, soyez particulièrement vigilant lorsque vous restaurez les fichiers sauvegardés d'une zone. En effet, il est possible qu'un fichier sauvegardé ne soit pas compatible avec la zone récemment installée et créée après l'application des patchs à la zone globale. Dans une telle situation, vous devez examiner les fichiers un par un et les comparer avec les copies figurant dans la zone que vous venez d'installer. En règle générale, vous constaterez que vous pouvez copier le fichier directement, mais il arrive que vous deviez fusionner les modifications initiales apportées au fichier dans la copie que vous venez d'installer et à laquelle vous avez appliqué des patchs dans la zone.


Remarque –

En cas de perte de tous les systèmes de fichiers de la zone globale, la restauration de l'intégralité de la zone globale inclut les zones non globales, à condition que les systèmes de fichiers racine de chacune des zones non globales aient également été sauvegardés.


Commandes utilisées dans un système Solaris doté de zones

Les commandes répertoriées dans le Tableau 27–3 constituent l'interface d'administration principale de l'utilitaire de zones.

Tableau 27–3 Commandes d'administration de zones

Aide-mémoire des commandes 

Description 

zlogin(1)

Connexion à une zone non globale 

zonename(1)

Impression du nom de la zone actuelle 

zoneadm(1M)

Administration de zones au sein d'un système 

zonecfg(1M)

Définition d'une configuration de zone 

getzoneid(3C)

Mappage du nom et de l'ID de zone 

zones(5)

Description de la fonction de zones 

zcons(7D)

Pilote de périphérique de console de zone 

Le démon zoneadmd est le processus principal de gestion de la plate-forme virtuelle de la zone. Pour plus d'informations sur le démon zoneadmd reportez-vous à la page de manuel zoneadmd(1M). Le démon ne constitue pas une interface de programmation.

Les commandes répertoriées dans le tableau suivant sont utilisées avec le démon d'allocation restrictive.

Tableau 27–4 Commandes utilisées avec rcapd

Aide-mémoire des commandes 

Description 

rcapstat(1)

Gère l'utilisation des ressources des projets faisant l'objet d'une restriction de ressources . 

rcapadm(1M)

Configure le démon d'allocation restrictive, affiche l'état actuel du démon s'il a été configuré et active ou désactive la limitation des ressources. Également utilisé pour définir une limitation temporaire de mémoire. 

rcapd(1M)

Démon d'allocation restrictive des ressources. 

Les commandes répertoriées dans le tableau suivant ont été modifiées pour être utilisées dans un système Solaris doté de zones. Elles disposent d'options spécifiques aux zones ou présentent les informations de manière différente. Elles sont répertoriées par section de page de manuel.

Tableau 27–5 Commandes modifiées pour une utilisation dans un système Solaris doté de zones

Aide-mémoire des commandes 

Description 

ipcrm(1)

Ajout de l'option de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale.

ipcs(1)

Ajout de l'option de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale.

pgrep(1)

Ajout de l'option de liste d'ID de zone -z. Cette option n'est utile que si la commande est exécutée dans la zone globale.

ppriv(1)

Ajout de l'expression zone pour une utilisation conjointe avec l'option -l afin de répertorier tous les privilèges disponibles dans la zone active. L'option -v après zone permet également d'obtenir une sortie détaillée.

priocntl(1)

L'utilisation conjointe de l'ID de zone avec liste d'ID et -i type d'ID permet de spécifier des processus. La commande priocntl -i ID de zone permet de déplacer des processus en cours d'exécution vers une autre classe de programmation au sein d'une zone non globale.

proc(1)

Ajout de l'option -z zone à ptree uniquement. Cette option n'est utile que si la commande est exécutée dans la zone globale.

ps(1)

Ajout de nom de zone et ID de zone à la liste des noms de format reconnus utilisés avec l'option -o.

Ajout de -z liste de zones afin de répertorier uniquement les processus dans les zones spécifiées. Pour spécifier une zone, vous pouvez utiliser un nom ou un identificateur (ID). Cette option n'est utile que si la commande est exécutée dans la zone globale.

Ajout de -Z pour imprimer le nom de la zone associée au processus. Le nom est imprimé sous l'en-tête de colonne supplémentaire ZONE.

renice(1)

Ajout de ID de zone à la liste des arguments valides utilisés avec l'option -i.

sar(1)

Si elles sont exécutées dans une zone non globale dans laquelle la fonction de pools est désactivée, les options -b, -c -g, -m, - p, -u, -w, et -y affiche des valeurs uniquement pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée.

auditconfig(1M)

Ajout du jeton nom de zone.

auditreduce(1M)

Ajout de l'option -z nom de zone. Ajout de la possibilité d'obtenir un journal d'audit d'une zone.

coreadm(1M)

Ajout de la variable %z permettant d'identifier la zone dans laquelle le processus a été exécuté.

df(1M)

Ajout de l'option -Z pour afficher les montages dans toutes les zones visibles.

ifconfig(1M)

Ajout de l'option zone pour l'utilisation de la zone globale et de l'option -zone nom de zone pour l'application à une zone non globale.

iostat(1M)

Si cette commande est exécutée dans une zone non globale où la fonction de pool est activée, les informations ne sont fournies que pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. 

kstat(1M)

Si cette commande est exécutée dans la zone globale, les kstat s'affichent pour toutes les zones. Si elle est exécutée dans une zone non globale, seules les kstat avec un ID de zone correspondant s'affichent.

mpstat(1M)

Si cette commande est exécutée dans une zone non globale dans laquelle la fonction de pools est activée, elle affiche uniquement les lignes des processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. 

ndd(1M)

Lorsque cette commande est exécutée dans la zone globale, elle affiche des informations sur toutes les zones. ndd sur les modules TCP/IP dans une zone en mode IP exclusif affiche uniquement les informations relatives à cette zone.

netstat(1M)

Affiche les informations relatives à la zone active uniquement. 

nfsstat(1M)

Affiche les statistiques sur la zone active uniquement. 

poolbind(1M)

Ajout de la liste ID de zone. Pour des informations sur l'utilisation des zones avec des pools de ressources, reportez-vous également à la section Pools de ressources utilisés dans les zones.

prstat(1M)

Ajout de l'option de liste d'ID de zone -z. Ajout de l'option -Z également.

Si cette commande est exécutée dans une zone non globale dans laquelle la fonction de pools est activée, le pourcentage de temps CPU récent utilisé par le processus s'affiche uniquement pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. 

La sortie des options -a, -t, -T, - J et -Z affiche une colonne SWAP, au lieu d'une colonne SIZE. indiquant le swap total consommé par les montages tmpfs et les processus de la zone. Cette valeur permet de contrôler le swap réservé par chaque zone, que vous pouvez utiliser pour choisir un paramètre zone.max-swap raisonnable.

psrinfo(1M)

Lorsque cette commande est exécutée dans une zone non globale, seules les informations sur les processeurs visibles pour la zone s'affichent. 

traceroute(1M)

Modification d'utilisation. Lorsque cette commande est spécifiée au sein d'une zone non globale, l'option -F n'a aucun effet, car l'élément "don't fragment" est défini en permanence.

vmstat(1M)

Lorsque cette commande est exécutée dans une zone non globale dans laquelle la fonction de pools est activée, les statistiques sont générées uniquement pour les processeurs figurant dans le groupe de processeurs du pool auquel la zone est liée. S'applique à la sortie de l'option -p et des champs de rapport page, faults et cpu.

auditon(2)

Ajout de AUDIT_ZONENAME pour générer un jeton ID de zone avec chaque enregistrement d'audit.

priocntl(2)

Ajout de l'argument P_ZONEID ID.

processor_info(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

p_online(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

pset_bind(2)

Ajout de P_ZONEID en tant que type d'ID. Ajout de zone aux choix possibles pour la spécification P_MYID. Ajout de P_ZONEID à la liste de types d'ID dans la description d'erreur EINVAL.

pset_info(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

pset_list(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

pset_setattr(2)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

sysinfo(2)

Modification de PRIV_SYS_CONFIG en PRIV_SYS_ADMIN.

umount(2)

ENOENT est renvoyé si le fichier indiqué par fichier n'est pas un chemin absolu.

getloadavg(3C)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, le comportement équivaut à un appel avec un psetid de PS_MYID.

getpriority(3C)

Ajout d'ID de zone aux processus cibles pouvant être spécifiés. Ajout d'ID de zone à la description d'erreur EINVAL.

priv_str_to_set(3C)

Ajout de la chaîne "zone" pour le groupe de tous les privilèges disponibles au sein de la zone du programme appelant. 

pset_getloadavg(3C)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, une erreur est renvoyée lorsque le processeur ne figure pas dans le groupe de processeurs du pool auquel la zone est liée. 

sysconf(3C)

Si le programme appelant réside dans une zone non globale et que la fonction de pools est activée, sysconf(_SC_NPROCESSORS_CONF) et sysconf(_SC_NPROCESSORS_ONLN) renvoient le nombre des processeurs dans le groupe de processeurs du pool auquel la zone est liée.

ucred_get(3C)

Ajout de la fonction ucred_getzoneid()qui renvoie l'ID de zone du processus ou la valeur -1 si l'ID de zone n'est pas disponible.

core(4)

Ajout de n_type: NT_ZONENAME. Cette entrée contient une chaîne indiquant le nom de la zone dans laquelle le processus était exécuté.

pkginfo(4)

Pour aider les zones, cette commande fournit désormais des paramètres facultatifs et une variable d'environnement. 

proc(4)

Ajout de capacité pour l'obtention d'informations relatives aux processus en cours d'exécution dans les zones. 

audit_syslog(5)

Ajout du champ in<nom de zone > utilisé lorsque la stratégie d'audit zonename est définie.

privileges(5)

Ajout de PRIV_PROC_ZONE qui permet à un processus de suivre ou d'envoyer des signaux à des processus d'autres zones. Voir zones(5).

if_tcp(7P)

Ajout d'appels ioctl() de zone.

cmn_err(9F)

Ajout d'un paramètre de zone. 

ddi_cred(9F)

Ajout de crgetzoneid(), qui renvoie l'ID de zone à partir des informations d'identification de l'utilisateur signalées par cr.