« Deploy/SpaceWalk/Client » : différence entre les versions
| (34 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Groupes == | == Groupes == | ||
<div style="float:left;"> | |||
{{Spacewalk/group|name=CentOS 5|description=Systems which use CentOS 5 i386 and x86_64 architectures}} | {{Spacewalk/group|float=left|name=CentOS 5|description=Systems which use CentOS 5 i386 and x86_64 architectures}}{{Spacewalk/group|float=left|name=CentOS 6|description=Systems which use CentOS 6 i386 and x86_64 architectures}} | ||
{{Spacewalk/group|name=CentOS 6|description=Systems which use CentOS 6 i386 and x86_64 architectures}} | </div> | ||
{{Admon/clearboth}} | {{Admon/clearboth}} | ||
| Ligne 8 : | Ligne 8 : | ||
Il est conseillé de ne pas utiliser la fonction de génération de nom automatique, mais de spécifier un nom pertinent: ex: centos-5-channel. Cela rend l'installation plus facile et une plus grande homogénéité au système. D'un autre côté, afin de ne pas donner un accès aux channels à tous le monde, laisser le nom se générer automatiquement de manière aléatoire est le meilleur moyen d'empêcher les connexions. | Il est conseillé de ne pas utiliser la fonction de génération de nom automatique, mais de spécifier un nom pertinent: ex: centos-5-channel. Cela rend l'installation plus facile et une plus grande homogénéité au système. D'un autre côté, afin de ne pas donner un accès aux channels à tous le monde, laisser le nom se générer automatiquement de manière aléatoire est le meilleur moyen d'empêcher les connexions. | ||
{{Spacewalk/key|key=|basechannel=|description=Default Key|monitoring=1|provisioning=1|virt=|virtplatform=|confdeploy=|universal=1|usage=}} | <div style"float:left;"> | ||
{{Spacewalk/key|key=centos-5-i386-key|basechannel=CentOS 5 Base - i386|description=Key for CentOS 5 i386|monitoring=|provisioning=1|virt=|virtplatform=|confdeploy=||usage=}} | {{Spacewalk/key|float=left|key=|basechannel=|description=Default Key|monitoring=1|provisioning=1|virt=|virtplatform=|confdeploy=|universal=1|usage=}}{{Spacewalk/key|float=left|key=centos-5-i386-key|basechannel=CentOS 5 Base - i386|description=Key for CentOS 5 i386|monitoring=|provisioning=1|virt=|virtplatform=|confdeploy=||usage=}}{{Spacewalk/key|float=left|key=centos-5-x86_64-key|basechannel=CentOS 5 Base - x86_64|description=Key for CentOS 5 x86_64|monitoring=|provisioning=1|virt=|virtplatform=|confdeploy=|universal=|usage=}}{{Spacewalk/key|float=left|key=centos-6-i386-key|basechannel=CentOS 6 Base - i386|description=Key for CentOS 6 i386|monitoring=|provisioning=1|virt=|virtplatform=|confdeploy=|universal=|usage=}}{{Spacewalk/key|float=left|key=centos-6-x86_64-key|basechannel=CentOS 6 Base - x86_64|description=Key for CentOS 6 x86_64|monitoring=|provisioning=1|virt=|virtplatform=|confdeploy=|universal=|usage=}} | ||
{{Spacewalk/key|key=centos-5-x86_64-key|basechannel=CentOS 5 Base - x86_64|description=Key for CentOS 5 x86_64|monitoring=|provisioning=1|virt=|virtplatform=|confdeploy=|universal=|usage=}} | </div> | ||
{{Spacewalk/key|key=centos-6-i386-key|basechannel=CentOS | |||
{{Spacewalk/key|key=centos-6-x86_64-key|basechannel=CentOS | |||
{{Admon/clearboth}} | {{Admon/clearboth}} | ||
| Ligne 60 : | Ligne 58 : | ||
#* Fedora 18<syntaxhighlight lang="bash">rpm -Uvh http://yum.spacewalkproject.org/2.0-client/Fedora/18/x86_64/spacewalk-client-repo-2.0-3.fc18.noarch.rpm</syntaxhighlight> | #* Fedora 18<syntaxhighlight lang="bash">rpm -Uvh http://yum.spacewalkproject.org/2.0-client/Fedora/18/x86_64/spacewalk-client-repo-2.0-3.fc18.noarch.rpm</syntaxhighlight> | ||
#* Fedora 19<syntaxhighlight lang="bash">rpm -Uvh http://yum.spacewalkproject.org/2.0-client/Fedora/19/x86_64/spacewalk-client-repo-2.0-3.fc19.noarch.rpm</syntaxhighlight> | #* Fedora 19<syntaxhighlight lang="bash">rpm -Uvh http://yum.spacewalkproject.org/2.0-client/Fedora/19/x86_64/spacewalk-client-repo-2.0-3.fc19.noarch.rpm</syntaxhighlight> | ||
# Installer les paquets sur le client<syntaxhighlight lang="bash">yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin</syntaxhighlight> | # Installer les paquets sur le client<syntaxhighlight lang="bash">yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin rhncfg-actions</syntaxhighlight> | ||
# Enregistrer le client sur Spacewalk en utilisant la clé précedemment créée< | # Enregistrer le client sur Spacewalk en utilisant la clé précedemment créée<pre>rhnreg_ks --serverUrl=http://YourSpacewalk.example.org/XMLRPC --activationkey=<key-with-fedora-custom-channel></pre><syntaxhighlight lang="bash">rhnreg_ks --serverUrl=http://spacewalk.b2pweb.org/XMLRPC --activationkey=1-centos-6-x86_64-key</syntaxhighlight> | ||
==== RHEL 5 and 6, Scientific Linux 6, CentOS 5 or 6 ==== | ==== RHEL 5 and 6, Scientific Linux 6, CentOS 5 or 6 ==== | ||
| Ligne 74 : | Ligne 72 : | ||
#* EPEL 6<syntaxhighlight lang="bash">BASEARCH=$(uname -i)</syntaxhighlight><syntaxhighlight lang="bash">rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/$BASEARCH/epel-release-6-8.noarch.rpm</syntaxhighlight> | #* EPEL 6<syntaxhighlight lang="bash">BASEARCH=$(uname -i)</syntaxhighlight><syntaxhighlight lang="bash">rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/$BASEARCH/epel-release-6-8.noarch.rpm</syntaxhighlight> | ||
# Installer les paquets sur le client<syntaxhighlight lang="bash">yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin</syntaxhighlight> | # Installer les paquets sur le client<syntaxhighlight lang="bash">yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin</syntaxhighlight> | ||
# Enregistrer le client sur Spacewalk en utilisant la clé précedemment créée<syntaxhighlight lang="bash">rhnreg_ks --serverUrl=http:// | # Enregistrer le client sur Spacewalk en utilisant la clé précedemment créée<syntaxhighlight lang="bash">rhnreg_ks --serverUrl=http://spacewalk.b2pweb.com/XMLRPC --activationkey=<key-with-rhel-custom-channel></syntaxhighlight> | ||
{{Admon/note|Exemple|On part d'une CentOS 6 x86_64 fraichement installée. | {{Admon/note|Exemple d'installation, d'inscription et de configuration|On part d'une CentOS 6 x86_64 fraichement installée. | ||
# <syntaxhighlight lang="bash">rpm -Uvh http://mirrors.ircam.fr/pub/fedora/epel/6/i386/epel-release-6-8.noarch.rpm</syntaxhighlight> | # <syntaxhighlight lang="bash">rpm -Uvh http://mirrors.ircam.fr/pub/fedora/epel/6/i386/epel-release-6-8.noarch.rpm</syntaxhighlight> | ||
# <syntaxhighlight lang="bash">rpm -Uvh http://spacewalk.redhat.com/yum/2.0-client/RHEL/6/x86_64/spacewalk-client-repo-2.0-3.el6.noarch.rpm</syntaxhighlight> | # <syntaxhighlight lang="bash">rpm -Uvh http://spacewalk.redhat.com/yum/2.0-client/RHEL/6/x86_64/spacewalk-client-repo-2.0-3.el6.noarch.rpm</syntaxhighlight> | ||
# <syntaxhighlight lang="bash">yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin</syntaxhighlight> | # <syntaxhighlight lang="bash">yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin rhncfg-actions osad</syntaxhighlight> | ||
# <syntaxhighlight lang="bash">rhnreg_ks --serverUrl=https://spacewalk.b2pweb.com/XMLRPC --activationkey=centos-6-x86_64-key</syntaxhighlight> | # <syntaxhighlight lang="bash">pushd /usr/share/rhn/ ; wget http://spacewalk.b2pweb.com/pub/RHN-ORG-TRUSTED-SSL-CERT ; popd</syntaxhighlight> | ||
# <syntaxhighlight lang="bash">sed -i -e '/osa_ssl_cert/ s/=.*/= \/usr\/share\/rhn\/RHN-ORG-TRUSTED-SSL-CERT/' /etc/sysconfig/rhn/osad.conf</syntaxhighlight> | |||
# Enregistrement | |||
## Centos 5<syntaxhighlight lang="bash">rhnreg_ks --serverUrl=https://spacewalk.b2pweb.com/XMLRPC --activationkey=1-centos-5-x86_64-key</syntaxhighlight> | |||
## Centos 6<syntaxhighlight lang="bash">rhnreg_ks --serverUrl=https://spacewalk.b2pweb.com/XMLRPC --activationkey=1-centos-6-x86_64-key</syntaxhighlight> | |||
# <syntaxhighlight lang="bash">chkconfig osad on ; service osad start</syntaxhighlight> | |||
# <syntaxhighlight lang="bash">rhn-actions-control --enable-all ; rhn-actions-control --report</syntaxhighlight> | |||
}} | }} | ||
| Ligne 123 : | Ligne 127 : | ||
* On configure le démarrage automatique<syntaxhighlight lang="bash">chkconfig osad on</syntaxhighlight> | * On configure le démarrage automatique<syntaxhighlight lang="bash">chkconfig osad on</syntaxhighlight> | ||
* On démarre le service osad<syntaxhighlight lang="bash">service osad start</syntaxhighlight> | * On démarre le service osad<syntaxhighlight lang="bash">service osad start</syntaxhighlight> | ||
== Déploiement de fichiers/dossiers == | |||
=== Pré-requis === | |||
* Les systèmes concernés doivent déjà être enregistrer dans Spacewalk | |||
* Le démon [[#Installation_de_osad_sur_le_client|<app>osad</app> doit être configuré et actif]] sur l'hôte. | |||
=== Modification sur chaque client === | |||
Il faut autoriser le déploiement. On peut visualiser les droits en vigueur ou les modifier avec la commande <app>rhn-actions-control</app>. Celle-ci fait partie du paquet <package>rhncfg-actions</package>. | |||
On visualise les droits en vigueur, comme attendu, aucun droit n'existe | |||
<pre> | |||
rhn-actions-control --report | |||
deploy is disabled | |||
diff is disabled | |||
upload is disabled | |||
mtime_upload is disabled | |||
run is disabled | |||
</pre> | |||
On modifie maintenant ces droits | |||
<pre> | |||
rhn-actions-control --enable-all | |||
</pre> | |||
Et on peut vérifier que les nouveaux droits ont été appliqués | |||
<pre> | |||
rhn-actions-control --report | |||
deploy is enabled | |||
diff is enabled | |||
upload is enabled | |||
mtime_upload is enabled | |||
run is enabled | |||
</pre> | |||
=== Modification sur le serveur === | |||
* On commence par sélectionner les systèmes concernés (ils doivent déjà être enregistrer dans Spacewalk) en cliquant sur l''''onglet System'''. | |||
* Puis on sélectionne l'onglet Configuration <pre>Systems / Target systems</pre>Et on applique les changements proposés. | |||
[[Fichier:SpacewalkClientEnableConfig.png|centré|cadre|Activation de la gestion de configuration sur les clients Spacewalk]] | |||
* On créer un canal pour notre configuration: | |||
{{Spacewalk/widget|title=Configuration channel|content1= | |||
* ''Name'': '''CentOS 6 Backup''' | |||
* ''Label'': '''centos-6-backup''' | |||
* ''Description'': '''CentOS 6 mandatory files for backup'''}} | |||
* On peut maintenant ajouter un fichier, un dossier ou un lien symbolique<pre>Configuration Files / Centrally Managed Files</pre> | |||
* On applique les changements sur les clients<pre>Configuration Files / Deploy File</pre> | |||
=== Déploiement manuel de nouveaux paquets sur le client === | |||
Pour installer un nouveau paquet depuis le dépôt sur un nouveau serveur: | |||
# On se connecte à Spacewalk et on va à la section: | |||
system -> "your system" -> Software -> Packages -> Install | |||
# On choisit le paquet désiré dans la liste (par exemple xauth) et on clique sur ''Installer les paquets selectionnés'' | |||
# On choisit l'option ''Exécuter dès que possible'' dans la page de confirmation et on clique sur ''Confirmer'' | |||
# On se connecte sur le client et on liste les canaux auquel il est abonné en exécutant:<pre>rhn-channel --list</pre> | |||
# On vérifie que le canal où a été faite la requête d'installation est bien listé. On vérifie ensuite que le paquet n'est pas déjà installé sur le client:<pre>rpm -qa | grep -i xauth</pre> | |||
# Si le paquet n'est pas encore installé, on applique les modifications en attente (installation de paquet) en exécutant:<pre> rhn_check</pre> | |||
The server will check for any pending actions (in this case installing the selected package) and execute (install the package) them. Now, check again to verify that the (xauth) package was installed by executing: | |||
# rpm -qa | grep -i xauth | |||
xorg-x11-xauth-1.0.2-7.1.el6.x86_64 | |||
=== Déploiement manuel de fichiers de configuration sur le client === | |||
La gestion de fichiers de configuration d'un système linux par Spacewalk peut se faire grâce aux canaux. | |||
# On créé un nouveau canal de configuration en allant à la section:<pre>Configuration -> Configuration channels -> create new config channel</pre> | |||
# On renseigne les informations d'identification du canal | |||
#* Name: My Config Channel | |||
#* Label: myConfigChannel | |||
#* Description: My Config Channel | |||
# On implémente le canal avec des fichiers ou des dossiers en navigant à la page<pre>Select the configuration channel -> add files -> create file</pre> | |||
# On peut maintenant créé des fichiers, des dossiers et des liens symboliques, spécifier le propriétaire et les droits d'accès. Dans le cas d'un fichier, on peut ajouter le contenu en ligne via l'éditeur en ligne. On clique sur ''Create Configuration File'' pour finaliser l'action. | |||
Pour déployer ce fichier aux systèmes enregistrés, ces systèmes doivent d'abord souscrire au canal de configuration. | |||
# Dans Spacewalk, on navigue jusqu'à la page<pre>systems -> "your system" -> configuration -> manage configuration channels -> subscribe to channels</pre> | |||
# On vérifie que le client est bien inscrit à notre nouveau canal de configuration en exécutant la commande<pre>rhncfg-client channels</pre> | |||
# Si le canal apparait dans la sortie de la commande précédente, on peut acquérir les fichiers (ou répertoires)<pre>rhncfg-client get</pre> | |||
# On peut vérifier la différence entre le système et le canal de configuration en tapant<pre>rhncfg-client diff</pre> | |||
Exemple de commandes | |||
'''rhncfg-client channels'''<pre>rhncfg-client channels | |||
Using server name spacewalk | |||
Config channels: | |||
Label Name | |||
----- ---- | |||
myConfigChannel My Config Channel</pre> | |||
'''rhncfg-client get'''<pre> | |||
rhncfg-client get | |||
Using server name spacewalk | |||
Deploying /opt/oracle | |||
Deploying /opt/oracle/middleware | |||
Deploying /opt/oracle/middleware/jrockit | |||
</pre> | |||
=== Inclure des macros dans vos fichiers de configuration === | |||
Dans la gestion des fichiers traditionnelle, vous devriez télécharger et distribuer chaque fichier séparément, même si la différence est minimale et qu'il existe un nombre de variations de l'ordre des centaines ou milliers. RHN simplifie la situation en permettant l'inclusion de macros ou variables, au sein des fichiers de configuration qu'il gère pour des systèmes possédant des droits d'accès d'approvisionnement. En plus des variables pour les informations de systèmes personnalisés, les macros standard suivantes sont prises en charge : | |||
* rhn.system.sid | |||
* rhn.system.profile_name | |||
* rhn.system.description | |||
* rhn.system.hostname | |||
* rhn.system.ip_address | |||
* rhn.system.custom_info(key_name) | |||
* rhn.system.net_interface.ip_address(eth_device) | |||
* rhn.system.net_interface.netmask(eth_device) | |||
* rhn.system.net_interface.broadcast(eth_device) | |||
* rhn.system.net_interface.hardware_address(eth_device) | |||
* rhn.system.net_interface.driver_module(eth_device) | |||
Pour utiliser cette fonctionnalité puissante, vous pouvez soit télécharger soit créer un fichier de configuration via la page Configuration des détails pour les canaux. Ensuite, ouvrez sa page intitulée Détails du fichier de configuration et inclure les macros supportées de votre choix. Assurez-vous que les délimiteurs utilisés pour modifier vos variables correspondent à ceux définis dans les champs Délimiteur de début de macro et Délimiteur de fin de macro et qu'ils n'entrent pas en conflit avec d'autres caractères dans le fichier. Les délimiteurs doivent avoir deux caractères et ne peuvent pas contenir de symbole de pourcentage (%). | |||
Vous pouvez par exemple avoir un fichier applicable à tous vos serveurs et qui diffère seulement au niveau de l'adresse IP et du nom d'hôte. Plutôt que de gérer un fichier de configuration séparé pour chaque serveur, vous pouvez créer un seul fichier comme server.conf, qui inclut les macros concernant l'adresse IP et le nom d'hôte, comme dans l'extrait ci-dessous : | |||
<pre> | |||
hostname={| rhn.system.hostname |} | |||
ip_address={| rhn.system.net_interface.ip_address(eth0) |} | |||
</pre> | |||
Après la livraison du fichier sur les systèmes individuels, que ce soit par le biais d'une action programmée dans le site web de RHN ou en ligne de commande avec le Client de configuration Red Hat Network (rhncfg-client), les variables seront substituées par le nom d'hôte et l'adresse IP du système, comme elles sont enregistrées dans le profil de système de RHN. Dans le fichier de configuration ci-dessus, par exemple, la version déployée ressemble à : | |||
<pre> | |||
hostname=test.example.domain.com | |||
ip_address=177.18.54.7 | |||
</pre> | |||
Pour saisir les informations personnalisées du système, insérez l'étiquette clé dans la macro des informations personnalisées (rhn.system.custom_info). Par exemple, si vous avez développé un "asset" avec une étiquette clé, vous pouvez l'ajouter à la macro des informations personnalisées dans un fichier de configuration pour que les valeurs soient substituées sur tout système contenant ce dernier. La macro ressemblerait à l'extrait suivant : | |||
<pre> | |||
asset={@ rhn.system.custom_info(asset) @} | |||
</pre> | |||
Après le déploiement du fichier sur un système contenant une valeur pour cette clé, la macro est traduite, produisant une chaîne comme dans l'extrait ci-dessous : | |||
<pre> | |||
asset=Example#456 | |||
</pre> | |||
Pour inclure une valeur par défaut, par exemple si une valeur est nécessaire pour empêcher des erreurs, vous pouvez l'ajouter à la fin de la macro des informations personnalisées, comme dans l'extrait ci-dessous : | |||
<pre> | |||
asset={@ rhn.system.custom_info(asset) = 'Asset #' @} | |||
</pre> | |||
Cette valeur par défaut est surchargée par la valeur des systèmes la contenant. | |||
L'utilisation du Gestionnaire de configuration Red Hat Network (rhncfg-manager) ne traduira pas et ne changera pas des fichiers étant donné que cet outil ne reconnaît pas de système en particulier — rhncfg-manager ne dépend pas des paramètres système. Les fichiers binaires ne peuvent pas être interpolés. | |||
== Kickstart et Cobbler == | |||
=== Créer une distribution === | |||
Afin d'automatiser l'installation des systèmes Linux, on peut utiliser la méthode '''kickstart'''. | |||
==== Préparation ==== | |||
# Il nous faut tout d'abord récupérer les images ISO des distributions que Spacewalk propose. Ces images seront placés dans le répertoire <path>/var/satellite/isos</path>:<syntaxhighlight lang="bash">mkdir /var/satellite/isos && cd /var/satellite/isos</syntaxhighlight> | |||
#* CentOS 5 i386<syntaxhighlight lang="bash">wget http://centos.mirror.fr.planethoster.net/5/isos/i386/CentOS-5.10-i386-bin-DVD-1of2.iso</syntaxhighlight> | |||
#* CentOS 5 x86_64<syntaxhighlight lang="bash">wget http://centos.mirror.fr.planethoster.net/5/isos/x86_64/CentOS-5.10-x86_64-bin-DVD-1of2.iso</syntaxhighlight> | |||
#* CentOS 6 i386<syntaxhighlight lang="bash">wget http://centos.mirror.fr.planethoster.net/6/isos/i386/CentOS-6.5-i386-bin-DVD1.iso</syntaxhighlight> | |||
#* CentOS 6 x86_64<syntaxhighlight lang="bash">wget http://centos.mirror.fr.planethoster.net/6/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso</syntaxhighlight> | |||
# On créer les points de montage temporaires pour ces images<syntaxhighlight lang="bash">mkdir /mnt/centos-{5,6}-{i386,x86_64}</syntaxhighlight> | |||
# Ensuite on monte les images ISO sur nos points de montage tout neuf. | |||
#* CentOS 5 i386<syntaxhighlight lang="bash">mount -t iso9660 -o loop /var/satellite/isos/CentOS-5.10-i386-bin-DVD-1of2.iso /mnt/centos-5-i386</syntaxhighlight> | |||
#* CentOS 5 x86_64<syntaxhighlight lang="bash">mount -t iso9660 -o loop /var/satellite/isos/CentOS-5.10-x86_64-bin-DVD-1of2.iso /mnt/centos-5-x86_64</syntaxhighlight> | |||
#* CentOS 6 i386<syntaxhighlight lang="bash">mount -t iso9660 -o loop /var/satellite/isos/CentOS-6.5-i386-bin-DVD1.iso /mnt/centos-6-i386</syntaxhighlight> | |||
#* CentOS 6 x86_64<syntaxhighlight lang="bash">mount -t iso9660 -o loop /var/satellite/isos/CentOS-6.5-x86_64-bin-DVD1.iso /mnt/centos-6-x86_64</syntaxhighlight> | |||
# Puis nous devons initialiser une arborescence afin d'y copier le contenu de nos DVD CentOS<syntaxhighlight lang="bash">mkdir /var/distro-trees/centos{5.10,6.5}-{i386,x86_64}</syntaxhighlight> | |||
# Et enfin, on va copier les répertoires images, isolinux et repodata dans l'arborescence de chaque distribution | |||
#* CentOS 5 i386<syntaxhighlight lang="bash">cp -rp /mnt/centos-5-i386/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos5.10-i386/</syntaxhighlight> | |||
#* CentOS 5 x86_64<syntaxhighlight lang="bash">cp -rp /mnt/centos-5-x86_64/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos5.10-x86_64/</syntaxhighlight> | |||
#* CentOS 6 i386<syntaxhighlight lang="bash">cp -rp /mnt/centos-6-i386/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos6.5-i386/</syntaxhighlight> | |||
#* CentOS 6 x86_64<syntaxhighlight lang="bash">cp -rp /mnt/centos-6-x86_64/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos6.5-x86_64/</syntaxhighlight> | |||
==== Création d'une distribution dans Spacewalk ==== | |||
Dans Spacewalk | |||
systems -> kickstart -> distributions -> new distribution | |||
<div style="float:left;">{{Spacewalk/distribution|float=left|name=centos5.9-i386|path=/var/distro-trees/centos5.9-i386|basechannel=CentOS 5 Base - i386|installgen=Red Hat Enterprise Linux 5|kernelpost=|kernelopts=}}{{Spacewalk/distribution|float=left|name=centos5.9-x86_64|path=/var/distro-trees/centos5.9-x86_64|basechannel=CentOS 5 Base - x86_64|installgen=Red Hat Enterprise Linux 5|kernelpost=|kernelopts=}}{{Spacewalk/distribution|float=left|name=centos6.4-i386|path=/var/distro-trees/centos6.4-i386|basechannel=CentOS 6 Base - i386|installgen=Red Hat Enterprise Linux 6|kernelpost=|kernelopts=}}{{Spacewalk/distribution|float=left|name=centos6.4-x86_64|path=/var/distro-trees/centos6.4-x86_64|basechannel=CentOS 6 Base - x86_64|installgen=Red Hat Enterprise Linux 6|kernelpost=|kernelopts=}}</div><div style="clear:both;"></div> | |||
On créer ensuite un profil kickstart par canal et par distribution. | |||
Dans l'interface web de Spacewalk | |||
systems -> kickstart -> create new kickstart profile | |||
<div style="float:left">{{Spacewalk/kickstartprofile|float=left|name=centos-5-9-i386-minimal|basechannel=CentOS 5 Base - i386|kickstart=centos5.9-i386|virt=}}{{Spacewalk/kickstartprofile|float=left|name=centos-5-9-x86_64-minimal|basechannel=CentOS 5 Base - x86_64|kickstart=centos5.9-x86_64|virt=CentOS 5 Base - x86_64}}{{Spacewalk/kickstartprofile|float=left|name=centos-6-4-i386-minimal|basechannel=CentOS 6 Base - i386|kickstart=centos6.4-i386|virt=}}{{Spacewalk/kickstartprofile|float=left|name=centos-6-4-x86_64-minimal|basechannel=CentOS 6 Base - x86_64|kickstart=centos6.4-x86_64|virt=}}</div><div style="clear:both"></div> | |||
{{Admon/important|Ajout du dépôt Spacewalk-client|Pour chaque profile kickstart, il faut s'assurer que le dépôt Spacewalk-client est utilisé durant l'installation kickstart en utilisant l'interface web | |||
systems -> kickstart -> profiles -> <nom du profil> -> operating system | |||
Et on s'assure que le canal <nowiki><distribution>-spacewalkclient-<arch></nowiki> est bien coché.}} | |||
On peut aussi jeter un coup d'oeil aux autres onglets. Les points les plus intéressants sont: | |||
* '''Software''': Pour ajouter des paquets supplémentaires à l'installation de base.<br>On ajoute un paquet par ligne. Les groupes peuvent être ajoutés en préfixant le nom du groupe par le caractère '''@'''. Un paquet peut être exclut en le préfixant par un tiret ( le caractère - ) | |||
* '''Kickstart details / Kernel [[Installation/Kickstart/Options|options]] / Kernel options''': Ajouter des options noyaux en ajoutant une paire clé/valeur au champs correspondant. Enlever une option en préfixant la clé par ! et en spécifiant ~ comme valeur.<br>Par exemple "!text=~ resolution=800×600", dans le champs des options du noyau force à utiliser l'installateur graphique ( en supprimant l'option texte ) et force la résolution d'écran à 800x600. | |||
* '''Kickstart details / Advanced [[Installation/Kickstart/Options|options]]''': Autorise une configuration détaillée pour le système de démarrage kickstart.<br>Par exemple, pour ajouter un utilisateur durant l'installation, nommé ''admin'' avec le mot de passe ''adminpasswd'', on coche la case à cocher '''User''' et on spécifie "--name=admin --password=adminpasswd --plaintext" dans le champs prévu pour la valeur.<br>C'est aussi ici que l'on précise que l'on veut un clavier français (fr-latin9), la langue française (fr_FR) et désactiver selinux (--disabled) | |||
* '''Kickstart details / Variables''': L'usage des variables peut être utilisé en ajoutant une paire de clé/valeur et référer à un autre champs.<br>Par exemple, même si celui-ci n'est pas pertinent mise à part la démonstration d'utilisation, de définir le nom d'hôte à l'installation en ajoutant une paire de clé/valeur: hostname=myhost et on peut ensuite s'y référer dans les options avancées en ajoutant "--hostname $hostname" dans le champs consacré aux réseaux. | |||
{| class="wikitable" | | |||
! firewall | |||
| --disabled | |||
|- | |||
! keyboard | |||
| fr-latin9 | |||
|- | |||
! lang | |||
| fr_FR | |||
|- | |||
! selinux | |||
| --disabled | |||
|- | |||
! timezone | |||
| --utc Europe/Paris | |||
|- | |||
! partitionning | |||
| | |||
* une partition /boot de 200Mo | |||
* un partition de swap de 1Go agrandissable jusqu'à 2Go | |||
* un virtual group prennant tous l'espace disque restant | |||
** un volume logique pour la racine de 1Go agrandissable jusqu'à 5Go | |||
** un volume logique pour /var de 512Mo agrandissable jusqu'à 2Go | |||
<pre>part /boot --fstype=ext3 --size=200 | |||
part pv.01 --size=1024 --grow | |||
part swap --size=1024 --maxsize=2048 | |||
volgroup vg0 pv.01 | |||
logvol / --vgname=vg0 --name=lv0 --size=1024 --maxsize=5120 --grow | |||
logvol /var --vgname=vg0 --name=lv1 --size=512 --maxsize=2048 --grow</pre> | |||
|- | |||
! scripts | |||
| <pre>yum update -y</pre> | |||
|} | |||
==== Let’s cobbler ==== | |||
L'étape suivante consiste à créer une image au format ISO pour démarrer l'installation de n'importe laquelle de nos distributions. Dans quelques instants, nous allons pouvoir déployer une nouvelle machine. Si le réseau permet d'avoir un serveur DNS où le serveur Spacewalk peut être atteint par son nom d'hôte pleinement qualifié, on peut se passer de l'étape de modification des fichiers. En d'autre mots, les VMs nouvellement créées doivent pouvoir trouver le serveur Spacewalk en utilisant son nom d'hôte pleinement qualifié durant le démarrage ou l'installation. Si ce n'est pas le cas ou pour ne pas avoir à s'en soucier: | |||
# Modification des fichiers de configuration | |||
## Dans le fichier <path>/etc/rhn/rhn.conf</path>, modification du paramètre "cobbler.host" avec l'adresse IP du serveur Spacewalk. | |||
## Dans le fichier <path>/etc/cobbler/settings</path>, modification des paramètres "server" et "redhat_management_server" avec l'adresse IP du serveur Spacewalk. | |||
# Sur le serveur Spacewalk, on va installer les cobbler-loaders<syntaxhighlight lang="bash">yum install cobbler-loaders</syntaxhighlight> | |||
# On construit l'image ISO qui pourra servir à installer toutes nos distributions sur les systèmes ne supportant pas le boot PXE:<syntaxhighlight lang="bash">cobbler buildiso --iso=/var/lib/tftpboot/b2pinstall.iso</syntaxhighlight>L' image ISO sera téléchargeable via TFTP<syntaxhighlight lang="bash">echo 'get b2pinstall.iso' | tftp spacewalk.b2pweb.com</syntaxhighlight> | |||
On vérifie que cobbler a tous ce qu'il lui faut | |||
<syntaxhighlight lang="bash"> | |||
cobbler check | |||
The following are potential configuration items that you may want to fix: | |||
1 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'yum install cobbler-loaders' to download them, or, | |||
if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package | |||
installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include | |||
pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'yum install cobbler-loaders' command is the easiest way to resolve these requirements. | |||
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories | |||
3 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is | |||
still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one | |||
4 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them | |||
Restart cobblerd and then run 'cobbler sync' to apply changes. | |||
</syntaxhighlight> | |||
# Les boot-loaders ont été installés avec yum, donc le premier warning ne nous concerne pas. | |||
# Cobbler nous informe que nous n'avons pas installés le support pour les paquets Debian. | |||
# Cobbler nous informe également que le mot de passe root est celui par défaut (cobbler) | |||
# Et enfin, Cobbler nous informe que nous n'avons pas de redondance possible car des outils sont manquant. | |||
Donc rien de bloquant pour continuer | |||
On redémarre le service cobblerd | |||
<syntaxhighlight lang="bash"> | |||
service cobblerd restart | |||
</syntaxhighlight> | |||
On synchronise cobbler | |||
<syntaxhighlight lang="bash"> | |||
cobbler sync | |||
task started: 2013-09-02_112553_sync | |||
task started (id=Sync, time=Mon Sep 2 11:25:53 2013) | |||
running pre-sync triggers | |||
cleaning trees | |||
removing: /var/www/cobbler/images/Centos5-i386:1:SpacewalkDefaultOrganization | |||
removing: /var/www/cobbler/images/Centos6-x86_64:1:SpacewalkDefaultOrganization | |||
removing: /var/www/cobbler/images/Centos5-i386xen:1:SpacewalkDefaultOrganization | |||
removing: /var/www/cobbler/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization | |||
removing: /var/www/cobbler/images/Centos6-i386:1:SpacewalkDefaultOrganization | |||
removing: /var/www/cobbler/images/Centos5-x86_64:1:SpacewalkDefaultOrganization | |||
removing: -v/pxelinux.cfg/default | |||
removing: -v/grub/images | |||
removing: -v/grub/efidefault | |||
removing: -v/images/Centos5-i386:1:SpacewalkDefaultOrganization | |||
removing: -v/images/Centos6-x86_64:1:SpacewalkDefaultOrganization | |||
removing: -v/images/Centos5-i386xen:1:SpacewalkDefaultOrganization | |||
removing: -v/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization | |||
removing: -v/images/Centos6-i386:1:SpacewalkDefaultOrganization | |||
removing: -v/images/Centos5-x86_64:1:SpacewalkDefaultOrganization | |||
removing: -v/s390x/profile_list | |||
copying bootloaders | |||
copying distros | |||
copying files for distro: Centos5-x86_64xen:1:SpacewalkDefaultOrganization | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/vmlinuz -> -v/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/initrd.img -> -v/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/initrd.img | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/vmlinuz -> /var/www/cobbler/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/initrd.img -> /var/www/cobbler/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/initrd.img | |||
copying files for distro: Centos5-x86_64:1:SpacewalkDefaultOrganization | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/vmlinuz -> -v/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/initrd.img -> -v/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/initrd.img | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/initrd.img | |||
copying files for distro: Centos6-x86_64:1:SpacewalkDefaultOrganization | |||
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/vmlinuz -> -v/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/initrd.img -> -v/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/initrd.img | |||
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/initrd.img | |||
copying files for distro: Centos6-i386:1:SpacewalkDefaultOrganization | |||
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/vmlinuz -> -v/images/Centos6-i386:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/initrd.img -> -v/images/Centos6-i386:1:SpacewalkDefaultOrganization/initrd.img | |||
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos6-i386:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos6-i386:1:SpacewalkDefaultOrganization/initrd.img | |||
copying files for distro: Centos5-i386:1:SpacewalkDefaultOrganization | |||
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/vmlinuz -> -v/images/Centos5-i386:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/initrd.img -> -v/images/Centos5-i386:1:SpacewalkDefaultOrganization/initrd.img | |||
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos5-i386:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos5-i386:1:SpacewalkDefaultOrganization/initrd.img | |||
copying files for distro: Centos5-i386xen:1:SpacewalkDefaultOrganization | |||
trying hardlink /var/distro-trees/centos-5-i386/images/xen/vmlinuz -> -v/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-i386/images/xen/initrd.img -> -v/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/initrd.img | |||
trying hardlink /var/distro-trees/centos-5-i386/images/xen/vmlinuz -> /var/www/cobbler/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/vmlinuz | |||
trying hardlink /var/distro-trees/centos-5-i386/images/xen/initrd.img -> /var/www/cobbler/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/initrd.img | |||
copying images | |||
generating PXE configuration files | |||
cleaning link caches | |||
generating PXE menu structure | |||
running post-sync triggers | |||
running python triggers from /var/lib/cobbler/triggers/sync/post/* | |||
running python trigger cobbler.modules.sync_post_restart_services | |||
running shell triggers from /var/lib/cobbler/triggers/sync/post/* | |||
running python triggers from /var/lib/cobbler/triggers/change/* | |||
running python trigger cobbler.modules.scm_track | |||
running shell triggers from /var/lib/cobbler/triggers/change/* | |||
*** TASK COMPLETE *** | |||
</syntaxhighlight> | |||
{{Admon/bug|Fichiers pxelinux.0 et/ou menu.c32 non servis|La commande <code>cobbler sync</code> créé un lien symbolique depuis le répertoire <path>/usr/share/syslinux</path> et tftpd ne peut suivre ce lien car il est chrooté dans le répertoire <path>/var/lib/tftpboot</path>. Il faut donc supprimer les deux liens et copier les cibles dans celui-ci.<syntaxhighlight lang="bash"> | |||
rm -f /var/lib/tftpboot/pxelinux.0 /var/lib/tftpboot/menu.c32 | |||
cp -p /usr/share/syslinux/pxelinux.0 /usr/share/syslinux/menu.c32 /var/lib/tftpboot/ | |||
</syntaxhighlight>}} | |||
On vérifie maintenant que toutes nos distributions soient présentes | |||
<syntaxhighlight lang="bash"> | |||
cobbler distro list | |||
centos59-i386:1:SpacewalkDefaultOrganization | |||
centos59-i386xen:1:SpacewalkDefaultOrganization | |||
centos59-x86_64:1:SpacewalkDefaultOrganization | |||
centos59-x86_64xen:1:SpacewalkDefaultOrganization | |||
centos64-i386:1:SpacewalkDefaultOrganization | |||
centos64-x86_64:1:SpacewalkDefaultOrganization | |||
</syntaxhighlight> | |||
Pareil pour nos profils | |||
<syntaxhighlight lang="bash"> | |||
cobbler profile list | |||
centos-5-9-i386-minimal:1:SpacewalkDefaultOrganization | |||
centos-5-9-x86_64-minimal:1:SpacewalkDefaultOrganization | |||
centos-6-4-i386-minimal:1:SpacewalkDefaultOrganization | |||
centos-6-4-x86_64-minimal:1:SpacewalkDefaultOrganization | |||
</syntaxhighlight> | |||
==== Let’s kickstart ==== | |||
On peut maintenant démarrer l'installation d'une de nos distributions en bootant soit sur l'image ISO précédemment créée: ''b2pinstall.iso'', soit sur un boot ''PXE'' et choisir la distribution à installer. | |||
[[Fichier:SpacewalkCobblerBoot.png|cadre|centré|Menu de boot]] | |||
Après avoir sélectionner la distribution, l'installation commence. Si tout va bien, celle-ci se fera de manière complètement automatisée, sans aucune intervention humaine. | |||
{{Admon/warning|Message "Error downloading kickstart file"|Si le message d'erreur "Error downloading kickstart file" est affiché, c'est probablement un problème DNS.}} | |||
{{Admon/important|Système enregistré|Il faut vérifier que le système s'enregistre sur Spacewalk et doit apparaitre dans l'onglet système de l'interface web de Spacewalk. Dans le cas contraire, il faut l'[[Deploy/SpaceWalk/Client#sur_le_client|enregistrer à la main]].}} | |||
On peut maintenant [[Deploy/SpaceWalk/Client#sur_le_client|configurer cet hôte comme client spacewalk]] | |||
La configuration de ce nouvel hôte peut être fait par deux moyens: | |||
* Déploiement de nouveaux paquets sur le client | |||
* Déploiement de fichiers de configuration sur le client | |||
==== Let's net-install ==== | |||
On a donc jusqu'à présent deux méthodes d'installation: | |||
* boot sur un iso | |||
* boot pxe | |||
On va maintenant rajouter une troisième méthode d'installation: l'installation par le réseau. | |||
{{Admon/note|Copie de fichier|Le fichier à copier dans l'arbre cobbler est <path>.treeinfo</path>, mais celui-ci a déjà été copié précédemment lors de la [[#Pr.C3.A9paration|Préparation]]}} | |||
On ajoute un script '''post cobbler sync''': <path>/var/lib/cobbler/triggers/sync/post/treeinfo.sh</path>. On n'oublie pas de le rendre exécutable. | |||
<syntaxhighlight lang="bash"> | |||
#!/bin/bash | |||
cp /var/distro-trees/centos5.10-i386/.treeinfo /var/www/cobbler/images/centos5-i386\:1\:SpacewalkDefaultOrganization/ | |||
cp /var/distro-trees/centos5.10-x86_64/.treeinfo /var/www/cobbler/images/centos5-x86_64\:1\:SpacewalkDefaultOrganization/ | |||
cp /var/distro-trees/centos6.5-i386/.treeinfo /var/www/cobbler/images/centos6-i386\:1\:SpacewalkDefaultOrganization/ | |||
cp /var/distro-trees/centos6.5-x86_64/.treeinfo /var/www/cobbler/images/centos6-x86_64\:1\:SpacewalkDefaultOrganization/ | |||
sed -i -e '/kernel/ s/=.*/= vmlinuz/' -e '/initrd/ s/=.*/= initrd.img/' -e '/mainimage/ s/=.*/= install.img/' /var/www/cobbler/images/centos*-*\:1\:SpacewalkDefaultOrganization/.treeinfo | |||
</syntaxhighlight> | |||
On lance une synchro Cobbler | |||
<pre> | |||
cobbler sync | |||
</pre> | |||
Et c'est tout. | |||
L'installation par le réseau devient possible en spécifiant l'URL Spacewalk correspondante à la distribution souhaitée. | |||
Exemple, pour une CentOS 6 x86_64, il faudra spécifier l'URL suivante: <pre>http://spacewalk.b2pweb.com/cobbler/images/centos6-x86_64:1:SpacewalkDefaultOrganization/</pre> | |||
== OpenSCAP == | |||
* Installation du daemon <app>oscap-scan</app><syntaxhighlight lang="bash">yum install oscap-scan</syntaxhighlight> | |||
* On configure le démarrage automatique<syntaxhighlight lang="bash">chkconfig oscap-scan on</syntaxhighlight> | |||
* On démarre le service osad<syntaxhighlight lang="bash">service oscap-scan start</syntaxhighlight> | |||
Dernière version du 14 janvier 2014 à 15:13
Groupes
Clés d'activation
Il est conseillé de ne pas utiliser la fonction de génération de nom automatique, mais de spécifier un nom pertinent: ex: centos-5-channel. Cela rend l'installation plus facile et une plus grande homogénéité au système. D'un autre côté, afin de ne pas donner un accès aux channels à tous le monde, laisser le nom se générer automatiquement de manière aléatoire est le meilleur moyen d'empêcher les connexions.
Enregistrement de Clients
Instructions pour enregistrer des clients avec Spacewalk 20
Prérequis
Sur le serveur spacewalk
- Avoir un channel de base Spacewalk (Channels > Manage Software Channels > Create New Channel)
- Avoir une clé d'activation pour ce channel.
sur le client
- Mettre à jour du système
yum update
Inscription d'un système
Fedora
- Installer le dépôt RPM Spacewalk-client
- Fedora 18
rpm -Uvh http://yum.spacewalkproject.org/2.0-client/Fedora/18/x86_64/spacewalk-client-repo-2.0-3.fc18.noarch.rpm
- Fedora 19
rpm -Uvh http://yum.spacewalkproject.org/2.0-client/Fedora/19/x86_64/spacewalk-client-repo-2.0-3.fc19.noarch.rpm
- Fedora 18
- Installer les paquets sur le client
yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin rhncfg-actions
- Enregistrer le client sur Spacewalk en utilisant la clé précedemment créée
rhnreg_ks --serverUrl=http://YourSpacewalk.example.org/XMLRPC --activationkey=<key-with-fedora-custom-channel>
rhnreg_ks --serverUrl=http://spacewalk.b2pweb.org/XMLRPC --activationkey=1-centos-6-x86_64-key
RHEL 5 and 6, Scientific Linux 6, CentOS 5 or 6
- Installer le dépôt RPM Spacewalk-client
- RHEL 5 / CentOS 5
rpm -Uvh http://yum.spacewalkproject.org/2.0-client/RHEL/5/x86_64/spacewalk-client-repo-2.0-3.el5.noarch.rpm
- RHEL 6 / SL 6 / CentOS 6
rpm -Uvh http://yum.spacewalkproject.org/2.0-client/RHEL/6/x86_64/spacewalk-client-repo-2.0-3.el6.noarch.rpm
- RHEL 5 / CentOS 5
- Les outils clients de Spacewalk peuvent avoir des dépendances externes au dépôt de base. Celles-ci peuvent être trouvées dans le dépôt EPEL. comme pour le serveur Spacewalk, on va installer ce dépôt.
- EPEL 5
BASEARCH=$(uname -i)
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/$BASEARCH/epel-release-5-4.noarch.rpm - EPEL 6
BASEARCH=$(uname -i)
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/$BASEARCH/epel-release-6-8.noarch.rpm
- EPEL 5
- Installer les paquets sur le client
yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin
- Enregistrer le client sur Spacewalk en utilisant la clé précedemment créée
rhnreg_ks --serverUrl=http://spacewalk.b2pweb.com/XMLRPC --activationkey=<key-with-rhel-custom-channel>
OSAD
<app>osa-dispatcher</app> vérifie périodiquement que les clients soient toujours accessibles. Il envoie un message par jabberd aux instances <app>osad</app> fonctionnant sur les clients dont il a besoin de réponses. Les instances <app>osad</app> réponde à la commande <app>ping</app> via le serveur <app>jabberd</app>. <app>osa-dispatcher</app> reçoit la réponse, et marque le client comme en ligne. Si<app> osa-dispatcher</app> ne reçoit pas de réponse d'une instance <app>osad</app> dans un certain laps de temps, il est marqué comme déconnecté.
Le démon osa-dispatcher interroge aussi périodiquement la base de données pour voir si des clients ont des actions non-exécutées. Et s'il y en a, il envoie un message par <app>jabberd</app> au daemon <app>osad</app> du client, en lui demandant d'exécuter <app>rhn_check</app>. <app>rhn_check</app> prend alors en charge la requête réelle.
Installation de osa-dispatcher sur le serveur
On install le daemon osa-dispatcher sur le serveur Spacewalk, on configure son démarrage automatique
yum install osa-dispatcher
chkconfig osa-dispatcher on
La configuration se fait dans le fichier <path> /etc/rhn/rhn.conf file</path>, dans la section OSA Configuration.
On démarre le démon.
service osa-dispatcher start
Installation de osad sur le client
La configuration se fait dans les fichiers <path>/etc/sysconfig/rhn/osad.conf</path> et <path>/etc/sysconfig/rhn/up2date</path>
- Installation du daemon <app>osad</app>
yum install osad
- On modifie la variable osa_ssl_cert dans le fichier de configuration du daemon: <path>/etc/sysconfig/rhn/osad.conf</path>
osa_ssl_cert = /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
- On télécharge le certificat du serveur
cd /usr/share/rhn/ ; wget http://spacewalk.b2pweb.com/pub/RHN-ORG-TRUSTED-SSL-CERT
- On configure le démarrage automatique
chkconfig osad on
- On démarre le service osad
service osad start
Déploiement de fichiers/dossiers
Pré-requis
- Les systèmes concernés doivent déjà être enregistrer dans Spacewalk
- Le démon <app>osad</app> doit être configuré et actif sur l'hôte.
Modification sur chaque client
Il faut autoriser le déploiement. On peut visualiser les droits en vigueur ou les modifier avec la commande <app>rhn-actions-control</app>. Celle-ci fait partie du paquet <package>rhncfg-actions</package>.
On visualise les droits en vigueur, comme attendu, aucun droit n'existe
rhn-actions-control --report deploy is disabled diff is disabled upload is disabled mtime_upload is disabled run is disabled
On modifie maintenant ces droits
rhn-actions-control --enable-all
Et on peut vérifier que les nouveaux droits ont été appliqués
rhn-actions-control --report deploy is enabled diff is enabled upload is enabled mtime_upload is enabled run is enabled
Modification sur le serveur
- On commence par sélectionner les systèmes concernés (ils doivent déjà être enregistrer dans Spacewalk) en cliquant sur l'onglet System.
- Puis on sélectionne l'onglet Configuration
Systems / Target systems
Et on applique les changements proposés.
- On créer un canal pour notre configuration:
- On peut maintenant ajouter un fichier, un dossier ou un lien symbolique
Configuration Files / Centrally Managed Files
- On applique les changements sur les clients
Configuration Files / Deploy File
Déploiement manuel de nouveaux paquets sur le client
Pour installer un nouveau paquet depuis le dépôt sur un nouveau serveur:
- On se connecte à Spacewalk et on va à la section:
system -> "your system" -> Software -> Packages -> Install
- On choisit le paquet désiré dans la liste (par exemple xauth) et on clique sur Installer les paquets selectionnés
- On choisit l'option Exécuter dès que possible dans la page de confirmation et on clique sur Confirmer
- On se connecte sur le client et on liste les canaux auquel il est abonné en exécutant:
rhn-channel --list
- On vérifie que le canal où a été faite la requête d'installation est bien listé. On vérifie ensuite que le paquet n'est pas déjà installé sur le client:
rpm -qa | grep -i xauth
- Si le paquet n'est pas encore installé, on applique les modifications en attente (installation de paquet) en exécutant:
rhn_check
The server will check for any pending actions (in this case installing the selected package) and execute (install the package) them. Now, check again to verify that the (xauth) package was installed by executing:
# rpm -qa | grep -i xauth xorg-x11-xauth-1.0.2-7.1.el6.x86_64
Déploiement manuel de fichiers de configuration sur le client
La gestion de fichiers de configuration d'un système linux par Spacewalk peut se faire grâce aux canaux.
- On créé un nouveau canal de configuration en allant à la section:
Configuration -> Configuration channels -> create new config channel
- On renseigne les informations d'identification du canal
- Name: My Config Channel
- Label: myConfigChannel
- Description: My Config Channel
- On implémente le canal avec des fichiers ou des dossiers en navigant à la page
Select the configuration channel -> add files -> create file
- On peut maintenant créé des fichiers, des dossiers et des liens symboliques, spécifier le propriétaire et les droits d'accès. Dans le cas d'un fichier, on peut ajouter le contenu en ligne via l'éditeur en ligne. On clique sur Create Configuration File pour finaliser l'action.
Pour déployer ce fichier aux systèmes enregistrés, ces systèmes doivent d'abord souscrire au canal de configuration.
- Dans Spacewalk, on navigue jusqu'à la page
systems -> "your system" -> configuration -> manage configuration channels -> subscribe to channels
- On vérifie que le client est bien inscrit à notre nouveau canal de configuration en exécutant la commande
rhncfg-client channels
- Si le canal apparait dans la sortie de la commande précédente, on peut acquérir les fichiers (ou répertoires)
rhncfg-client get
- On peut vérifier la différence entre le système et le canal de configuration en tapant
rhncfg-client diff
Exemple de commandes
rhncfg-client channels
rhncfg-client channels Using server name spacewalk Config channels: Label Name ----- ---- myConfigChannel My Config Channel
rhncfg-client get
rhncfg-client get Using server name spacewalk Deploying /opt/oracle Deploying /opt/oracle/middleware Deploying /opt/oracle/middleware/jrockit
Inclure des macros dans vos fichiers de configuration
Dans la gestion des fichiers traditionnelle, vous devriez télécharger et distribuer chaque fichier séparément, même si la différence est minimale et qu'il existe un nombre de variations de l'ordre des centaines ou milliers. RHN simplifie la situation en permettant l'inclusion de macros ou variables, au sein des fichiers de configuration qu'il gère pour des systèmes possédant des droits d'accès d'approvisionnement. En plus des variables pour les informations de systèmes personnalisés, les macros standard suivantes sont prises en charge :
- rhn.system.sid
- rhn.system.profile_name
- rhn.system.description
- rhn.system.hostname
- rhn.system.ip_address
- rhn.system.custom_info(key_name)
- rhn.system.net_interface.ip_address(eth_device)
- rhn.system.net_interface.netmask(eth_device)
- rhn.system.net_interface.broadcast(eth_device)
- rhn.system.net_interface.hardware_address(eth_device)
- rhn.system.net_interface.driver_module(eth_device)
Pour utiliser cette fonctionnalité puissante, vous pouvez soit télécharger soit créer un fichier de configuration via la page Configuration des détails pour les canaux. Ensuite, ouvrez sa page intitulée Détails du fichier de configuration et inclure les macros supportées de votre choix. Assurez-vous que les délimiteurs utilisés pour modifier vos variables correspondent à ceux définis dans les champs Délimiteur de début de macro et Délimiteur de fin de macro et qu'ils n'entrent pas en conflit avec d'autres caractères dans le fichier. Les délimiteurs doivent avoir deux caractères et ne peuvent pas contenir de symbole de pourcentage (%). Vous pouvez par exemple avoir un fichier applicable à tous vos serveurs et qui diffère seulement au niveau de l'adresse IP et du nom d'hôte. Plutôt que de gérer un fichier de configuration séparé pour chaque serveur, vous pouvez créer un seul fichier comme server.conf, qui inclut les macros concernant l'adresse IP et le nom d'hôte, comme dans l'extrait ci-dessous :
hostname={| rhn.system.hostname |}
ip_address={| rhn.system.net_interface.ip_address(eth0) |}
Après la livraison du fichier sur les systèmes individuels, que ce soit par le biais d'une action programmée dans le site web de RHN ou en ligne de commande avec le Client de configuration Red Hat Network (rhncfg-client), les variables seront substituées par le nom d'hôte et l'adresse IP du système, comme elles sont enregistrées dans le profil de système de RHN. Dans le fichier de configuration ci-dessus, par exemple, la version déployée ressemble à :
hostname=test.example.domain.com ip_address=177.18.54.7
Pour saisir les informations personnalisées du système, insérez l'étiquette clé dans la macro des informations personnalisées (rhn.system.custom_info). Par exemple, si vous avez développé un "asset" avec une étiquette clé, vous pouvez l'ajouter à la macro des informations personnalisées dans un fichier de configuration pour que les valeurs soient substituées sur tout système contenant ce dernier. La macro ressemblerait à l'extrait suivant :
asset={@ rhn.system.custom_info(asset) @}
Après le déploiement du fichier sur un système contenant une valeur pour cette clé, la macro est traduite, produisant une chaîne comme dans l'extrait ci-dessous :
asset=Example#456
Pour inclure une valeur par défaut, par exemple si une valeur est nécessaire pour empêcher des erreurs, vous pouvez l'ajouter à la fin de la macro des informations personnalisées, comme dans l'extrait ci-dessous :
asset={@ rhn.system.custom_info(asset) = 'Asset #' @}
Cette valeur par défaut est surchargée par la valeur des systèmes la contenant. L'utilisation du Gestionnaire de configuration Red Hat Network (rhncfg-manager) ne traduira pas et ne changera pas des fichiers étant donné que cet outil ne reconnaît pas de système en particulier — rhncfg-manager ne dépend pas des paramètres système. Les fichiers binaires ne peuvent pas être interpolés.
Kickstart et Cobbler
Créer une distribution
Afin d'automatiser l'installation des systèmes Linux, on peut utiliser la méthode kickstart.
Préparation
- Il nous faut tout d'abord récupérer les images ISO des distributions que Spacewalk propose. Ces images seront placés dans le répertoire <path>/var/satellite/isos</path>:
mkdir /var/satellite/isos && cd /var/satellite/isos
- CentOS 5 i386
wget http://centos.mirror.fr.planethoster.net/5/isos/i386/CentOS-5.10-i386-bin-DVD-1of2.iso
- CentOS 5 x86_64
wget http://centos.mirror.fr.planethoster.net/5/isos/x86_64/CentOS-5.10-x86_64-bin-DVD-1of2.iso
- CentOS 6 i386
wget http://centos.mirror.fr.planethoster.net/6/isos/i386/CentOS-6.5-i386-bin-DVD1.iso
- CentOS 6 x86_64
wget http://centos.mirror.fr.planethoster.net/6/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso
- CentOS 5 i386
- On créer les points de montage temporaires pour ces images
mkdir /mnt/centos-{5,6}-{i386,x86_64}
- Ensuite on monte les images ISO sur nos points de montage tout neuf.
- CentOS 5 i386
mount -t iso9660 -o loop /var/satellite/isos/CentOS-5.10-i386-bin-DVD-1of2.iso /mnt/centos-5-i386
- CentOS 5 x86_64
mount -t iso9660 -o loop /var/satellite/isos/CentOS-5.10-x86_64-bin-DVD-1of2.iso /mnt/centos-5-x86_64
- CentOS 6 i386
mount -t iso9660 -o loop /var/satellite/isos/CentOS-6.5-i386-bin-DVD1.iso /mnt/centos-6-i386
- CentOS 6 x86_64
mount -t iso9660 -o loop /var/satellite/isos/CentOS-6.5-x86_64-bin-DVD1.iso /mnt/centos-6-x86_64
- CentOS 5 i386
- Puis nous devons initialiser une arborescence afin d'y copier le contenu de nos DVD CentOS
mkdir /var/distro-trees/centos{5.10,6.5}-{i386,x86_64}
- Et enfin, on va copier les répertoires images, isolinux et repodata dans l'arborescence de chaque distribution
- CentOS 5 i386
cp -rp /mnt/centos-5-i386/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos5.10-i386/
- CentOS 5 x86_64
cp -rp /mnt/centos-5-x86_64/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos5.10-x86_64/
- CentOS 6 i386
cp -rp /mnt/centos-6-i386/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos6.5-i386/
- CentOS 6 x86_64
cp -rp /mnt/centos-6-x86_64/{images,isolinux,repodata,.treeinfo} /var/distro-trees/centos6.5-x86_64/
- CentOS 5 i386
Création d'une distribution dans Spacewalk
Dans Spacewalk
systems -> kickstart -> distributions -> new distribution
On créer ensuite un profil kickstart par canal et par distribution.
Dans l'interface web de Spacewalk
systems -> kickstart -> create new kickstart profile
On peut aussi jeter un coup d'oeil aux autres onglets. Les points les plus intéressants sont:
- Software: Pour ajouter des paquets supplémentaires à l'installation de base.
On ajoute un paquet par ligne. Les groupes peuvent être ajoutés en préfixant le nom du groupe par le caractère @. Un paquet peut être exclut en le préfixant par un tiret ( le caractère - ) - Kickstart details / Kernel options / Kernel options: Ajouter des options noyaux en ajoutant une paire clé/valeur au champs correspondant. Enlever une option en préfixant la clé par ! et en spécifiant ~ comme valeur.
Par exemple "!text=~ resolution=800×600", dans le champs des options du noyau force à utiliser l'installateur graphique ( en supprimant l'option texte ) et force la résolution d'écran à 800x600. - Kickstart details / Advanced options: Autorise une configuration détaillée pour le système de démarrage kickstart.
Par exemple, pour ajouter un utilisateur durant l'installation, nommé admin avec le mot de passe adminpasswd, on coche la case à cocher User et on spécifie "--name=admin --password=adminpasswd --plaintext" dans le champs prévu pour la valeur.
C'est aussi ici que l'on précise que l'on veut un clavier français (fr-latin9), la langue française (fr_FR) et désactiver selinux (--disabled) - Kickstart details / Variables: L'usage des variables peut être utilisé en ajoutant une paire de clé/valeur et référer à un autre champs.
Par exemple, même si celui-ci n'est pas pertinent mise à part la démonstration d'utilisation, de définir le nom d'hôte à l'installation en ajoutant une paire de clé/valeur: hostname=myhost et on peut ensuite s'y référer dans les options avancées en ajoutant "--hostname $hostname" dans le champs consacré aux réseaux.
| firewall | --disabled |
|---|---|
| keyboard | fr-latin9 |
| lang | fr_FR |
| selinux | --disabled |
| timezone | --utc Europe/Paris |
| partitionning |
part /boot --fstype=ext3 --size=200 part pv.01 --size=1024 --grow part swap --size=1024 --maxsize=2048 volgroup vg0 pv.01 logvol / --vgname=vg0 --name=lv0 --size=1024 --maxsize=5120 --grow logvol /var --vgname=vg0 --name=lv1 --size=512 --maxsize=2048 --grow |
| scripts | yum update -y |
Let’s cobbler
L'étape suivante consiste à créer une image au format ISO pour démarrer l'installation de n'importe laquelle de nos distributions. Dans quelques instants, nous allons pouvoir déployer une nouvelle machine. Si le réseau permet d'avoir un serveur DNS où le serveur Spacewalk peut être atteint par son nom d'hôte pleinement qualifié, on peut se passer de l'étape de modification des fichiers. En d'autre mots, les VMs nouvellement créées doivent pouvoir trouver le serveur Spacewalk en utilisant son nom d'hôte pleinement qualifié durant le démarrage ou l'installation. Si ce n'est pas le cas ou pour ne pas avoir à s'en soucier:
- Modification des fichiers de configuration
- Dans le fichier <path>/etc/rhn/rhn.conf</path>, modification du paramètre "cobbler.host" avec l'adresse IP du serveur Spacewalk.
- Dans le fichier <path>/etc/cobbler/settings</path>, modification des paramètres "server" et "redhat_management_server" avec l'adresse IP du serveur Spacewalk.
- Sur le serveur Spacewalk, on va installer les cobbler-loaders
yum install cobbler-loaders
- On construit l'image ISO qui pourra servir à installer toutes nos distributions sur les systèmes ne supportant pas le boot PXE:L' image ISO sera téléchargeable via TFTP
cobbler buildiso --iso=/var/lib/tftpboot/b2pinstall.isoecho 'get b2pinstall.iso' | tftp spacewalk.b2pweb.com
On vérifie que cobbler a tous ce qu'il lui faut
cobbler check
The following are potential configuration items that you may want to fix:
1 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'yum install cobbler-loaders' to download them, or,
if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package
installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include
pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'yum install cobbler-loaders' command is the easiest way to resolve these requirements.
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
3 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is
still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
4 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
- Les boot-loaders ont été installés avec yum, donc le premier warning ne nous concerne pas.
- Cobbler nous informe que nous n'avons pas installés le support pour les paquets Debian.
- Cobbler nous informe également que le mot de passe root est celui par défaut (cobbler)
- Et enfin, Cobbler nous informe que nous n'avons pas de redondance possible car des outils sont manquant.
Donc rien de bloquant pour continuer
On redémarre le service cobblerd
service cobblerd restart
On synchronise cobbler
cobbler sync
task started: 2013-09-02_112553_sync
task started (id=Sync, time=Mon Sep 2 11:25:53 2013)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/Centos5-i386:1:SpacewalkDefaultOrganization
removing: /var/www/cobbler/images/Centos6-x86_64:1:SpacewalkDefaultOrganization
removing: /var/www/cobbler/images/Centos5-i386xen:1:SpacewalkDefaultOrganization
removing: /var/www/cobbler/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization
removing: /var/www/cobbler/images/Centos6-i386:1:SpacewalkDefaultOrganization
removing: /var/www/cobbler/images/Centos5-x86_64:1:SpacewalkDefaultOrganization
removing: -v/pxelinux.cfg/default
removing: -v/grub/images
removing: -v/grub/efidefault
removing: -v/images/Centos5-i386:1:SpacewalkDefaultOrganization
removing: -v/images/Centos6-x86_64:1:SpacewalkDefaultOrganization
removing: -v/images/Centos5-i386xen:1:SpacewalkDefaultOrganization
removing: -v/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization
removing: -v/images/Centos6-i386:1:SpacewalkDefaultOrganization
removing: -v/images/Centos5-x86_64:1:SpacewalkDefaultOrganization
removing: -v/s390x/profile_list
copying bootloaders
copying distros
copying files for distro: Centos5-x86_64xen:1:SpacewalkDefaultOrganization
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/vmlinuz -> -v/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/initrd.img -> -v/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/initrd.img
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/vmlinuz -> /var/www/cobbler/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-x86_64/images/xen/initrd.img -> /var/www/cobbler/images/Centos5-x86_64xen:1:SpacewalkDefaultOrganization/initrd.img
copying files for distro: Centos5-x86_64:1:SpacewalkDefaultOrganization
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/vmlinuz -> -v/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/initrd.img -> -v/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/initrd.img
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos5-x86_64:1:SpacewalkDefaultOrganization/initrd.img
copying files for distro: Centos6-x86_64:1:SpacewalkDefaultOrganization
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/vmlinuz -> -v/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/initrd.img -> -v/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/initrd.img
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-6-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos6-x86_64:1:SpacewalkDefaultOrganization/initrd.img
copying files for distro: Centos6-i386:1:SpacewalkDefaultOrganization
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/vmlinuz -> -v/images/Centos6-i386:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/initrd.img -> -v/images/Centos6-i386:1:SpacewalkDefaultOrganization/initrd.img
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos6-i386:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-6-i386/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos6-i386:1:SpacewalkDefaultOrganization/initrd.img
copying files for distro: Centos5-i386:1:SpacewalkDefaultOrganization
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/vmlinuz -> -v/images/Centos5-i386:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/initrd.img -> -v/images/Centos5-i386:1:SpacewalkDefaultOrganization/initrd.img
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/vmlinuz -> /var/www/cobbler/images/Centos5-i386:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-i386/images/pxeboot/initrd.img -> /var/www/cobbler/images/Centos5-i386:1:SpacewalkDefaultOrganization/initrd.img
copying files for distro: Centos5-i386xen:1:SpacewalkDefaultOrganization
trying hardlink /var/distro-trees/centos-5-i386/images/xen/vmlinuz -> -v/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-i386/images/xen/initrd.img -> -v/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/initrd.img
trying hardlink /var/distro-trees/centos-5-i386/images/xen/vmlinuz -> /var/www/cobbler/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/vmlinuz
trying hardlink /var/distro-trees/centos-5-i386/images/xen/initrd.img -> /var/www/cobbler/images/Centos5-i386xen:1:SpacewalkDefaultOrganization/initrd.img
copying images
generating PXE configuration files
cleaning link caches
generating PXE menu structure
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
On vérifie maintenant que toutes nos distributions soient présentes
cobbler distro list
centos59-i386:1:SpacewalkDefaultOrganization
centos59-i386xen:1:SpacewalkDefaultOrganization
centos59-x86_64:1:SpacewalkDefaultOrganization
centos59-x86_64xen:1:SpacewalkDefaultOrganization
centos64-i386:1:SpacewalkDefaultOrganization
centos64-x86_64:1:SpacewalkDefaultOrganization
Pareil pour nos profils
cobbler profile list
centos-5-9-i386-minimal:1:SpacewalkDefaultOrganization
centos-5-9-x86_64-minimal:1:SpacewalkDefaultOrganization
centos-6-4-i386-minimal:1:SpacewalkDefaultOrganization
centos-6-4-x86_64-minimal:1:SpacewalkDefaultOrganization
Let’s kickstart
On peut maintenant démarrer l'installation d'une de nos distributions en bootant soit sur l'image ISO précédemment créée: b2pinstall.iso, soit sur un boot PXE et choisir la distribution à installer.
Après avoir sélectionner la distribution, l'installation commence. Si tout va bien, celle-ci se fera de manière complètement automatisée, sans aucune intervention humaine.
On peut maintenant configurer cet hôte comme client spacewalk
La configuration de ce nouvel hôte peut être fait par deux moyens:
- Déploiement de nouveaux paquets sur le client
- Déploiement de fichiers de configuration sur le client
Let's net-install
On a donc jusqu'à présent deux méthodes d'installation:
- boot sur un iso
- boot pxe
On va maintenant rajouter une troisième méthode d'installation: l'installation par le réseau.
On ajoute un script post cobbler sync: <path>/var/lib/cobbler/triggers/sync/post/treeinfo.sh</path>. On n'oublie pas de le rendre exécutable.
#!/bin/bash
cp /var/distro-trees/centos5.10-i386/.treeinfo /var/www/cobbler/images/centos5-i386\:1\:SpacewalkDefaultOrganization/
cp /var/distro-trees/centos5.10-x86_64/.treeinfo /var/www/cobbler/images/centos5-x86_64\:1\:SpacewalkDefaultOrganization/
cp /var/distro-trees/centos6.5-i386/.treeinfo /var/www/cobbler/images/centos6-i386\:1\:SpacewalkDefaultOrganization/
cp /var/distro-trees/centos6.5-x86_64/.treeinfo /var/www/cobbler/images/centos6-x86_64\:1\:SpacewalkDefaultOrganization/
sed -i -e '/kernel/ s/=.*/= vmlinuz/' -e '/initrd/ s/=.*/= initrd.img/' -e '/mainimage/ s/=.*/= install.img/' /var/www/cobbler/images/centos*-*\:1\:SpacewalkDefaultOrganization/.treeinfo
On lance une synchro Cobbler
cobbler sync
Et c'est tout.
L'installation par le réseau devient possible en spécifiant l'URL Spacewalk correspondante à la distribution souhaitée.
Exemple, pour une CentOS 6 x86_64, il faudra spécifier l'URL suivante:
http://spacewalk.b2pweb.com/cobbler/images/centos6-x86_64:1:SpacewalkDefaultOrganization/
OpenSCAP
- Installation du daemon <app>oscap-scan</app>
yum install oscap-scan
- On configure le démarrage automatique
chkconfig oscap-scan on
- On démarre le service osad
service oscap-scan start

