Sur une machine source, je crée un archive tar.xz contenant tout le système, je dump la table de partition avec sfdisk, puis le fichier .torrent associé à l'archive est généré, stocké via NFS.
J'ai un serveur PXE avec un nfsroot (debootstrap de debian 8)
Un script me permet de creer les fichiers de boot pxe par machine, s'appuyant sur mon fichier hosts d'ansible, je peux donc pointer des groupes de machine facilement.
Le fichier de boot pxe generé, passe en paramètre du kernel le nom de l'image à déployer, et d'autres variables.
Quand la machine cliente boot pxe, un service parse les options du kernel, puis un autre lance le script de déploiement sur tty1.
Le script restore le dump de la table de partition, monte les partitions locales, formate proprement tout ca, lance un client bittorrent pour récupérer l'archive, décompresse où il faut, puis réinstalle le bootloader.
Un webservice sur le serveur attend une requête du client lui disant qu'il a terminé le déploiement, pour pouvoir supprimer son fichier de boot pxe.
[^] # Re: Fonctionnement ?
Posté par eoli3n . En réponse au message Deploiement et maintenance de parc via bittorrent [suite]. Évalué à 2.
Grossièrement :
Je lance le tracker de murder sur mon serveur.
Sur une machine source, je crée un archive tar.xz contenant tout le système, je dump la table de partition avec sfdisk, puis le fichier .torrent associé à l'archive est généré, stocké via NFS.
J'ai un serveur PXE avec un nfsroot (debootstrap de debian 8)
Un script me permet de creer les fichiers de boot pxe par machine, s'appuyant sur mon fichier hosts d'ansible, je peux donc pointer des groupes de machine facilement.
Le fichier de boot pxe generé, passe en paramètre du kernel le nom de l'image à déployer, et d'autres variables.
Quand la machine cliente boot pxe, un service parse les options du kernel, puis un autre lance le script de déploiement sur tty1.
Le script restore le dump de la table de partition, monte les partitions locales, formate proprement tout ca, lance un client bittorrent pour récupérer l'archive, décompresse où il faut, puis réinstalle le bootloader.
Un webservice sur le serveur attend une requête du client lui disant qu'il a terminé le déploiement, pour pouvoir supprimer son fichier de boot pxe.