Sites Utilisés:
wikisi.ensta-bretagne.fr
https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html
vcentera.ensieta.ecole
logiciels utilisés:
Mobaxterm
Ressources utilisés
RedHat
Puppet
DESCRIPTION REDHAT
Red Hat : Un leader mondial du logiciel Open Source pour les entreprises
Fondée en 1993, Red Hat est une entreprise américaine qui se spécialise dans le développement et la distribution de solutions logicielles Open Source. Elle est reconnue comme l’un des acteurs majeurs du monde de l’Open Source et est particulièrement appréciée pour son produit phare : Red Hat Enterprise Linux (RHEL), une distribution Linux stable et sécurisée conçue pour les environnements professionnels.
But du travail :
Mise à niveau avec l’installation de Red Hat 9.4 (version actuelle 8.8)
Connexion MobaXterm avec clé ssh :
Mirroire.ensieta.ecole -> applicatif
puppetnew -> production
puppetnew:

programmes -> cd /etc/puppet/environments/production/modules
Possibles modifications :
-> bootpxe
->mrepoconf
->miroir.pp
Mirroir.ensieta.ecole:

appliquer les modifs de puppet :
-> puppetRESTART
Miroir
La configuration est maintenue via puppet.
Les modules :
- bootpxe : mise en œuvre du boot réseau
- Installation des paquets nécessaires au service (tftpboot, syslinux, …)
- Gestion des fichiers pxe, ipxe
- mrepo : mise en œuvre d’un serveur miroir (dépôt local contenant les sources des distributions ⇒ iso pour install + maj)
- Installation des paquets nécessaire au service (mrepo, nginx, …)
- Mise à dispo des sources de l’iso d’install
- Mise à dispo des MAJ
- Mise à dispo des fichiers kickstart
Analyse des programmes :
Miroir.pp
#1 image Iso à récupérer
Case
-> Si $isoname = “none” -> = $isonom
-> Sinon default : $isonom = iso
si iso != none -> appel fichier mrepoconfig fonction download_iso
Si arch2 (seconde architecture) != “ ” (soit être spécifié) appel fichier mrepoconfig fonction download_iso
#2 Config pour mrepo
Fichier config -> $depeot.conf
chemin vers fichier config = /etc/mrepo.conf.d/
contenu -> fichier conf crée avant execution de mrepo
notify -> notification dès que “mrepo_genere_$depot” est utilisé
#3 execution de mrepo pour synchro et générer la structure web
exec -> ressource = mrepo_genere_$depot”
command = mrepo(synchroniser et gérer)
-f -> force misa à jour
-u -> update metadata
-vv -> activation du verbeux
-g -> général
#4 Fichier lien -> lien “serveur” client RedHat
Case $link
Si $link = “none” pas de lien symbolique crée
par défaut
-> Si n’importe quelle valeure alors lien symbolique crée
-> lien généré -> ${depot}-${link}-${arch}
path -> chemin definit pour création du lien symbolique
ensure -> s’assurer que le lien symbolique existe et pointe vers le bon endroit
backup -> création d’une backup avant la création du lien
subscribe -> lien crée seulement si le $depot à fini de s’éxecuter
$arch2 -> même fonctionnement pour seconde architecture
#5 drpm demande si source existe + créer le lien
Si $drpm n’est pas vide
alors appel mrepoconfig fonction drpm $item
$entry -> extrait et stock partie de valeur $item + suppr texte après ‘=’ et garde ce qui précède
exec <- $depot + $arch + $entry
Command:
->rmdir drpms dans lien symbolique
->nettoyage avant création
-> ln -s drpms
-> créer lien symbo nommé drpms
-> mène vers dossier drpms suivant path définit
mrepconfig/params.pp
$mrepo_iso Def chemin vers Partage NFS avec dépot Général
Source mrepo récup via Github -> version 0.8.9
$wwwpath -> chemin http
$proxy_host
$proxy_port
-> def l’host + le port du proxy
mrepoproxy_host
mrepoproxy_port
-> non defini
LFTP
lfrp_opt1 def options lftp -> ignore certificat SSL -< désactive répertoire HFTP
délai fatal dns lftp = 10s
attente lftp = 1minute
tentatives max 10
NGINX
Si hostname = mrepo
$nginx -> faux
Sinon
$nginx -> true
CreateRepo
Si RHEL -> 5/6 -> lien symbolique pas créé
Sinon Active la création du lien
Mirroir Remi
$remi_site= »https://fr2.rpmfind.net/linux/remi/enterprise/«
$remi_site2= »https://remi.mirror.ate.info/enterprise/«
KickStart
install = puppetversion 3
option de démarraage -> “quiet hardened_usercopy=off »
pas de screenshot automatique
->username = “aub_ensta”
->password=”’RdevinE02/*’”
-> abo redhat
-> proxy_port
-> proxy_host
$rhel9_ver = 9.4
bootpxe/params.pp
$wwwpath -> $mrepoconf -> params
$rhel9_ver -> Redhat -> mrepoconf -> params
Directory de mecemboot_dir = “boot_mecm”
démarrage MECM généré via PXELINUX
Résolution affichage = 1024×768
debug tftp_verbose -vvvv (détaillé avec debuggage)
utlisation de syslinux version 6.03 -> processus de démarrage PXE (version 6.03 doit être utilisé et téléchargé)
IPXE installé depuis source pas depuis RPM
Test mémoire memtest sous version 5.01
Package Drive Ethernet e1000e pour correspondre à config Dell
—————————————————————————————————————————
Modifications des programmes bootpxe & Mrepo
En vue du passage sous Red Hat 9
Des modifications sont nécessaires sur les programmes
sur params.pp bootpxe + mrepo

le miroir “rhel9_ver = “9.4”” à été rajouté pour indiquer la nouvelle version de Red Hat Enterprise Linux soit la version 9.4
modification sur params.pp de bootpxe et mrepoconfig

Modification sur init.pp de bootpxe et mrepoconfig
Rajouter le montage redhat 9.x

après modifications il faut push ces dernières vers le serveur miroir via un git grâce à cette commande :
git commit –author « nguyenno <nguyen974.noah@gmail.com> » -m ‘Module mrepoconf + bootpxe: support Redhat 9.4’
Sur le serveur Miroir : puppetRESTART permettra de relancer le service puppet effectuant les mises a jours des programmes en prenant en compte redhat 9..4 installé sur le réseau
—————————————————————————————————————————
Fichier kickstart
Suite à l’installation de RedHat 9, une vm vcentera a eu accès à l’installation de ce dernier, pour observer comment cela s’est effectué il faut analyser le fichier KickStart de la VM /root/anaconda-ks.cfg

Cette ligne devra être changé du fait que nous voulons un environnement minimal et non graphique
Des modifications sont à effectuer sur le fichier kickstart, ces dernières seront faites sur le serveur puppetnew puis envoyé vers le serveur miroir avec la commande puppetRESTART
Référencement des changements RedHat8 pour RedHat9
Network installation , URL incorrecte
//@rhel9_ver = variable ()
//@fqdn = nom de domaine (miroir.ensieta.ecole)

//Du fait du changement le chemin pour installer RHEL9 n’était plus le même dans le baseurl de “Rhel9” il faut préciser que le répertoire est BaseOS
L’environnement minimal sera installé (le nom entre RHEL8 et RHEL9 est inchangé) Avec Redhat 9 ce paramètre est obsolète

//solution

module repo déprécié en redhat9

–level déprécié


Problèmes rencontrés:
// Installation impossible du fait que le chemin n’était pas bon il faut pointer vers repomd.xml qui n’était pas situé au même endroit (ø dans RPMS.os mais dans BaseOS


Fichiers ZZInit introuvable du fait qu’ils n’étaient pas récupérable au bon endroit


avant redirection

après redirection

//Fichier Kickstart insuffisant

Après analyse des fichiers de logs afin de trouver où ça pouvait bloquer, une entrée se démarquait

Ces lignes indiquent que le “swap” prenait trop de place sur le disque se réduisant cela peut traduire un problème de paramétrage du swap

L’argument swap à été modifié pour rajouter –size=1024 (précédemment –recommended)
Piste écartée après test
Clearpart —initlabel rajouté
———————————
Quand Installation réussie :
0 commentaire