« Installation/Cobbler » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
Ligne 69 : Ligne 69 :
== Ajout de distributions ==
== Ajout de distributions ==


  # mount -t auto -o loop /downloads/CentOS-5.5-x86_64-core.iso /mnt/
  mount -t iso9660 -o loop,ro /downloads/CentOS-5.5-x86_64-core.iso /mnt/
  # cobbler import --path=/mnt --name=Centos5 –arch=x86_64
  cobbler import --path=/mnt --name=CentOS-5-x86_64


  # cobbler sync
  systemctl restart cobblerd
 
  cobbler sync
  # cobbler list
distros:
Centos5-x86_64
Centos5-xen-x86_64
profiles:
Centos5-x86_64
Centos5-xen-x86_64
systems:
repos:
images:
 
On constate donc dans la liste des distros et des profiles que l'ISO CentOS a bien été ajouté au serveur cobbler.
 
Maintenant on va créer le repo local. On pourrait utiliser le repo officiel de CentOS mais il faut savoir que le cobbler va récupérer localement tous les paquets depuis le repo. Cette opération demande beaucoup de temps et surtout beaucoup d'espace disque. Sachant que nous avons pas besoin de tous les paquets disponibles sur le repo officiel de CentOS nous allons créer un repo local avec très peu de paquets ce qui permettra d'occuper peu d'espace disque mais aussi et surtout de rendre l'installation via PXE encore plus rapide.
 
On procède ainsi:
 
* installer une CentOS de façon traditionnelle avec le minimun de paquets installés (éditeur vim)
* une fois installé on ne fais de mis à jour avec yum update mais on installe les paquets suivants (avec yum install): wget rsync slocate autoconf automake make imake m4 man
* on peut maintenant mettre à jour les paquets puis les récupérer avec yumdownloader:
 
# mkdir /tmp/rpm
# yum update -y
# yum install yum-utils -y
# rm -rf /root/rpm.log && rpm -qa > rpm.log
# for i in $(cat /root/rpm.log) ; do yumdownloader $i --destdir=/tmp/rpm ; done
 
On peut maintenant créer le repo avec:
 
# yum install createrepo
# createrepo /tmp/rpm/
 
Puis on déclare le repo dans cobbler:
# cobbler repo add --mirror=/tmp/rpm/ --name=centos5-local
# cobbler reposync
 
On peut maintenant voir le repo avec:
# cobbler list
repos:
centos5-local
 
On va ensuite modifier le fichier kickstart par défaut qui est le fichier permettant l'automatisation de l'installation de CentOS:
 
# cd /var/lib/cobbler/kickstarts/
# mv sample.ks sample.ks_bak
Fichier <path>sample.ks</path>
<syntaxhighlight lang="kixtart">
auth --useshadow --enablemd5
bootloader --location=mbr
clearpart --all --initlabel
text
firewall --disabled
firstboot --disable
keyboard fr-pc
lang fr_FR.UTF-8
url --url=$tree
$yum_repo_stanza
$SNIPPET('network_config')
reboot
 
rootpw --iscrypted $default_password_crypted
selinux --disabled
skipx
timezone --utc Europe/Paris
install
zerombr
autopart
 
%pre
$SNIPPET('log_ks_pre')
$kickstart_start
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
 
%packages
$SNIPPET('func_install_if_enabled')
 
%post
$SNIPPET('log_ks_post')
$yum_config_stanza
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
$SNIPPET('post_anamon')
 
$kickstart_done
</syntaxhighlight>


La configuration de notre cobbler est désormais correctement configuré et on peut effectuer un test d'installation d'une machine virtuelle. On crée une nouvelle machine virtuelle sans lui fournir de media sur lequel booter, on démarre la VM puis on précise que l'on veut booter via PXE, on verra ensuite une interface ou l'on précisera sur quel image on veut booter.
La configuration de notre cobbler est désormais correctement configuré et on peut effectuer un test d'installation d'une machine virtuelle. On crée une nouvelle machine virtuelle sans lui fournir de media sur lequel booter, on démarre la VM puis on précise que l'on veut booter via PXE, on verra ensuite une interface ou l'on précisera sur quel image on veut booter.

Version du 23 octobre 2014 à 14:10

Introduction

Cobbler est un serveur d'installation qui permet d'installer facilement et automatiquement des systèmes d'exploitations, virtualisés ou non via PXE.

Installation

Modification du service DHCP

Si le serveur DHCPd n'est pas la même machine que le serveur cobbler, il faut déclarer le serveur Cobbler sur le serveur DHCPd:

Fichier <path>/etc/dhcp/dhcpd.conf</path>

...
 allow booting;
 allow bootp;
 filename "pxelinux.0";
 next-server 192.168.0.205;
...

On redémarre le service DHCPd

service dhcpd restart

Installation de cobbler

Sur un serveur fraichement installé en CentOS 7:

  • Mise en place du nom d'hôte
    hostnamectl set-hostname cobbler.home.net
  • Redémarrage du serveur
  • Installation du dépôt EPEL
    rpm -Uvh http://mirror.ibcp.fr/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
  • Installation des paquets
    yum -y install cobbler pykickstart tftp
  • Activation du service tftpd (xinetd)
    sed -i -e '/disable/ s/yes/no/' /etc/xinetd.d/tftp
  • Démarrage et activation des services concernés
    for service in xinetd httpd cobblerd ; do systemctl start $service ; systemctl enable $service ; done

Configuration

Au niveau configuration, on va dans un premier temps s'occuper de SELinux.

setsebool -P httpd_can_network_connect true
setsebool -P cobbler_can_network_connect true
semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*"
restorecon -Rv /var/lib/tftpboot

Puis dans le fichier de configuration <path>/etc/cobbler/settings</path>, on va:

  • Définir un mot de passe crypté qui sera le mot de passe root pour les machines installées en PXE
  • Modifier l'adresse IP du serveur cobbler.

On commence donc par créer le mot de passe crypté à l'aide d'openssl.

openssl passwd -1

On peut donc maintenant éditer le fichier de configuration du serveur cobbler: Fichier <path>/etc/cobbler/settings</path>

default_password_crypted: <mot-de-passe-crypté>
next_server: 192.168.0.205
server: 192.168.0.205

On va maintenant télécharger les boot-loaders

cobbler get-loaders

Redémarrage du cobbler

systemctl restart cobblerd

Synchronisation

cobbler sync

Et vérification

cobbler check
No configuration problems found.  All systems go.

Cobbler est maintenant correctement configuré.

Ajout de distributions

mount -t iso9660 -o loop,ro /downloads/CentOS-5.5-x86_64-core.iso /mnt/
cobbler import --path=/mnt --name=CentOS-5-x86_64
systemctl restart cobblerd
cobbler sync

La configuration de notre cobbler est désormais correctement configuré et on peut effectuer un test d'installation d'une machine virtuelle. On crée une nouvelle machine virtuelle sans lui fournir de media sur lequel booter, on démarre la VM puis on précise que l'on veut booter via PXE, on verra ensuite une interface ou l'on précisera sur quel image on veut booter.