Rubrique précédente: Installation 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 :

Pour installer APK vous avez besoin de l'un ou l'autre

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 de Linux d'APK ne prennent en charge que l'installation de la machine virtuelle PVM, à l'aide de la compilation CA 3Tera AppLogic fournie du noyau de Linux. Le script d'installation effacera tout fichier de configuration GRUB trouvé sur l'image cible, en le rendant non amorçable en mode HVM. L'enregistrement du fichier GRUB (sans effacer le noyau du système d'exploitation par défaut comme indiqué ci-dessous) peut autoriser l'utilisation d'APK sur un domaine HVM Linux, mais cela n'est pas pris en charge et le fonctionnement n'est pas garanti. En particulier, l'arrêt correct de l'appliance ne fonctionnera pas en mode HVM, ni le montage automatique des volumes conformément aux chemins de montage spécifiés dans le descripteur de classe de CA 3Tera AppLogic.

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 3Tera 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 3Tera 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 de Paravirtualized 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 3Tera 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 3Tera AppLogic (ou fermez simplement le shell vol manage, si l'image se trouvait déjà sur votre grille et a été modifiée à l'aide de vol manage).
  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

Emplacement dans lequel stocker 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_FILES

Liste de fichiers séparée par des espaces auxquels appliquer des propriétés de l'appliance. 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. Ce répertoire est supprimé lorsqu'APK est installé, pour maintenir la structure de répertoire racine propre et conforme à 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 3Tera AppLogic.