Ce chapitre décrit l'installation de zones sur un système Solaris. Il explique également les deux processus qui gèrent la plate-forme virtuelle et l'environnement applicatif, soit zoneadmd et zsched, et fournit des informations concernant l'arrêt, la réinitialisation, le clonage et la désinstallation des zones.
Il comprend les sections suivantes :
À propos de l'arrêt, de la réinitialisation et de la désinstallation des zones
Solaris 10 11/06 et versions ultérieures : à propos du clonage de zones non globales
Pour en savoir plus sur le clonage, l'installation, l'initialisation, l'arrêt ou la désinstallation des zones non globales, reportez-vous au Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches).
Pour plus d'informations sur l'installation de zones marquées lx, reportez-vous au 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 au Chapitre 35Installation, initialisation, arrêt, désinstallation et clonage de zones marquées lx (tâches).
Solaris 10 11/06 : vous pouvez désormais cloner des zones non globales. Reportez-vous à la section Solaris 10 11/06 : clonage d'une zone non globale sur le même système.
Solaris 10 8/07 : des informations concernant les arguments d'initialisation ont été ajoutées. Reportez-vous à la section Solaris 10 8/07 : arguments d'initialisation des zones.
Solaris 10 5/09 : le clone ZFS a été implémenté. Lorsque l'emplacement zonepath source et l'emplacement zonepath cible résident sur ZFS et se trouvent dans le même pool, la commande zoneadm clone utilise automatiquement ZFS pour cloner la zone. Si les emplacements zonepath sont non ZFS, ou si l'un est ZFS et l'autre est non ZFS, le code utilisera la technique de copie existante.
La commande zoneadm, décrite dans la page de manuel zoneadm(1M), est le principal outil d'installation et d'administration de zones non globales. Les opérations faisant appel à la commande zoneadm doivent être effectuées depuis la zone globale. La commande zoneadm permet d'exécuter les tâches suivantes :
vérifier une zone ;
installer une zone ;
initialiser une zone (opération similaire à l'initialisation d'un système Solaris normal) ;
afficher des informations concernant la zone en cours d'exécution ;
arrêter une zone ;
réinitialiser une zone ;
désinstaller une zone ;
déplacer une zone à l'intérieur d'un système ;
créer une nouvelle zone en se basant sur la configuration d'une zone existant sur le même système ;
faire migrer une zone à l'aide de la commande zonecfg.
Pour en savoir plus sur les procédures d'installation et de vérification des zones, reportez-vous au Chapitre 20Installation, initialisation, arrêt, désinstallation et clonage de zones non globales (tâches) et à la page de manuel zoneadm(1M). Pour plus d'informations sur les options de commande zoneadm list prises en charge, reportez-vous à la page de manuel zoneadm(1M. ) Pour en savoir plus sur les procédures de configuration des zones, reportez-vous au Chapitre 18Planification et configuration de zones non globales (tâches) et à la page de manuel zonecfg(1M). Les états de zones sont décrits à la section États des zones non globales.
Si vous avez l'intention de produire des enregistrements de contrôle Solaris pour les zones, lisez la section Utilisation du contrôle Solaris dans les zones avant d'installer des zones non globales.
Cette section porte uniquement sur la construction intiale de zones. Elle ne traite pas du clonage des zones existantes.
Après avoir configuré une zone non globale, il est important de vérifier que la configuration du système est compatible avec son installation. Cela étant fait, vous pouvez installer la zone. Les fichiers nécessaires au système de fichiers racine de la zone sont installés sous cette racine par le système.
Une zone non globale dotée d'une configuration réseau ouverte (generic_open.xml) est installée. Pour plus d'informations sur les types de configurations réseau, reportez-vous au Chapitre 19, Managing Services (Tasks) du System Administration Guide: Basic Administration. L'administrateur de zone peut définir la zone en configuration réseau limitée (generic_limited_net.xml) grâce à la commande netservices. En outre, des services spécifiques peuvent être activés ou désactivés à l'aide des commandes SMF.
Dès qu'une zone est installée, elle est prête pour la première connexion et la première initialisation.
La méthode à employer pour renseigner une zone non globale est identique à celle utilisée lors de l'installation initiale des packages Solaris.
La zone globale doit contenir toutes les données nécessaires au renseignement d'une zone non globale. Cette opération englobe la création de répertoires, la copie de fichiers et la spécification d'informations concernant la configuration.
Seules les informations ou les données créées dans la zone globale à partir de packages sont utilisées pour renseigner les zones à partir de la zone globale. Pour plus d'informations, reportez-vous aux pages de manuel pkgparam(1) et pkginfo(4).
Les données suivantes ne sont ni référencées ni copiées lors de l'installation d'une zone :
packages non installés ;
patchs ;
données sur CD ou DVD ;
images d'installation réseau ;
tout prototype ou autre instance de zone.
De plus, s'ils sont présents dans la zone globale, les types d'informations suivants ne sont pas copiés dans les zones en cours d'installation :
nouveaux utilisateurs ou utilisateurs modifiés dans le fichier /etc/passwd ;
nouveaux groupes ou groupes modifiés dans le fichier /etc/group ;
configurations des services réseau (assignation d'adresses DHCP, UUCP ou sendmail, etc.) ;
configurations des services réseau (services d'attribution de nom, etc.) ;
nouvelle table crontab ou table crontab modifiée, nouvelle imprimante ou imprimante modifiée, nouveaux fichiers de courrier ou fichiers de courrier modifiés ;
fichiers de journal système, de messages et de comptabilité.
En cas d'utilisation du contrôle Solaris, il peut s'avérer nécessaire de modifier les fichiers de contrôle copiés dans la zone globale. Pour plus d'informations, reportez-vous à la section Utilisation du contrôle Solaris dans les zones.
Les fonctionnalités suivantes ne peuvent pas être configurées dans des zones non globales :
environnements d'initialisation Solaris Live Upgrade ;
métapériphériques Solaris Volume Manager ;
affectation d'adresse DHCP dans une zone en mode IP partagé ;
serveur proxy SSL.
Les ressources spécifiées dans le fichier de configuration sont ajoutées lorsque la zone passe de l'état installé à l'état prêt. Un ID de zone unique est attribué par le système. Les systèmes de fichiers sont montés, les interfaces réseau paramétrées et les périphériques configurés. Le passage de la zone à l'état prêt prépare la plate-forme virtuelle en vue de l'exécution des processus utilisateur. Lorsque la zone est prête, les processus zsched et zoneadmd sont démarrés pour gérer la plate-forme virtuelle.
zsched, un processus de planification similaire à sched, permet d'assurer le suivi des ressources du noyau associées à la zone.
zoneadmd est le démon d'administration des zones.
Toute zone prête ne contient aucun processus utilisateur en cours d'exécution, alors que toute zone en cours d'exécution en contient au moins un. C'est la principale différence entre ces deux états. Pour plus d'informations, reportez-vous à la page de manuel init(1M).
Le démon d'administration des zones, zoneadmd, est le principal processus de gestion de la plate-forme virtuelle des zones. Il est aussi responsable de la gestion de l'initialisation et de l'arrêt des zones. Un processus zoneadmd est exécuté pour chaque zone active (état Prêt, En cours d'exécution ou Arrêt en cours) du système.
Le démon zoneadmd paramètre la zone selon la configuration de cette dernière. Ce processus englobe les actions suivantes :
allocation d'un ID de zone et le démarrage du processus système zsched ;
paramétrage des contrôles de ressources à l'échelle de la zone ;
préparation des périphériques de la zone selon la configuration de cette dernière (pour plus d'informations, reportez-vous à la page de manuel devfsadmd(1M)) ;
paramétrage des interfaces réseau virtuelles ;
montage des systèmes de fichiers loopback et conventionnels ;
instanciation et initialisation du périphérique de la console de la zone.
zoneadm lance automatiquement le démon zoneadmd, sauf s'il est déjà en cours d'exécution. Si, pour une raison quelconque, il n'est pas en cours d'exécution, tout appel de zoneadm pour administrer la zone redémarre zoneadmd.
Pour plus d'informations sur le démon zoneadmd reportez-vous à la page de manuel zoneadmd(1M).
Une zone active est une zone dont l'état affiche Prêt, En cours d'exécution ou Arrêt en cours. Un processus de noyau est associé à toute zone active : zsched. Les threads du noyau exécutant des tâches pour le compte de la zone appartiennent à zsched. Le processus zsched permet au sous-système des zones d'assurer le suivi des threads de noyau par zone.
La commande zoneadm permet de créer un environnement applicatif de zone.
Avant la première initialisation d'une zone non globale, il est nécessaire de créer la configuration interne de la zone. Cette configuration spécifie le service d'attribution de nom à utiliser, l'environnement linguistique et le fuseau horaire par défaut, le mot de passe de la racine de la zone et d'autres éléments de l'environnement applicatif. La définition de cet environnement s'effectue en répondant à une série d'invites qui s'affichent sur la console de la zone, comme expliqué dans la section Configuration interne d'une zone. Notez que l'environnement linguistique et le fuseau horaire par défaut d'une zone peuvent être configurés indépendamment des paramètres globaux.
Cette section offre un aperçu des procédures d'arrêt, d'initialisation et de désinstallation des zones. Elle fournit également des astuces permettant de dépanner les zones qui ne s'arrêtent pas en temps voulu.
La commande zoneadm halt permet de supprimer l'environnement applicatif et la plate-forme virtuelle d'une zone. La zone revient alors à l'état installé. Tous les processus sont interrompus, la configuration des périphériques est annulée, les interfaces réseau sont détruites, les systèmes de fichiers démontés et les structures de données du noyau également détruites.
La commande halt n'exécute pas de script d'arrêt à l'intérieur de la zone. Pour arrêter une zone, reportez-vous à la section Arrêt d'une zone à l'aide de zlogin.
Si l'arrêt échoue, reportez-vous à la section La zone ne s'arrête pas.
La commande zoneadm reboot permet de réinitialiser une zone. Celle-ci est arrêtée, puis réinitialisée. Son ID de zone change lors de sa réinitialisation.
Les zones prennent en charge les arguments d'initialisation suivants avec les commandes zoneadm boot et reboot :
-i altinit
-m options_smf
-s
Les définitions suivantes s'appliquent :
Sélectionne un exécutable alternatif pouvant être utilisé comme premier processus. altinit doit être un chemin valide vers un exécutable. Le premier processus par défaut est décrit dans la page de manuel init(1M).
Contrôle le comportement de SMF lors de l'initialisation. Il existe deux catégories d'options : les options de reprise et les options de messages. Les options de messages déterminent le type et le nombre de messages s'affichant pendant l'initialisation. Les options de services déterminent les services utilisés pour initialiser le système.
Les options suivantes sont applicables à une reprise :
Imprime une sortie standard par service et tous les messages svc.startd à consigner.
Initialise sur le sous-graphe défini par le jalon donné. Les jalons valides sont none, single-user, multi-user, multi-user-server et all.
Les options de messages incluent :
Imprime une sortie standard par service et les messages d'erreur requérant une intervention administrative.
Imprime une sortie standard par service et les messages fournissant plus d'informations.
Initialisation uniquement sur svc:/milestone/single-user:default . Ce jalon est équivalent au niveau s de init.
Vous trouverez des exemples d'utilisation dans les sections Initialisation d'une zone et Initialisation d'une zone en mode monoutilisateur.
Pour plus d'informations sur l'utilitaire de gestion des services Solaris (SMF, Service Management Facility) et sur le processus init, reportez-vous au Chapitre 18, Managing Services (Overview) du System Administration Guide: Basic Administration et aux pages de manuel svc.startd(1M) et init(1M).
Si, dans une configuration de zone, vous définissez la propriété de ressource autoboot sur true, cette zone est automatiquement initialisée lors de l'initialisation de la zone globale. Le paramètre par défaut est false.
Notez que les zones ne s'initialisent automatiquement que si le service svc:/system/zones:default est activé.
La commande zoneadm uninstall permet de désinstaller tous les fichiers se trouvant sous le système de fichiers racine de la zone. Avant de procéder à la désinstallation, la commande vous invite à la confirmer, sauf si vous avez utilisé l'option -F (force). Utilisez la commande uninstall avec discernement, car la désinstallation est irréversible.
Le clonage permet de copier une zone existante configurée et installée sur un système pour créer une nouvelle zone sur ce même système. Notez que vous devez au moins réinitialiser les propriétés et les ressources des composants qui ne peuvent pas être identiques pour différentes zones. Vous devez donc impérativement modifier le zonepath. De plus, s'il s'agit d'une zone en mode IP partagé, les adresses IP des diverses ressources réseau doivent être différentes. S'il s'agit d'une zone en mode IP exclusif, les propriétés physiques des ressources réseau doivent être différentes.
Le clonage est le meilleur moyen d'installer une zone.
Toutes les modifications effectuées pour personnaliser la zone source, par exemple l'ajout de packages et les modifications apportées aux fichiers, se refléteront dans la nouvelle zone.
Solaris 10 5/09 : lorsque l'emplacement zonepath source et l'emplacement zonepath cible résident sur ZFS et se trouvent dans le même pool, la commande zoneadm clone utilise automatiquement ZFS pour cloner la zone. Lorsque vous utilisez le clonage ZFS, les données ne sont copiées réellement que lorsqu'elles sont modifiées. Ainsi, le clonage initial ne prend que très peu de temps. La commande zoneadm prend un instantané ZFS de l'emplacement zonepath source et configure l'emplacement zonepath cible. Le système nomme l'instantané SUNWzoneX, où x est un ID unique permettant de distinguer les instantanés. L'emplacement zonepath de la zone de destination est utilisé pour attribuer un nom au clone ZFS. Un inventaire est effectué pour permettre au système de valider un instantané utilisé ultérieurement. Pour cloner plusieurs fois une zone source, la commande zoneadm permet de spécifier l'utilisation d'un instantané existant. Le système vérifie et valide que l'instantané existant peut être utilisé dans la cible.
Vous ne pouvez pas utiliser d'instantanés manuels (tel que le type décrit à la section Création et destruction d’instantanés ZFS du Guide d’administration Oracle Solaris ZFS). Ce type d'instantané ne contient pas les données nécessaires à une validation.
Vous pouvez vouloir cloner une zone source plusieurs fois sans pour autant avoir un nouvel instantané pour chaque clone. Le paramètre -s passé à la sous-commande clone vous permet de spécifier qu'un instantané existant issu d'un clone précédent doit être utilisé. Voir Solaris 10 5/09 : clonage d'une zone à partir d'un instantané existant.
Étant donné que le contenu d'un instantané représente une zone à un moment dans le passé, il est possible que le système ait été mis à jour, par exemple par l'application d'un patch ou d'une mise à niveau, depuis que l'instantané a été pris. Le fait que la zone ait été mise à niveau peut rendre l'instantané à utiliser comme une zone non valide sur le système actuel.
Vous pouvez spécifier qu'un emplacement zonepath ZFS doit être copié au lieu d'être cloné en tant que clone ZFS, bien que la source puisse être clonée de cette façon.
Pour plus d'informations, reportez-vous à la section Solaris 10 11/06 : clonage d'une zone non globale sur le même système.