Introduction
Ce texte explique comment installer cobbler sur un système CentOS 6.6.
La solution est testée sur la plate forme vituelle :
- hôte CentOS 7
- solution de virtualisation: libvirt
Préparation de l'hôte
Configuration NFS
mkdir /home/cobbler
printf -- "/home/cobbler 192.168.122.2(rw,no_root_squash)" >> /etc/exports
printf -- "/home/depots 192.168.122.2(ro,no_root_squash)" >> /etc/exports
exportfs -r
Installation du serveur
- Création d'une machine virtuelle standard : CentOS 6
- Réseau : NAT le temps de l'installation
- Installation du système: minimal
Fixer une @ip pour le serveur
virsh dumpxml cobbler | grep 'mac address'
virsh edit default
<dhcp>
...
<host mac='52:54:00:d6:ea:e3' name='god' ip='192.168.122.2' />
</dhcp>
virsh net-destroy default
virsh net-start default
Configuration du serveur
Configuration du réseau : DHCP
Installation de dépot EPEL
yum install epel-release facter
Desactivation de selinux
setenforce permissive
sed -i 's/^SELINUX=.*$/SELINUX=permissive/' /etc/sysconfig/selinux
NOTE: BAD IDEA but the article was written in 2014. What's up now ?
Installation de paquets de confort
yum install vim man task
task config locale fr-FR
Installation de cobbler
Installation
Installation de cobbler serveur + web
yum install -y cobbler cobbler-web git
Configuration pour un démarrage au boot
chkconfig cobbler on
chkconfig httpd on
service cobbler start
service httpd start
Installation des paquets pour le pxe
yum install syslinux.x86_64
Configuration
Serveur kickstart
sed -i "s/^server:.*/server: $(facter ipaddress)/" /etc/cobblers/settings
Serveur tftp
sed -i "s/^next_server:.*/next_server: $(facter ipaddress)/" /etc/cobblers/settings
utilisation de git
sed -i 's/^scm_track_mode/scm_track_mode: "git"/' /etc/cobblers/settings
notes
- faire la configuration des variabbles 'GIT_' pour cobbler
- UTILISER cobbler setting edit --name=foo --value=bar pour faire de la config plutôt que sed !!
On applique les modifications
cobbler sync
Test de la configuration
cobbler check
Test Web
login/pass: cobbler/cobbler
firefox http://192.168.122.1/cobbler_web
Utilisation montage nfs pour le stockage de cobbler
Creation de l'alias datastore pour une utilisation par autofs
printf -- '192.168.122.1 datasrore' >> /etc/hosts
Installation des paquets nécessaires pour autofs
yum install nfs-utils autofs
service autofs start
chkconfig autofs on
Comme la VM serveur n'a pas beaucoup de place, on utilise un montage nfs sur l'hôte pour l'environnement cobbler. Il faut donc déplacer l'éxistant:
cd /var/www
mv cobbler cobbler_ori
ln -sf /net/datastore/home/cobbler .
rsync -av cobbler_ori cobbler
.. note:: - etudier l'arborescence pour ne pas tout monter - il semble que ce soit ks_mirror qui prend de la place car il contient les distrib.
Verification
cobbler check
Import dune distribution
Montage de l'iso
ls -al /net/datastore/home/depots/ISO
mount -t iso9660 -o loop,ro /net/datastore/home/depots/ISO/CentOS-7-x86_64.iso /mnt
Import d'une ditribution
# cobbler import --name=CentOS7 --arch=x86_64 --path=/mnt
task started: 2014-11-29_004454_import
task started (id=Media import, time=Sat Nov 29 00:44:54 2014)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/CentOS7-x86_64:
creating new distro: CentOS7-x86_64
trying symlink: /var/www/cobbler/ks_mirror/CentOS7-x86_64 -> /var/www/cobbler/links/CentOS7-x86_64
creating new profile: CentOS7-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/CentOS7-x86_64 for CentOS7-x86_64
processing repo at : /var/www/cobbler/ks_mirror/CentOS7-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS7-x86_64
looking for /var/www/cobbler/ks_mirror/CentOS7-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/CentOS7-x86_64/repodata
*** TASK COMPLETE ***
Cette action crée une nouvelle distribution et un profile par défaut ayant le même nom.