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

Chapitre 31 À propos des zones marquées et de la zone marquée Linux

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.


Remarque –

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.



Remarque –

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 :

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.


À propos de l'utilisation des zones d'un système Solaris

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 :

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.


Remarque –

Les chapitres suivants du manuel ne s'appliquent pas aux zones marquées :


Technologie des 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 :


Remarque –

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.


Exécution de processus dans une zone marqué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.

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.

Prise en charge de périphérique de 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.

Prise en charge de système de fichiers de zone marquée

La marque définit le système de fichiers requis par la zone marquée.

Privilèges dans une 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.

À propos de la marque 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 :

Distributions Linux prises en charge

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.


Attention – Attention –

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.


Prise en charge d'application

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.

Outils de débogage

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 .


Remarque –

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.


Commandes et autres interfaces

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 

zlogin(1)

Connexion à une zone non globale 

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 

brands(5)

Description de la fonction de zones marquées 

lx(5)

Description des zones marquées Linux 

zones(5)

Description de la fonction de zones 

lx_systrace(7D)

Fournisseur de suivi d'appel système Linux DTrace 

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.


Remarque –

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.


Configuration de zones marquées lx sur le système (liste des tâches)

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 : 

  • le nombre d'applications Linux que vous envisagez d'exécuter ;

  • l'espace disque requis pour les zones marquées Linux ;

  • la nécessité d'utiliser un script.

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. 

Voir le Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches).

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.