Rubrique précédente: Installations de distribution

Rubrique suivante: Installation du kit d'appliances pour les distributions RedHat et CentOS Linux

Installation d'appliances pour les distributions Linux d'Ubuntu

Fichiers
Compatibilité

Les versions apk-*-linux-ub 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

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.

Systèmes d'exploitation compatibles Red Hat

Si le noyau fourni avec CA 3Tera AppLogic est décompacté avant d'exécuter l'installation d'APK, il sera configuré automatiquement comme le noyau à amorcer lorsque l'appliance est démarrée en mode PVM - un nouveau fichier boot/grub/menu.lst est créé à cette fin. Le noyau installé fourni par le système d'exploitation sera utilisé dans le démarrage HVM (le fichier de configuration grub par défaut du système d'exploitation pour les systèmes d'exploitation compatibles Red Hat est boot/grub/grub.conf).

Autres systèmes d'exploitation basés sur Linux

si le noyau fourni avec CA 3Tera AppLogic est décompacté avant d'installer APK, il sera configuré comme le noyau de démarrage dans boot/grub/menu.lst. Le fichier de configuration GRUB d'origine sera sauvegardé en tant que boot/grub/menu.lst.apkbk. Le créateur de l'appliance peut renommer la sauvegarde enregistrée et reconfigurer le chargeur de démarrage GRUB pour utiliser l'autre nom de fichier comme fichier de configuration, pour qu'il soit sélectionné lorsque l'appliance démarre en mode HVM. Lorsqu'on démarre en mode VP, boot/grub/menu.lst est toujours utilisé.

Si l'installation d'APK est exécutée sans décompacter le noyau fourni avec CA 3Tera AppLogic, la configuration GRUB restera intacte. On suppose que l'appliance s'exécutera en mode HVM ou que le noyau fourni par le système d'exploitation est capable de démarrer en mode XEN PV (plusieurs distributions de système d'exploitation récentes fournissent une compilation de noyau XEN PV, que vous pouvez installer et configurer en tant que valeur par défaut).

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 que ext2, exécutez la commande suivante pour convertir l'image en ext3.
    exécutez tune2fs -j
    

    Pour utiliser ext2 (ou tout système de fichiers autre que ext3), le fichier initrd expédié avec APK doit être recréé.

  2. Modifiez le fichier de configuration réseau (/etc/network/interfaces) et supprimez toutes les interfaces sauf lo.
  3. Modifiez le fichier etc/fstab et changez le nom du périphérique racine pour ce qui suit :
    /dev/hda1
    

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

  4. (Facultatif) Supprimez le package du noyau, en ignorant les dépendances (pour enregistrer l'espace disque avec le volume de démarrage).
  5. Vérifiez que le package iproute est installé dans les distributions plus anciennes de Debian et d'Ubuntu.
  6. Désinstallez tout service de système d'exploitation qui ne sera pas utilisé.
  7. (Distributions 64 bits) Installez le package libc6-i386 et ses dépendances (apt-get install libc6-i386). Les binaires APK sont en 32 bits, ils ne s'exécuteront pas sans les bibliothèques 32 bits.

    Remarque : si vous devez exécuter des exécutables 32 bits autres que ceux d'APK lui-même, envisagez d'installer le méta package ia32-libs. Le méta-package installe tous les packages contenant des bibliothèques 32 bits.

Important : Désinstallez ou désactivez NetworkManager. Ce programme interfère avec la configuration réseau de CA 3Tera AppLogic. Exception : si on configure un serveur VPS avec une interface utilisateur graphique, l'applet Network Manager peut être utilisée pour effectuer la configuration IP manuelle (mais elle doit être configurée en mode manuel avant de démarrer la nouvelle installation du système d'exploitation dans CA 3Tera AppLogic).

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.

Remarque concernant les fichiers Initrd

APK utilise une image de ramdisk initiale simple (initrd) créée avec le programme d'amorçage nash de Red Hat. Ceci ne charge pas de modules de noyau et son seul but est de configurer le répertoire /dev/ basé sur ramdisk pour le programme udev et de le remplir.

Ceci fonctionne bien en démarrant une appliance virtuelle basée sur Ubuntu et il est inutile de créer une image d'initrd de style Ubuntu pour l'appliance. Les images initrd d'Ubuntu 6/7 sont plus lourdes et ont des fonctionnalités supérieures, ce qui n'est pas nécessaire dans la plupart des appliances. Si vous le souhaitez, vous pouvez créer un fichier initrd spécifique d'Ubuntu et l'utiliser. Editez simplement le fichier /boot/grub/menu.lst pour pointer vers une autre image initrd. Notez que cette modification devra être ré-appliquée si vous devez ré-installer APK dans l'avenir.

Installation de APK

Les instructions d'installation indiquées ici supposent que l'installation d'APK est faite avec une image de SE qui n'est pas en cours d'exécution, mais qui 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. Pour une installation à chaud, suivez la procédure suivante, mais utilisez / comme répertoire actuel pour toutes les opérations. Ceci se réalise mieux dans une machine virtuelle XEN (par exemple, en utilisant iso2class). Si l'APK est installé uniquement avec le noyau XEN PV de CA 3Tera AppLogic, ceci aboutit à un ordinateur non amorçable.

Montez l'image du SE dans votre fichier system.gm. 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. 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.)

Pour installer wget

  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.i386.tar.gz 
    tar -zxf tmp/apk-2.0.14-ub.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 :
    tmp/apk-install 
    

    Remarque : les scripts init fournis par l'APK ne prennent plus en charge les scripts d'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 d'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.

    Le script d'installation (et les fichiers TAR, s'ils ont été copiés dans l'image proprement dite) peut/peuvent maintenant être supprimés :

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

  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.
Personnalisation du comportement de l'appliance - Référence rapide

Pour de plus amples détails, consultez le Manuel de l'utilisateur.

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 située dans l'appliance proprement dite et non celle spécifiée dans l'interface utilisateur graphique.
Important : Si vous installez APK dans une appliance existante, vérifiez dans le descripteur de classe (à l'aide de l'éditeur de l'interface utilisateur graphique) que les fichiers de configuration se trouvent bien sous l'onglet Fichiers de configuration trouvé dans la boîte de dialogue Afficher la classe/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é lorsque APK est installé, pour garder la racine !! structure de répertoires 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.