Rubrique précédente: Installation de kit d'appliances pour les distributions Linux d'Ubuntu

Rubrique suivante: Installation du kit d'appliances pour Windows


Installation du kit d'appliances pour les distributions RedHat et CentOS Linux
Fichiers
Compatibilité

Les versions apk-*-linux-rh sont compatibles avec les distributions de système d'exploitation suivantes :

L'installation d'APK nécessite l'un des éléments suivants :

L'image doit être incluse avec le système de fichiers ext3 en cas d'utilisation de fichiers de noyau et initrd fournis par APK.

Préparation de l'image

Important : Les versions Linux d'APK prennent en charge le démarrage HVM pour VMware et pour les hyperviseurs XEN. Le noyau PVM fourni par AppLogic CA est facultatif.

Les étapes suivantes peuvent varier, selon la méthode d'installation initiale du système d'exploitation. Elles ne sont pas effectuées par le script d'installation d'APK et sont laissées à l'appréciation de l'administrateur, dans la mesure où certaines d'entre elles sont invasives voire destructives, si elles sont accidentellement réalisées à chaud sur un système (plutôt que sur l'image préparée). Par conséquent, il est déconseillé de les exécuter dans un script automatisé. Ignorez toutes les étapes inappropriées.

Préparation de l'image

  1. Vérifiez que l'image disque est un système de fichiers ext3.

    Si le système d'exploitation a été installé en tant qu'ext2, exécutez la commande suivante pour convertir l'image en ext3.

    tune2fs -j
    

    Pour utiliser ext2 (ou tout système de fichiers autre que ext3), le fichier initrd livré avec APK doit être re-créé.

  2. Exécutez la commande suivante pour supprimer les fichiers de configuration réseau :
    rm /etc/sysconfig/scripts de réseau/eth* d'ifcfg 
    
  3. Modifiez le fichier etc/fstab et changez le nom du périphérique racine en /dev/hda1.

    Le programme d'installation vérifiera et imprimera également un avertissement s'il détecte que le périphérique racine est spécifié par étiquette ou par UUID.

  4. Exécutez la commande suivante pour supprimer le package de noyau (ignorez cette étape si vous créez une image à exécuter dans le mode d'émulation de matériel).
    rpm --root path/to/image -e --nodeps kernel
    

    ou, si on fait cela dans un shell 'vol manage' :

    chroot  path/to/image rpm -e --nodeps kernel 
    
  5. Désinstallez tout service de système d'exploitation qui ne sera pas utilisé.

Remarque : Après nettoyage, le volume peut être compacté pour produire une plus petite image de volume de démarrage pour l'appliance. Toutefois, vérifiez qu'il reste au moins 10 à 15 Mo d'espace disponible pour l'installation du noyau XEN DomU et d'APK et disposer d'un peu d'espace libre pour les fichiers journaux, fichiers temporaires, etc.

Installation de APK

Les instructions d'installation indiquées ici supposent que l'installation d'APK est effectuée sur une image du SE qui n'est pas en cours d'exécution, mais qu'elle a été préparée à l'avance, soit en installant un système d'exploitation propre, en l'arrêtant et en prenant l'image du disque de démarrage, soit une appliance CA AppLogic existante est mise à niveau avec une nouvelle version d'APK.

L'installation à chaud (sur un système d'exploitation en cours d'exécution) est également possible et peut être utilisée avec l'utilitaire iso2class fourni dans le Service Pack de CA AppLogic 2.4.5 et versions ultérieures. Notez toutefois qu'iso2class créera une appliance HVM pour vous, et qu'APK ne fonctionne pas en mode HVM ; l'appliance doit être changée pour le mode Paravirtualisé après l'installation d'APK. Pour une installation à chaud, suivez la procédure suivante, mais utilisez / comme répertoire actuel pour toutes les opérations. Cela est mieux réalisé dans une machine virtuelle XEN (par exemple, en utilisant 'iso2class'), le faire sur un système nu aboutira à un ordinateur non amorçable.

Pour installer APK :

  1. Montez l'image du SE dans votre système de fichiers.

    Si l'image est déjà installée comme volume sur une grille CA AppLogic, vous pouvez y accéder à l'aide de la commande vol manage.

  2. Copiez les fichiers APK dans le répertoire /tmp sur l'image proprement dite ou dans un répertoire temporaire sur l'hôte contenant l'image montée. Si l'image est déjà sur une grille, copiez les fichiers sur l'image proprement dite à l'aide de l'interface Web. (Si ceci n'est pas fait sur une grille : notez que les opérations suivantes doivent être réalisées en tant qu'utilisateur root)

Important : APK a besoin du package dhclient pour fonctionner. Il n'est pas installé par défaut sur CentOS5. Installez le package dhclient sur votre image avant d'installer APK.

Vous pouvez installer le RPM dhclient sur une image de SE non active (par exemple, monté dans le shell 'vol manage'), en utilisant chroot. Le RPM doit être disponible sur l'un des sites miroir de CentOS (par exemple, http://mirror.stanford.edu/yum/pub/centos/5.1/os/i386/CentOS/dhclient-3.0.5-7.el5.i386.rpm)

Pour installer le package dhclient

  1. Décompressez le noyau DomU et l'archive binaire d'APK dans le répertoire racine de l'image. Ce qui suit est un exemple des commandes à exécuter :
    cd /mnt/vol 
    tar -zxf tmp/domu-linux-2,6.18,8.386.tar.gz # ** voir remarque ci-dessous ! 
    tar -zxf tmp/apk-2.0.14-rh.tar.gz 
    

    Le script d'installation sera décompressé dans le répertoire ./tmp.

    Important : Utilisez l'archive domu-linux appropriée pour votre architecture de distribution. L'installation d'un noyau 32 bits ne fonctionnera pas sur une distribution 64 bits.

  2. Exécutez le script d'installation suivant :
    tmp/apk-install 
    

    Le script d'installation (et les fichiers tar, s'ils ont été copiés sur l'image elle-même) peut être supprimé maintenant en effectuant la commande suivante :

    rm tmp/apk-install tmp/domu-linux-*.tar.gz tmp/apk-*.tar.gz 
    

    Remarque : les scripts init fournis par l'APK ne prennent plus en charge les scripts de l'appliance installés dans "/appliance". Dans ce cas, le script d'installation s'arrêtera et invitera l'utilisateur à saisir des données. Si aucune personnalisation spécifique de l'appliance n'a été faite dans ce répertoire (c.-à-d., si son contenu est le même ou similaire à celui trouvé sur LUX), il est possible de le supprimer. Toute la fonctionnalité standard utilisée pour cette installation est maintenant fournie par APK. Dans le cas contraire, cliquez sur enregistrer dans /tmp et continuez l'installation.

  3. Démontez l'image et importez-la dans votre grille CA AppLogic (ou fermez simplement le shell de gestion de volume si l'image se trouvait déjà sur votre grille et qu'elle a été modifiée à l'aide de la gestion de volume).
  4. Si l'image était celle d'une appliance existante, procédez comme suit :
    1. Modifiez la classe (à l'aide de l'éditeur de l'interface utilisateur graphique) et supprimez le noyau et les noms de fichier initrd.
    2. Définissez le mode de configuration sur dhcp.
Configuration initiale de l'appliance

Si le fichier /etc/sysconfig/applogic_init est présent, le script d'initialisation APK l'interprète comme un script d'inclusion shell (avec la commande "."). Vous pouvez définir les paramètres suivants dans /etc/sysconfig/applogic_init :

APK_AUTH_KEY_PATH

Spécifie l'emplacement de stockage de la clé publique d'accès SSH de l'appliance. La commande 3 t comp ssh se connecte à des appliances à l'aide de la clé privée correspondante. La valeur par défaut est /root/.ssh. Si elle est définie sur une chaîne vide, la clé n'est stockée nulle part.
Si l'emplacement spécifié est un fichier existant, son propriétaire et ses autorisations sont conservés. Dans le cas contraire, le fichier est créé avec la racine de propriétaire.

APK_CONFIG_EXTIFC

Permet la configuration IP automatique d'interfaces externes, si cette possibilité existe dans l'application. Définissez cette valeur sur non pour désactiver la configuration IP de l'interface externe. Avec cette valeur, APK fonctionne également comme dans la version précédente où la configuration d'interfaces externes n'était pas prise en charge.

Valeur par défaut : Oui

Important : Définissez APK_CONFIG_EXTIFC=non si vous avez installé la nouvelle instance d'APK CA AppLogic 3.5 dans une appliance avec une interface externe conçue pour fonctionner sur une grille antérieure à 3.5. Ces appliances utilisent des propriétés pour configurer le réseau externe. Ce paramètre n'a aucun effet sur les appliances sans interfaces externes.

APK_CONFIG_FILES

Spécifie la liste de fichiers, séparés par des espaces, auxquels les propriétés de l'appliance sont à appliquer. Elle remplace la liste du fichier de configuration spécifiée dans la boîte de dialogue Modifier le périmètre de l'interface utilisateur graphique (pour les appliances qui n'utilisent pas APK). Une appliance dotée d'APK utilise la liste APK_CONFIG_FILES trouvée sur l'appliance elle-même, et non la liste spécifiée dans l'interface utilisateur graphique.
Important : si vous installez APK dans une appliance existante - contrôlez dans le descripteur de classe (à l'aide de l'interface utilisateur graphique de l'éditeur) la présence de fichiers de configuration dans l'onglet Fichiers de configuration de la boîte de dialogue Classe d'affichage / Modifier le périmètre. Transférez la liste de fichiers vers le paramètre APK_CONFIG_FILES dans l'appliance.

Important : Le fichier /etc/sysconfig/applogic_init est exécuté avant la récupération ou l'application des données de configuration. Par conséquent, le script ne peut compter sur la présence d'aucun des fichiers de configuration de l'appliance. N'utilisez pas ce fichier pour exécuter le code d'initialisation, mais uniquement pour les variables de configuration définies ci-dessus.

Exemple /etc/sysconfig/applogic_init :

APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf 
APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys 
Contrôle postérieur au démarrage de l'appliance

Si le fichier /etc/sysconfig/applogic_appliance est présent, le dernier script d'initialisation APK l'interprète comme un script d'inclusion shell (avec la commande "."), après le démarrage de tous les services sur l'appliance. L'état de retour du script indique si le démarrage de l'appliance doit être considéré comme correct ou comme ayant échoué. Si le script imprime un message dans stderr et renvoie une erreur, la dernière ligne de ce message sera utilisée comme message d'erreur envoyé au contrôleur.

Fichier de contrôle postérieur au démarrage de l'échantillon pour une appliance de serveur Web - Vérifie que le serveur est opérationnel et répond à HTTP GET sur la page d'accueil :

if ! wget -q -O /dev/null http://localhost/ ; 
echo "start failed - Web server is not responding" >&2
renvoie 1
fi
renvoie 0

Important : Quelques appliances du catalogue système utilisent un script personnalisé situé dans le répertoire /appliance pour initialiser des services. Cette option n'est plus prise en charge. Lors de l'installation d'APK, un message d'avertissement s'imprime et indique de conserver l'intégrité de la structure du répertoire racine et sa conformité à la norme de hiérarchie de système de fichiers. Un pourrait déplacer le code de ces scripts vers /etc/sysconfig/applogic_appliance, pour émuler l'ancien comportement mais ceci n'est pas l'intention du fichier de contrôle de post-démarrage et ce n'est pas recommandé. Désormais un service installé doit avoir son propre script d'initialisation et doit en général pouvoir fonctionner entièrement de façon autonome en dehors de CA AppLogic.