Automatiser la configuration initiale de machines physiques

Le
Olivier
--000000000000793fa9057b0146eb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bonjour,

J'utilise intensivement des machines virtuelles KVM pour mettre au point la
configuration de serveurs physiques.
Le serveur host KVM est sous Debian Stretch (pas d'environnement graphique)=
.
Les cibles sont aussi sous Debian Stretch et sans environnement graphique.

Je procède en rédigeant un script d'installation que j'adapte et =
relance
régulièrement sur une machine virtuelle.
Quand j'estime que ce script est au point :
1. je lance l'installeur Debian sur mon serveur physique avec un
partitionnement standard
2. je modifie le partitionnement standard avec une clé RescueCD (*)
3. je copie mon script d'installation sur mon serveur physique
4. je lance mon script d'installation en corrigeant les éventuelles er=
reurs
résiduelles.

(*) Les modifications que j'apporte au partitionnement standard sont de
diminuer la taille de la partition /home et d'augmenter celle dédi=
e à /var.
Je trouve plus simple de faire ces opérations en ligne de commande ave=
c
lvreduce/lxextend.

J'aimerai améliorer ce processus particulièrement sur les ét=
apes 1 et 2 au
terme desquelles je dispose d'une machine physique, dont :
- le partitionnement correspond à mes besoins (en gros, la place du di=
sque
est répartie équitablement entre /var et /home),
- le réseau est correctement configuré
- le hostname est configuré
- le SSH est installé (avec la copie d'une ou deux clés SSH)
- les comptes sont configurés
- le clavier/la langue sont configurés.

J'ai noté l'existence de plusieurs technologies qui pourrait amél=
iorer ce
processus:
- preseed
- vagrant
- packer

Mes rares et anciens essais avec preseed étaient assez déprimants=
.
Je n'ai jamais essayé les deux autres.

Qu'en pensez-vous ?
Que conseillez-vous ?

Slts.

--000000000000793fa9057b0146eb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir="ltr"><div>Bonjour,</div><div><br></div><div>J&#39;utilise inten=
sivement des machines virtuelles KVM pour mettre au point la configuration =
de serveurs physiques.</div><div>Le serveur host KVM est sous Debian Stretc=
h (pas d&#39;environnement graphique).</div><div>Les cibles sont aussi sous=
Debian Stretch  et sans environnement graphique.</div><div><br></div>=
<div>Je procède en rédigeant un script d&#39;installation que j&#=
39;adapte et relance régulièrement sur une machine virtuelle.</di=
v><div>Quand j&#39;estime que ce script est au point :</div><div>1. je lanc=
e l&#39;installeur Debian sur mon serveur physique avec un partitionnement =
standard</div><div>2. je modifie le partitionnement standard avec une cl=
RescueCD (*)<br></div><div>3. je copie mon script d&#39;installation su=
r mon serveur physique</div><div>4. je lance mon script d&#39;installation =
en corrigeant les éventuelles erreurs résiduelles.</div><div><br>=
</div><div>(*) Les modifications que j&#39;apporte au partitionnement stand=
ard sont de diminuer la taille de la partition /home et d&#39;augmenter cel=
le dédiée à /var.</div><div>Je trouve plus simple de faire c=
es opérations en ligne de commande avec lvreduce/lxextend.</div><div><=
br></div><div>J&#39;aimerai améliorer ce processus particulièreme=
nt sur les étapes 1 et 2 au terme desquelles je dispose d&#39;une mach=
ine physique, dont :</div><div>- le partitionnement correspond à mes b=
esoins (en gros, la place du disque est répartie équitablement en=
tre /var et /home),</div><div>- le réseau est correctement configur=
</div><div>- le hostname est configuré</div><div>- le SSH est insta=
llé (avec la copie d&#39;une ou deux clés SSH)</div><div>- les co=
mptes sont configurés</div><div>- le clavier/la langue sont configur=
és.</div><div><br></div><div>J&#39;ai noté l&#39;existence de plu=
sieurs technologies qui pourrait améliorer ce processus:</div><div>- p=
reseed</div><div>- vagrant</div><div>- packer<br></div><div><br></div><div>=
Mes rares et anciens essais avec preseed étaient assez déprimants=
.</div><div>Je n&#39;ai jamais essayé les deux autres.</div><div><br><=
/div><div>Qu&#39;en pensez-vous ?</div><div>Que conseillez-vous ?</div><div=
><br></div><div>Slts.</div><div><br></div><div><br></div><div><br></div><di=
v><br></div></div>

--000000000000793fa9057b0146eb--
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
=c3
Le #26497649
Olivier, au 2018-11-19 :
J'utilise intensivement des machines virtuelles KVM pour
mettre au point la configuration de serveurs physiques.
Le serveur host KVM est sous Debian Stretch (pas
d'environnement graphique).
Les cibles sont aussi sous Debian Stretch et sans
environnement graphique.
Je procède en rédigeant un script d'installation que j'adapte
et relance régulièrement sur une machine virtuelle.
Quand j'estime que ce script est au point :
1. je lance l'installeur Debian sur mon serveur physique avec
un partitionnement standard
2. je modifie le partitionnement standard avec une clé
RescueCD (*)
3. je copie mon script d'installation sur mon serveur physique
4. je lance mon script d'installation en corrigeant les
éventuelles erreurs résiduelles.

[...]
J'aimerai améliorer ce processus particulièrement sur les
étapes 1 et 2 au terme desquelles je dispose d'une machine
physique

[...]
Qu'en pensez-vous ?
Que conseillez-vous ?

Bonsoir Olivier,
À vous lire, et si vous avez à maintenir plus de machines
physiques que vous ne pouvez en compter avec vos doigts, qui
plus est, des machines qui se ressemblent comme deux goûtes
d'eau, alors je pense que vous êtes mûr pour un déploiement de
serveur FAI (Fully Automated Installation) :
http://fai-project.org/
http://fai-project.org/fai-guide/
Avant installation, vous allez définir une ou plusieurs classes
de machines. Une arborescence d'exemple est disponible pour
vous mettre le pied à l'étrier ; elle vous sera recommandée lors
de la configuration de l'infrastructure, après installation des
paquets.
Pour procéder à une installation, vous allez démarrer vos
machines physiques via PXE, le système de base pour
l'installation sera fourni par une racine NFS depuis votre
serveur FAI, racine qui hébergera également des scripts qui se
lanceront automatiquement dans cet environnement dédié à
l'installation. Le déroulé de l'installation sera journalisé et
envoyé via SSH au serveur FAI à la fin de l'installation. La
machine reste joignable en cours d'opération et des options
peuvent être passées pour ouvrir l'accès aux terminaux annexes,
pendant les phases de débogage de vos classes.
Les classes de machines peuvent être assez longues à mettre au
point, mais une fois qu'un script d'installation est rodé, des
grappes de machines entières peuvent être installées en assez
peu de temps.
Voilà ce que j'en pense et ce que je vous conseille, en
particulier vis-à-vis de l'amélioration des points 1 et 2 ;
c'est similaire au preseed, mais sous stéroïdes.
Si c'est pour une poignée de machines qui ne sont réinstallées
que très occasionnellement, alors c'est peut-être un peu
surdimensionné par contre.
Amicalement,
--
Étienne Mollier
=c3
Le #26501200
Bonjour Olivier,
TL;DR: Si TFTP est un problème parce que le WAN est très morcelé
et cloisonné, alors peut-être que preseed sera plus adapté à
votre environnement. Mais n'ayant pas travaillé avec preseed,
je ne me rend pas compte de la charge de travail qu'il
représente, en terme de déploiement et maintenance.
Olivier, au 2018-12-11 :
1. Je trouve preseed extrêmement difficile à maîtriser. FAI
simplifie-t-il les choses à cet égard ?

Étant tombé dans FAI étant petit, je n'ai pas pris le temps de
m'intéresser à preseed et aurai du mal à répondre. N'ayant que
survolé la page de Wiki, je serais à côté de la plaque si je me
risquait à répondre :
https://wiki.debian.org/DebianInstaller/Preseed
Le déploiement initial de FAI demande beaucoup de travail avant
d'arriver à la première installation selon le modèle voulu. Une
fois que le système roule, l'ajout de nouvelles configurations
se fait sans trop de difficultés, pour peu que le résultat voulu
soit bien défini par le demandeur, et l'ajout de nouvelles
machines au parc existant est trivial.
Il est éventuellement possible de maintenir la configuration des
machines avec fai-update, mais ça sous-entend de respecter le
caractère idempotent des scripts (si c'est déjà fait, le
résultat doit être le même), ce qui peut rapidement ne plus être
le cas, au fur et à mesure que le temps passe. Une solution
comme Ansible serait préférable pour maintenir la configuration
après installation.
2. Est-il exact de penser que FAI est adapté une installation
sur un réseau local, pas sur un WAN, à cause de l'utilisation
de TFTP ou bien est-ce inexact ?

S'il n'y a que deux ou trois réseaux à gérer, il y a moyen de se
rattraper avec des relais. Mais si le WAN est très morcelé,
cette configuration devient ingérable. En effet il faudra
prévoir un serveur TFTP local par réseau, pour distribuer les
noyaux, initrd et options de démarrage adéquates. L'export du
NFS root aura peut-être besoin d'être revus, ainsi que les
règles de pare feux. Avoir un réseau dédié à l'administration
peut aider dans ce cas.
Sinon, il est aussi possible de se rattraper avec fai-cd, pour
produire une ISO à partir de la configuration existante, à
coller sur une clé USB sur laquelle démarrer, et qui va
configurer la machine proprement, sans avoir besoin du moindre
réseau. L'ajout de nouvelles configurations au serveur FAI va
nécessiter de régénérer les clés, ce qui rend la solution moins
souple. Peut-être qu'à ce stade preseed sera plus simple que de
gérer la quasi-totalité du parc avec fai-cd.
Si à cause de la limitation inhérente à TFTP, vous considéreriez
fai-cd pour l'essentiel de votre parc, alors /peut-être/ que
votre temps serait mieux investit à l'étude de preseed.
Si toutefois FAI vous intéresse toujours, la liste de diffusion
peut être d'un grand secours, quand vous allez buter sur des
écueils lors du déploiement :
http://fai-project.org/mailinglist/
https://lists.uni-koeln.de/pipermail/linux-fai/
PS: Désolé pour le temps mis pour réagir aux messages mais
j'ai été happé par d'autres priorités.

Ce n'est pas bien grave, on a tout notre temps sur la liste des
utilisateurs de Debian. :^)
Amicalement,
--
Étienne Mollier
Publicité
Poster une réponse
Anonyme