Consolidation des serveurs et des applications à l'aide du logiciel Solaris Container Manager
Raghuraman Sesharaman, Octobre 2007
Ce document explique la consolidation des serveurs et des applications à l'aide du
logiciel Solaris Container Manager.
Présentation du logiciel Solaris Container Manager
Solaris Container Manager fait partie intégrante du logiciel Sun Management Center 4.0
avec lequel il est livré sous forme de produit add-on. Solaris Container
Manager fonctionne au sein d'une console basée sur navigateur pour gérer les
conteneurs logiciels, optimiser l'utilisation des ressources et augmenter la productivité du centre
de données.
Le logiciel Solaris Container Manager organise les utilitaires de gestion des ressources
existantes exécutés sur les systèmes d'exploitation Solaris 8, Solaris 9 et Solaris
10.
Le logiciel Solaris Container Manager offre la possibilité de contrôler la gestion
des ressources utilisées par les différentes applications logicielles. Ce contrôle s'avère extrêmement
pratique dans le cadre de l'implémentation de serveurs consolidés au sein d'un
centre de données. La consolidation de serveurs offre les avantages suivants :
Elle optimise le nombre d'applications pouvant être exécutées sur les serveurs de sorte que les ressources de l'ordinateur ne soient pas gaspillées.
Elle réduit le nombre de serveurs d'un centre de données, ce qui simplifie la gestion.
Scénario
Problème : Supposons que votre centre de données compte dix systèmes Solaris
SPARC et dix systèmes Solaris x64. Chacun de ces systèmes exécute une
application. Par exemple, quatre d'entre eux exécutent l'application Web Server, quatre autres
des applications de base de données et les deux restants des applications
uniques. Cette configuration est source de nombreux problèmes de maintenance et de
gestion d'espace, ainsi que de sous-utilisation des CPU et des ressources de
mémoire.
Solution : consolider les applications exécutées sur ces systèmes SPARC et x64 pour
réduire le nombre de ces derniers.
Création de zones
Dans tout effort de consolidation, il est important d'évaluer les besoins des
applications qui vont être amenées à partager le système consolidé. Les zones
Solaris procurent des environnements distincts sur un système qui isolent logiquement les
applications les unes des autres. Chaque application se voit attribuer un espace
de noms au sein duquel elle s'exécute, sans voir, contrôler ni affecter
les applications exécutées dans les autres zones.
Vous pouvez créer des zones non globales à l'aide de l'assistant de
création de zones du logiciel Solaris Container Manager.
Pour créer des zones
Créez une zone non globale sur l'un de vos systèmes Solaris SPARC
et déployez-y l'application Web Server.
Avant de commencer
Vous devez disposer d'un pool de ressources associé à des parts de
CPU disponibles.
Dans le volet gauche de la fenêtre principale de Sun Management Center,
sélectionnez Gérer les conteneurs Solaris.
Sélectionnez un nom d'hôte.
Cliquez sur l'onglet Zones.
Cliquez sur le bouton Nouvelle zone.
L'assistant Nouvelle zone s'affiche. Pour afficher le texte d'aide disponible pour chaque étape
de l'assistant, cliquez sur l'onglet Aide du volet de l'assistant.
Fournissez les informations d'identification de base de la zone.
Indiquez le chemin de la zone.
Ce chemin correspond au chemin complet utilisé comme chemin racine pour la
zone. S'il se termine par un nom de répertoire qui n'existe pas,
le répertoire en question est créé. Si vous utilisez un répertoire existant,
les droits sur celui-ci doivent être configurés sur 700.
Sélectionnez une interface réseau.
La liste déroulante des interfaces réseau affiche uniquement les interfaces réseau détectées
sur cet hôte.
Pour réinitialiser la zone automatiquement en cas d'incident, cochez la case Activé
pour la réinitialisation automatique.
Choisissez Native dans la liste déroulante Marque de la zone.
La marque de la zone détermine les scripts exécutés lors de l'installation
et de l'initialisation d'une zone et identifie le type d'application approprié lors
du lancement d'application.
Les zones natives contiennent le même environnement d'exploitation que l'hôte parent.
Fournissez les informations supplémentaires d'identification de la zone.
Spécifiez le nom de l'hôte de la zone.
Le nom de l'hôte de la zone correspond au nom donné à
la zone pour utiliser rlogin et Telnet.
Spécifiez une adresse IP.
L'adresse IP est attribuée par l'administrateur du réseau.
Définissez le mot de passe root pour la zone.
Le mot de passe root de la zone doit contenir entre six
et huit caractères.
Spécifiez le fuseau horaire.
Le fuseau horaire peut être différent de celui de l'endroit où le
système est physiquement installé.
Si vous sélectionnez DNS comme service d'attribution de noms, vous devez également
spécifier le nom du domaine et du serveur à utiliser pour la
zone.
Choisissez un pool de ressources pour la zone.
Un pool de ressources est un objet utilisé pour allouer les ressources
de CPU. Sélectionnez un pool de ressources disponible en fonction des besoins
en termes de CPU totales et de parts de CPU.
Spécifiez les attributs des parts de CPU.
La valeur du champ Parts de CPU est un entier positif utilisé
par l'ordonnanceur équitable (FSS) pour allouer les ressources du système aux projets
associés à la zone. Par défaut, la valeur affichée dans ce champ est
1.
La valeur du champ Parts de CPU de projet définit le rapport
selon lequel le FSS alloue les ressources du système aux projets associés
à la zone. Par défaut, la valeur affichée dans ce champ est
1000.
Spécifiez la configuration de la mémoire.
Vous pouvez assigner la mémoire à quatre segments différents :
Mémoire physique : quantité de mémoire physique allouée en méga-octets.
Swap maximum : quantité de mémoire disponible pour la zone de swap en méga-octets.
Mémoire verrouillée : quantité de mémoire verrouillée en méga-octets.
Mémoire partagée : quantité de mémoire partagée en méga-octets.
Indiquez les attributs IPQoS.
La fonction de qualité de service du protocole Internet (IPQoS) simplifie le contrôle
du trafic entrant et sortant des zones Solaris.
Identifiez toutes les autres connexions réseau.
Pour ajouter une interface réseau virtuelle, spécifiez une adresse IP et sélectionnez
une interface réseau dans le menu déroulant. Chaque interface réseau peut être
associée à plusieurs adresses IP, mais une seule adresse IP peut être utilisée
à la fois. Pour des informations supplémentaires, reportez-vous à la page de
manuel zonecfg(1M).
Spécifiez les périphériques à configurer dans la zone.
Pour rendre un périphérique disponible, indiquez un chemin de périphérique logique dans
le champ du répertoire de périphériques, par exemple, /dev/rdsk/c1t3d0s0 ou /dev/sound/*. Chaque zone peut
avoir des périphériques dont la configuration doit être effectuée lorsque l'état de
la zone passe de « installé » à « prêt ».
Pour inclure un système de fichiers dans la zone, spécifiez un point
de montage, le chemin, ainsi que le type du système de fichiers.
Pour spécifier un système de fichiers, fournissez les informations suivantes :
Le point de montage dans le champ Répertoire de montage
Un chemin dans le champ Special ou Raw Device Directory
Sélectionnez le type du système de fichiers dans le menu déroulant Type.
Pour des informations supplémentaires, reportez-vous aux pages de manuel zonecfg(1M), mount(1M), mount(2),
fsck(1M), et vfstab(4).
Si vous souhaitez que la zone partage les packages logiciels avec une
zone globale, spécifiez le chemin du répertoire à partir duquel les packages
doivent être hérités.
La ressource inherit-pkg-dir est utilisée pour représenter les répertoires qui contiennent des
packages logiciels qu'une zone non globale partage avec la zone globale. Pour
hériter des packages de la zone globale, indiquez le chemin du répertoire
des packages dont vous souhaitez hériter.
Pour plus d'informations, reportez-vous à la page de manuel zonecfg(1M).
Vérifiez les privilèges à assigner à la zone par défaut.
Par défaut, les privilèges listés dans la liste des privilèges disponibles sont
assignés à la nouvelle zone. Pour modifier l'ensemble de privilèges de zone
par défaut, sélectionnez les privilèges à exclure des privilèges de zone disponibles
par défaut.
Incluez tout privilège de zone facultatif.
Vérifiez la configuration de la zone.
Cliquez sur Terminer pour créer la zone selon la configuration spécifiée ou sur
Précédent pour changer les paramètres de la zone.
Étapes suivantes
Vérifiez les performances du système en termes d'utilisation de CPU et de
mémoire.
Copie de zones
Vous pouvez créer plusieurs copies d'une zone non globale sur un même
système ou une seule copie de celle-ci sur plusieurs systèmes. Lorsque vous
copiez une zone non globale, les nouvelles zones héritent de l'ensemble de
ses propriétés.
Pour copier des zones
Si les performances du système en termes d'utilisation de CPU et de
mémoire sont satisfaisantes, créez trois copies de la zone sur le même
système. Dans ces trois nouvelles zones, des applications Web Server sont exécutées
automatiquement. Lorsque vous copiez une zone non globale, les nouvelles zones héritent
de l'ensemble de ses propriétés.
Dans le volet gauche de la fenêtre principale de Sun Management Center,
sélectionnez Gérer les conteneurs Solaris.
Cliquez sur le nom d'un hôte Solaris 10.
Cliquez sur l'onglet Zones.
Cliquez sur le bouton Copie d'une zone.
L'assistant de configuration des copies de zone s'affiche.
Choisissez entre l'exécution de plusieurs copies d'une zone sur le même hôte
ou l'exécution d'une copie d'une zone sur plusieurs hôtes.
Pour créer plusieurs copies d'une zone sur le même hôte, sélectionnez l'option
Même hôte, cliquez sur Suivant et suivez les instructions.
Pour créer une seule copie d'une zone sur plusieurs hôtes, sélectionnez l'option
Hôtes différents, cliquez sur Suivant et suivez les instructions.
Suivez les étapes de l' assistant.
Lorsque vous copiez une zone sur le même hôte, si celle-ci exécute
au moins Solaris 10 Update 3, vous avez la possibilité de la
cloner. Cette opération crée une réplique exacte de la zone, avec tout
son contenu.
Lorsque vous copiez une zone sur plusieurs hôtes, si celle-ci exécute au
moins Solaris 10 Update 3, vous avez la possibilité de copier son
contenu.
Étapes suivantes
Une fois cette procédure exécutée, vous aurez consolidé sur un seul système
les quatre applications Web Server exécutées précédemment sur quatre systèmes via l'utilisation
de zones.
Répétez les procédures Pour créer des zones et Pour copier des zones pour les quatre applications de base
de données. Une fois ces procédures exécutées, vous aurez consolidé sur un
seul système les quatre applications de base de données précédemment exécutées sur
quatre systèmes.
Pour les deux systèmes qui exécutent des applications uniques, créez deux zones
sur un système et déployez manuellement les applications.
Concrètement, vous avez consolidé sur trois systèmes les applications exécutées précédemment sur
dix systèmes. Un système exécute désormais les applications Web Server, le deuxième les
applications de base de données et le troisième les applications uniques.
Migration de zones
Si vous disposez d'un plus gros système qui dispose de suffisamment de
CPU et de mémoire, par exemple, un Sun Fire T2000, vous pouvez même
consolider sur un seul système les applications exécutées sur les trois systèmes
via l'utilisation de la fonction de migration de zone.
la fonction de migration de zone vous donne la possibilité de faire
migrer une zone sélectionnée du système source vers le système cible spécifié.
La migration de zone désigne le processus de transfert d'une zone non
globale installée d'un système à un autre. Le processus manuel de migration
de zone implique de nombreuses étapes, dont le détachement de la zone
du système source, la migration de l'archivage de la zone sur
le système cible, la reconfiguration de la zone sur le système cible
et l'attachement de celle-ci sur le système cible.
Dans Solaris Container Manager, le processus de migration complet s'effectue en une
seule opération. Après avoir sélectionné la zone à faire migrer et cliqué
sur Migrer une zone, l'assistant de migration de zone s'affiche. Cet assistant
vous permet de sélectionner le(s) système(s) cible vers le(s)quel(s) la zone doit
être migrée. Cette fonction simplifie considérablement le processus de migration dans son
ensemble.
Exigences de la migration de zone
Les conditions suivantes doivent être remplies pour migrer une zone du système
source vers le système cible.
La zone globale sur le système cible doit exécuter la même version de Solaris que le système cible.
Les systèmes source et cible doivent utiliser la même architecture système.
Le système cible doit avoir les mêmes versions de packages et patchs de système d'exploitation requis suivants que ceux installés sur le système source.
Packages délivrant les fichiers avec une ressource inherit-pkg-dir
Packages pour lesquels SUNW_PKG_ALLZONES=true
Les autres packages et patchs, comme ceux de produits tiers, peuvent être de version différente.
Pour les zones de marque, la marque doit être la même sur le système source et sur le système cible.
Pour migrer des zones
Le processus de migration varie suivant l'architecture des systèmes source et cible.
Si vous migrez les zones natives et les zones de marque des
systèmes Solaris x64 source vers un système Solaris x64 cible, le processus
de migration de zones aboutira car les systèmes source et cible utilisent
la même architecture système. Vous pouvez commencer à exécuter les applications à
partir du système cible.
Si vous migrez les zones natives des systèmes Solaris SPARC source vers
un système Solaris x64 cible, seule l'infrastructure des zones, telles que les
paramètres de projet et de CPU, est migrée car les systèmes source
et cible utilisent des architectures différentes. Vous devez toujours déployer manuellement les
applications sur le système cible.
Dans le volet gauche de la fenêtre principale de Sun Management Center,
sélectionnez Gérer les conteneurs Solaris.
Sélectionnez un nom d'hôte.
Cliquez sur l'onglet Zones.
Sélectionnez la zone à migrer.
Cliquez sur Migrer une zone.
L'assistant de migration de zone s'affiche. Pour afficher l'aide disponible pour chaque
étape de l'assistant, cliquez sur l'onglet Aide dans le volet de l'assistant.
Recherchez les hôtes.
Spécifiez le nom d'un hôte dans le champ de texte Nom d'hôte.
Sélectionnez le système d'exploitation et la plate-forme à partir des listes déroulantes
respectives.
Indiquez le nombre minimum de processeurs dans le champ Total des processeurs.
Spécifiez la quantité minimum de mémoire dans le champ Mémoire totale.
Indiquez la vitesse d'horloge minimum dans le champ Vitesse d'horloge et
cliquez sur Suivant.
Sélectionnez l'hôte ou les hôtes vers le(s)quel(s) vous souhaitez faire migrer la
zone.
Entrez le chemin de la zone cible et cliquez sur Suivant.
Vérifiez la configuration de migration de la zone et cliquez sur Terminer.
Création de zones de marque
La consolidation d'applications exécutées sur des systèmes Solaris x64 sur un nombre
réduit de systèmes utilise la même procédure, excepté la nécessité de créer
des zones de marque au lieu de zones natives. Vous devez spécifier
1x comme marque de la zone et non native.
La structure de zone marque (BrandZ) étend l'infrastructure de zones Solaris. En effet,
cette structure vous permet de créer des zones non globales qui contiennent
des environnements d'exploitation non natifs et qui sont utilisées pour exécuter des
applications. Toute la gestion des marques s'effectue via les extensions de la structure
de zones courante.
Vous pouvez créer des zones de marque à l'aide de l'assistant de
création de zones du logiciel Solaris Container Manager.
Pour créer des zones de marque
Dans le volet gauche de la fenêtre principale de Sun Management Center,
sélectionnez Gérer les conteneurs Solaris.
Sélectionnez un nom d'hôte.
Cliquez sur l'onglet Zones.
Cliquez sur le bouton Nouvelle zone.
L'assistant Nouvelle zone s'affiche. Pour afficher le texte d'aide disponible pour chaque étape
de l'assistant, cliquez sur l'onglet Aide du volet de l'assistant.
Fournissez les informations d'identification de base de la zone.
Indiquez le chemin de la zone.
Ce chemin correspond au chemin complet utilisé comme chemin racine pour la
zone. S'il se termine par un nom de répertoire qui n'existe pas,
le répertoire en question est créé. Si vous utilisez un répertoire existant,
les droits sur celui-ci doivent être configurés sur 700.
Sélectionnez une interface réseau.
La liste déroulante des interfaces réseau affiche uniquement les interfaces réseau détectées
sur cet hôte.
Pour réinitialiser la zone automatiquement en cas d'incident, cochez la case Activé
pour la réinitialisation automatique.
Sélectionnez 1x dans la liste déroulante Marque de la zone.
La marque de la zone détermine les scripts exécutés lors de l'installation
et de l'initialisation d'une zone et identifie le type d'application approprié lors
du lancement d'application.
1x indique que la zone contient un environnement Linux, indépendamment de l'environnement
d'exploitation de l'hôte parent. La valeur lx pour la marque de la
zone est uniquement disponible sur les systèmes Solaris 10 8/07 x64.
Spécifiez le patch de l'image, les arguments d'installation et le fichier de
configuration système.
Le fichier de configuration système est requis pour fournir les attributs nécessaires
à la gestion de la zone.
Choisissez un pool de ressources pour la zone.
Un pool de ressources est un objet utilisé pour allouer les ressources
de CPU. Sélectionnez un pool de ressources disponible en fonction des besoins
en termes de CPU totales et de parts de CPU.
Spécifiez les attributs des parts de CPU.
La valeur du champ Parts de CPU est un entier positif utilisé
par l'ordonnanceur équitable (FSS) pour allouer les ressources du système aux projets
associés à la zone. Par défaut, la valeur affichée dans ce champ est
1.
La valeur du champ Parts de CPU de projet définit le rapport
selon lequel le FSS alloue les ressources du système aux projets associés
à la zone. Par défaut, la valeur affichée dans ce champ est
1000.
Spécifiez la configuration de la mémoire.
Vous pouvez assigner la mémoire à quatre segments différents :
Mémoire physique : quantité de mémoire physique allouée en méga-octets.
Swap maximum : quantité de mémoire disponible pour la zone de swap en méga-octets.
Mémoire verrouillée : quantité de mémoire verrouillée en méga-octets.
Mémoire partagée : quantité de mémoire partagée en méga-octets.
Indiquez les attributs IPQoS.
La fonction de qualité de service du protocole Internet (IPQoS) simplifie le contrôle
du trafic entrant et sortant des zones Solaris.
Identifiez toutes les autres connexions réseau.
Pour ajouter une interface réseau virtuelle, spécifiez une adresse IP et sélectionnez
une interface réseau dans le menu déroulant. Chaque interface réseau peut être
associée à plusieurs adresses IP, mais une seule adresse IP peut être utilisée
à la fois. Pour des informations supplémentaires, consultez la page de manuel
zonecfg(1M).
Spécifiez les périphériques à configurer dans la zone.
Pour rendre un périphérique disponible, indiquez un chemin de périphérique logique dans
le champ Répertoire de périphériques, par exemple, /dev/rdsk/c1t3d0s0 ou /dev/sound/*. Chaque zone peut avoir
des périphériques dont la configuration doit être effectuée lorsque l'état de la
zone passe de « installé » à « prêt ».
Ajoutez tout autre attribut défini par l'utilisateur.
Vous pouvez ajouter vos propres attributs pour les éléments à conserver dans
la zone après une réinitialisation ou pour toute autre utilisation personnalisée. Par
exemple, vous pouvez utiliser cette fonction pour définir un périphérique audio associé
à une zone de marque. L'attribut spécifié doit comprendre un nom, une
valeur et un type.
Pour inclure un système de fichiers dans la zone, spécifiez un point
de montage, le chemin, ainsi que le type du système de fichiers.
Pour spécifier un système de fichiers, fournissez les informations suivantes :
Le point de montage dans le champ Répertoire de montage
Un chemin dans le champ Special ou Raw Device Directory
Sélectionnez le type du système de fichiers dans le menu déroulant Type.
Pour des informations supplémentaires, reportez-vous aux pages de manuel zonecfg(1M), mount(1M), mount(2),
fsck(1M), et vfstab(4).
Si vous souhaitez que la zone partage les packages logiciels avec une
zone globale, spécifiez le chemin du répertoire à partir duquel les packages
doivent être hérités.
La ressource inherit-pkg-dir est utilisée pour représenter les répertoires qui contiennent des
packages logiciels qu'une zone non globale partage avec la zone globale. Pour
hériter des packages de la zone globale, indiquez le chemin du répertoire
des packages dont vous souhaitez hériter.
Pour plus d'informations, reportez-vous à la page de manuel zonecfg(1M).
Vérifiez les privilèges à assigner à la zone par défaut.
Par défaut, les privilèges listés dans la liste des privilèges disponibles sont
assignés à la nouvelle zone. Pour modifier l'ensemble de privilèges de zone
par défaut, sélectionnez les privilèges à exclure des privilèges de zone disponibles
par défaut.
Incluez tout privilège de zone facultatif.
Vérifiez la configuration de la zone.
Cliquez sur Terminer pour créer la zone selon la configuration spécifiée ou sur
Précédent pour changer les paramètres de la zone.
Pour plus d'informations
Pour en savoir plus sur les fonctions décrites dans cet article, consultez
les documents suivants :