Les zones marquées sont disponibles depuis la version Solaris 10 8/07. Les fonctions ajoutées aux versions de mise à jour plus récentes sont identifiées par la version.
La fonction des zones marquées du système d'exploitation Solaris est une simple extension des zones Solaris. Ce chapitre traite du concept des zones marquées et de la marque lx qui met en œuvre la fonction des zones marquées Linux. Les zones marquées Linux sont également appelées des conteneurs Solaris pour applications Linux.
Vous pouvez configurer et installer des zones marquées sur un système Trusted Solaris dont les étiquettes sont activées. Cependant, vous ne pouvez pas initialiser les zones marquées sur cette configuration système.
D'autres marques sont prises en charge sur le système d'exploitation Solaris.
Les deux marques suivantes sont prises en charge sur les machines SPARC dotées du système d'exploitation Solaris 10 8/07 ou d'une version ultérieure de Solaris 10 :
Les conteneurs Solaris 8, de la marque solaris8, sont décrits dans le System Administration Guide: Solaris 8 Containers
Les conteneurs Solaris 9, de la marque solaris9, sont décrits dans le System Administration Guide: Solaris 9 Containers
La marque cluster, décrite à la page Sun Cluster 3.2 1/09 Software Collection for Solaris OS du site docs.sun.com, est également prise en charge par la version Solaris 10.
Reportez-vous au Chapitre 16Introduction aux zones Solaris pour des informations générales sur l'utilisation des zones d'un système Solaris.
Les concepts suivants de gestion de ressources et de zones doivent vous être familiers :
Zone globale et zone non globale, voir la section Fonctionnement des zones
Administrateur global et administrateur de zone, voir les sections Administration de zones non globales et Création de zones non globales
Modèle d'état de zone, voir la section États des zones non globales
Caractéristiques d'isolation de zone, voir la section Caractéristiques des zones non globales
Privilèges, voir la section Privilèges dans une zone non globale
Mise en réseau, voir la section Mise en réseau dans des zones non globales en mode IP partagé
Conteneur Solaris (utilisation de fonctions de gestion des ressources, telles que les pools de ressources, avec des zones). Pour plus d'informations sur l'utilisation et l'interaction des zones et des fonctions de gestion de ressources, reportez-vous aux sections Utilisation des fonctions de gestion de ressources avec les zones non globales et Paramétrage des contrôles de ressources à l'échelle d'une zone, au Chapitre 27Administration de zones Solaris (présentation), ainsi qu'aux différents chapitres de la partie 1 Gestion des ressources de ce manuel qui traitent de chaque fonction de gestion de ressources. Par exemple, les pools de ressources sont abordés au Chapitre 12Pools de ressources (présentation) et au Chapitre 13Création et administration des pools de ressources (tâches)
L'ordonnanceur FSS, classe de programmation qui permet d'allouer du temps CPU en fonction des partages, voir Chapitre 8Ordonnanceur FSS (présentation) et Chapitre 9Administration de l'ordonnanceur FSS (tâches).
Démon d'allocation restrictive (rcapd) permettant de contrôler, à partir de la zone globale, l'utilisation de la taille résidente définie (RSS) des zones à marque. La propriété de la ressource zonecfg capped-memory définit la valeur max-rss d'une zone. Cette valeur est appliquée par le démon rcapd exécuté dans la zone globale. Pour plus d'informations, reportez-vous au Chapitre 10Contrôle de la mémoire physique à l'aide du démon d'allocation restrictive (présentation), Chapitre 11Administration du démon d'allocation restrictive (tâches) et à la page de manuel rcapd(1M).
Le Glossaire contient les définitions des termes relatifs aux fonctions de gestion des ressources et des zones.
Vous trouverez dans cette partie du manuel toutes les informations supplémentaires nécessaires à l'utilisation des zones marquées sur votre système.
Les chapitres suivants du manuel ne s'appliquent pas aux zones marquées :
La structure de zone marquée étend l'infrastructure des zones Solaris, décrite dans la Partie II, Zones de ce manuel, à la création de marques. Le terme marque peut renvoyer à un large éventail d'environnements d'exploitation. La zone marquée vous permet de créer des zones non globales contenant des environnements d'exploitation non natifs dans lesquels vous exécutez des applications. Le type de marque permet de déterminer les scripts exécutés lors de l'installation et de l'initialisation d'une zone. En outre, une marque de zone identifie le type correct d'application au lancement de celle-ci. La gestion des marques s'effectue par le biais d'extension de la structure de zones actuelle.
Une marque peut fournir un environnement simple ou complexe. Par exemple, un environnement simple permet de remplacer les utilitaires Solaris standard par leurs équivalents GNU tandis qu'un environnement complexe offre un espace utilisateur Linux complet prenant en charge l'exécution d'applications Linux.
Chaque zone est configurée avec une marque associée. La marque native Solaris fait figure de marque par défaut. Une zone marquée prend en charge une seule marque de code binaire non natif. En d'autres termes, elle fournit un environnement d'exploitation unique.
La zone marquée étend les outils de zone de la manière suivante :
La commande zonecfg définit le type de marque d'une zone lors de la configuration de cette dernière.
La commande zoneadm signale le type de marque d'une zone et gère cette dernière.
Vous pouvez modifier la marque d'une zone lors de la configuration. Une fois installée, une zone marquée ne peut être ni modifiée ni supprimée.
Une zone marquée présente un ensemble de points d'interposition au sein du noyau qui s'appliquent uniquement aux processus exécutés dans la zone.
Ces points résident dans les chemins : chemin syscall, chemin de chargement de processus et chemin de création de thread, notamment.
À chacun d'eux, une marque peut opter de compléter ou de remplacer le comportement Solaris standard.
Une marque peut également fournir une bibliothèque de plug-ins pour librtld_db. Grâce à celle-ci, les outils Solaris tels que le débogueur, décrit à la page de manuel mdb(1), et DTrace, décrit à la page de manuel dtrace(1M) accèdent aux informations de symbole des processus exécutés au sein d'une zone marquée.
Vous trouverez les périphériques compatibles dans les pages de manuel et dans la documentation de chaque marque. La marque définit la prise en charge de périphérique. Une marque peut opter d'interdire l'ajout de périphériques non pris en charge ou non reconnus.
La marque définit le système de fichiers requis par la zone marquée.
La marque définit les privilèges disponibles dans une zone marquée. Pour plus d'informations sur les privilèges, voir les sections Privilèges dans une zone non globale et Privilèges configurables dans une zone marquée lx.
La marque lx utilise la structure de zones marquées afin que les applications binaires Linux puissent s'exécuter sans modification sur un ordinateur équipé du système d'exploitation Solaris.
L'ordinateur doit être équipé de l'un des types de processeurs i686 pris en charge suivants :
Intel
Pentium Pro
Pentium II
Pentium III
Celeron
Xeon
Pentium 4
Pentium M
Pentium D
Pentium Extreme Edition
Noyau
Core 2
AMD
Opteron
Athlon XP
Athlon 64
Athlon 64 X2
Athlon FX
Duron
Sempron
Turion 64
Turion 64 X2
La marque lx inclut les outils nécessaires à l'installation d'une distribution CentOS 3.x ou Red Hat Enterprise Linux 3.x au sein d'une zone non globale. Les versions 3.5 à 3.8 de chaque distribution sont prises en charge. La marque prend en charge l'exécution des applications Linux 32 bits sur des ordinateurs x86 et x64 exécutant le système d'exploitation Solaris en mode 32 bits ou 64 bits.
La marque lx émule les interfaces d'appel système du noyau Linux 2.4.21 modifié par Red Hat dans les distributions RHEL 3. x. Ce noyau fournit les interfaces d'appel système consommées par la bibliothèque glibc version 2.3.2 commercialisée par Red Hat.
En outre, la marque lx émule en partie les interfaces /dev et /proc de Linux.
Vous devez conserver une configuration prise en charge pour ajouter des packages à une zone marquée lx. Pour plus d'informations, voir la section À propos de la gestion d'une configuration prise en charge.
Le système Solaris ne limite pas le nombre d'applications Linux exécutables dans une zone marquée lx. Vous devez disposer de suffisamment de mémoire. Voir également la section Configuration système requise et espace requis.
Quel que soit le noyau sous-jacent, vous ne pouvez exécuter que des applications Linux 32 bits.
La zone lx prend uniquement en charge les applications Linux de niveau utilisateur. Les pilotes de périphérique Linux, les modules de noyau Linux et les systèmes de fichiers Linux ne sont pas autorisés au sein d'une zone lx.
Pour obtenir la liste des applications pouvant être exécutées sous la marque lx, reportez-vous à l'URL http://hub.opensolaris.org/bin/view/Community+Group+brandz/applications. Pour obtenir un exemple d'installation d'application, voir la section Installation d'une application dans une zone marquée lx.
Il n'est pas possible d'exécuter des applications Solaris au sein d'une zone lx. Toutefois, la zone lx permet d'utiliser le système Solaris dans le but de développer, tester et déployer des applications Linux. Par exemple, vous pouvez placer une application Linux dans une zone lx et l'analyser à l'aide d'outils Solaris exécutés à partir de la zone globale. Vous pouvez ensuite apporter vos modifications et déployer l'application améliorée sur un système Linux natif.
Les outils de débogage Solaris tels que DTrace et mdb s'appliquent aux processus Linux exécutés au sein de la zone. Toutefois, les outils eux-mêmes doivent s'exécuter dans la zone globale. Tous les fichiers Core qui sont générés le sont au format Solaris. Seuls les outils Solaris permettent de les déboguer.
DTrace est activé pour les applications Linux par le fournisseur de suivi dynamique lxsyscall DTrace. Celui-ci agit de la même manière que le fournisseur syscall. lxsyscall fournit des sondes qui se déclenchent à chaque entrée ou retour d'un thread via un point d'entrée d'appel système.
Pour plus d'informations sur les options de débogage, voir le manuel Solaris Dynamic Tracing Guide ainsi que les pages de manuel dtrace(1M) et mdb(1). Le manuel Manuel de suivi dynamique Solaris décrit les interfaces publiques prenant en charge la fonction DTrace. La documentation disponible sur le fournisseur syscall s'applique au fournisseur lxsyscall .
Les systèmes de fichiers réseau (NFS) dépendent des services de noms qui sont spécifiques aux zones. Il est donc impossible d'accéder aux NFS qui sont montés hors de la zone courante. Par conséquent, vous n'êtes pas en mesure de déboguer les processus Linux NFS à partir de la zone globale.
Les commandes répertoriées dans le tableau suivant fournissent l'interface principale d'administration de la fonction de zones.
Tableau 31–1 Commandes et autres interfaces utilisées avec les zones marquées lx
Aide-mémoire des commandes |
Description |
---|---|
Connexion à une zone non globale |
|
Administration de zones au sein d'un système |
|
Définition d'une configuration de zone |
|
Mappage du nom et de l'ID de zone |
|
brands(5) |
Description de la fonction de zones marquées |
lx(5) |
Description des zones marquées Linux |
Description de la fonction de zones |
|
lx_systrace(7D) |
Fournisseur de suivi d'appel système Linux DTrace |
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.
Le Tableau 27–5 traite des commandes pouvant être utilisées dans la zone globale pour afficher des informations sur toutes les zones non globales, notamment les zones marquées. Le Tableau 27–4 traite des commandes à utiliser avec le démon de limitation des ressources.
Le tableau suivant résume les tâches nécessaires à la configuration initiale des zones lx sur le système.
Tâche |
Description |
Voir |
---|---|---|
Identifier chaque application Linux 32 bits à exécuter dans une zone |
Évaluez les exigences système de l'application. |
Au besoin, reportez-vous à vos objectifs métier et à votre documentation système. |
Déterminer le nombre de zones à configurer. |
Évaluez :
|
Voir Prise en charge d'application, Configuration système requise et espace requis, Évaluation du paramétrage du système, Script de configuration de plusieurs zones marquées lx. |
Décider de l'utilisation ou non de pools de ressources avec la zone pour créer un conteneur. |
Si vous choisissez d'utiliser des pools de ressources, configurez-les avant de configurer les zones. Vous pouvez ajouter rapidement des contrôles de ressources et une fonction de pool s'appliquant à toute une zone à l'aide des propriétés zonecfg. |
Voir Configuration de la zone marquée lx, Chapitre 13Création et administration des pools de ressources (tâches). |
Exécuter les tâches de préconfiguration. |
Déterminez le nom et le chemin de chaque zone. Si une connexion réseau est nécessaire, obtenez les adresses IP. Déterminez la classe de programmation de la zone. Déterminez le jeu de privilèges auxquels les processus devront être limités au sein de la zone si le jeu par défaut est insuffisant. |
Pour plus d'informations sur les noms de zone, les chemins de zone, les adresses IP et les classes de programmation, voir la section Composants de configuration de zone marquée lx. Pour en savoir plus sur les privilèges par défaut et les privilèges pouvant être configurés dans les zones non globales, reportez-vous à la section Privilèges dans une zone non globale. Pour plus d'informations sur l'association de pool de ressources, voir les sections Fonctionnement des zones et Configuration de la zone marquée lx. |
Développer les configurations. |
Configurez les zones non globales. |
Reportez-vous à la section Configuration, vérification et validation d'une zone et à la page de manuel zonecfg(1M). |
En tant qu'administrateur global, vérifier et installer les zones configurées. |
Vous devez vérifier et installer les zones avant leur initialisation. Vous devez obtenir une distribution Linux préalablement à l'installation d'une zone marquée Linux. |
Voir le Chapitre 34À propos de l'installation, de l'initialisation, de l'arrêt, du clonage et de la désinstallation des zones marquées lx (présentation) et le Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches). |
En tant qu'administrateur global, initialiser les zones non globales |
Initialisez chaque zone de manière à ce qu'elle soit en cours d'exécution. | |
Préparer la nouvelle zone à des fins de production. |
Au sein de la zone, créez des comptes utilisateur, ajoutez des logiciels supplémentaires et personnalisez la configuration de la zone à l'aide des méthodes et outils d'administration du système Linux. |
Consultez la documentation utilisée pour configurer un ordinateur récemment installé et installer les applications. Ce manuel couvre les points à prendre en compte dans le cadre d'un système doté de zones. |