mariuszczyz.centos_pxe

Installation et Configuration Non Assistée de Système d'Exploitation via PXE pour CentOS 7/8 et Fedora

Ce rôle configure le cadre de base pour un environnement de démarrage PXE local permettant de réaliser une installation non assistée de CentOS 7, CentOS 8, Fedora 31, et plus (avec configuration personnalisée).

Il installe et configure les éléments suivants :

ISOs d'installation et Répertoire RPM local - si les ISOs d'installation ne sont pas présentes localement, elles seront téléchargées et montées. Une fois montées, leur contenu sera utilisé pour générer un miroir RPM local utilisé lors du processus d'installation. Le miroir pourra également être utilisé plus tard pour l'installation de paquets RPM supplémentaires.

Serveur TFTP & PXE - nous en avons besoin pour permettre aux clients du réseau de démarrer via PXE.

Ce rôle préconfigure le service PXE avec ce qui suit :

  • Démarrage à partir du disque local. Ne pas installer quoi que ce soit
  • Installer Fedora 31 manuellement avec interface graphique
  • Installer CentOS 7 manuellement avec interface graphique
  • Installer CentOS 8 manuellement avec interface graphique
  • Installation non assistée de Fedora 31 en mode texte avec Kickstart
  • Installation non assistée de CentOS 7 en mode texte avec Kickstart
  • Installation non assistée de CentOS 8 en mode texte avec Kickstart

Il installe également toutes les images de noyau nécessaires pour que les clients PXE distants démarrent correctement.

Serveur Web Apache - avec très peu de préconfiguration, il sera utilisé pour créer un répertoire généré par le serveur, accessible localement, contenant la liste de tous les paquets RPM.

Le miroir local imite la même structure de répertoire que celle des miroirs disponibles publiquement.

Ils seront accessibles localement à : (remplacer hostname.localdomain par votre propre adresse)

Fichiers Kickstart - ce rôle déploie des fichiers Kickstart pour l'installation non assistée de CentOS 7/8 et Fedora 31 à partir de modèles. Ils sont placés dans un répertoire Kickstart dans le répertoire racine du serveur web et sont accessibles par tous les clients.

Notes Supplémentaires

Lors de la création d'une nouvelle VM dans VirtualBox ou KVM, allouez un minimum de 2 Go de RAM pour le système invité. Le processus d'installation de CentOS échouera probablement si moins que cela est utilisé. La quantité de RAM peut être réduite après une installation réussie.

L'utilisateur final est encouragé à examiner et à personnaliser les modèles de configuration Kickstart. Dans leur forme actuelle, ils sont très basiques. Tous supposent ce qui suit :

  • partitionnement automatique avec LVM
  • SELinux désactivé
  • pare-feu désactivé
  • sélection minimale de logiciels
  • connexion root autorisée
  • un seul utilisateur administrateur non-root
  • configuration réseau client DHCP

L'idée de faire le moins possible avec l'installation Anaconda et Kickstart est de s'appuyer sur la personnalisation de la configuration après l'installation.

Exigences

Apache

Une installation standard du serveur web Apache est nécessaire pour permettre au processus Kickstart d'accéder localement aux paquets d'installation.

Un simple rôle Apache peut être installé depuis Galaxy :

ansible-galaxy install mariuszczyz.centos_apache

DHCPd

Service DHCP local fonctionnel.

Alternativement, un DHCP dédié peut être mis en place sur le serveur de démarrage PXE en utilisant ce rôle : Installation et configuration du serveur DHCP pour CentOS & Fedora.

Images ISO d'installation du système d'exploitation

Ce rôle suppose que les images ISO d'installation du système d'exploitation se trouvent dans /isos/. Laissez cela tel quel ou changez-le dans le defaults/main.yml. Cependant, les images ISO doivent être téléchargées avant d'exécuter ce rôle. Sinon, il n'aura pas accès à tous les fichiers nécessaires pour configurer correctement l'environnement pré-démarrage. La tâche de téléchargement des ISOs a été délibérément laissée de côté dans ce rôle.

Fichiers Kickstart

Les changements minimum requis pour que les fichiers d'installation Kickstart fonctionnent :

rootpw --iscrypted PASSWORD_HASH - hachage du mot de passe root

Instructions sur la manière de créer un hachage de mot de passe root pour Kickstart

Exécutez cette commande dans la ligne de commande : openssl passwd -6

Options d'algorithme disponibles :

 -6                  Algorithm de mot de passe basé sur SHA512
 -5                  Algorithm de mot de passe basé sur SHA256
 -apr1               Algorithm de mot de passe MD5, variante Apache
 -1                  Algorithm de mot de passe basé sur MD5
 -aixmd5             Algorithm de mot de passe basé sur MD5 pour AIX
 -crypt              Algorithm standard de mot de passe Unix (par défaut)

Il vous demandera le mot de passe et affichera le hachage :

Note : pas un vrai mot de passe ci-dessous

Password:
Verifying - Password:
$6$gdGbs42fZoKUVwQH$eY2nId.oONxK9MneuM58Vg2NPEuftngWmwfK09YW4DQLs3Hcq5F5HEohDEcM.Ci3p8gQrVuygTfScim7MY6QI1

Le reste de la configuration peut être personnalisé en option pour répondre à vos besoins, comme le partitionnement, le fuseau horaire, les paquets supplémentaires, etc.

Variables de Rôle

Variable Commentaire Exemple
ISOS_PATH Répertoire où les images d'installation ISO seront stockées localement /isos
NAME Nom du système d'exploitation fedora31
ISO_LOCATION Chemin complet vers l'image ISO /isos/CentOS-7-x86_64-Everything-1908.iso
MOUNT_POINT Chemin complet vers lequel l'image ISO doit être montée sur le système de fichiers local /var/www/centos7
KICKSTART_HASHED_ROOT_PASSWORD Mot de passe root haché pour Kickstart. Utilisez "pwkickstart" ou "openssl passwd -6" pour le générer bEzYf1S49$yu
NON_ROOT_USER_NAME Nom de l'utilisateur administrateur non-root à créer sur le nouveau système mariusz
NON_ROOT_USER_PASSWORD Mot de passe utilisateur haché pour Kickstart. Utilisez "pwkickstart" ou "openssl passwd -6" pour le générer bEzYf1S49$yu
TIMEZONE Fuseau horaire local America/Chicago
NTP_SERVERS Serveurs de temps réseau. Locaux ou publics. ntp.localdomain
FEDORA_HOSTNAME Nom d'hôte par défaut pour le nouveau serveur Fedora fedora31.localdomain
FEDORA_NETWORK_INSTALLATION_URL C'est ici qu'Anaconda récupérera les paquets Fedora http://mirror.steadfastnet.com/fedora/releases/31/Everything/x86_64/os/
CENTOS7_HOSTNAME Nom d'hôte par défaut pour le nouveau serveur CentOS 7 centos7.localdomain
CENTOS7_NETWORK_INSTALLATION_URL C'est ici qu'Anaconda récupérera les paquets CentOS http://192.168.1.109/centos7
CENTOS8_HOSTNAME Nom d'hôte par défaut pour le nouveau serveur CentOS 8 centos8.localdomain
CENTOS8_BASE_OS_URL URL du dépôt de paquets de BaseOS pour CentOS 8 http://mirror.steadfastnet.com/centos/8/BaseOS/x86_64/os/
CENTOS8_APPSTREAM_REPO_URL URL du dépôt de paquets AppStream pour CentOS 8 http://mirror.steadfastnet.com/centos/8/AppStream/x86_64/kickstart/

Dépendances

mariuszczyz.centos_apache
mariuszczyz.centos_dhcpd

Installez les dépendances depuis Ansible Galaxy avec requirements.yml

# Installer depuis Ansible Galaxy
- src: mariuszczyz.centos_apache
- src: mariuszczyz.centos_dhcpd

Exemple de Playbook

Manuel

Téléchargez ce rôle depuis Ansible Galaxy manuellement :

ansible-galaxy install mariuszczyz.centos_pxe

Pas Manuel

Galaxy

Ou incluez ce rôle depuis Ansible Galaxy via requirements.yml

# requirements.yml
# Installer depuis Ansible Galaxy
- src: mariuszczyz.centos_pxe

Option Github

# requirements.yml
# Installer depuis le dépôt Github
- src: https://www.github.com/mariuszczyz/centos_pxe

Ensuite, exécutez ceci pour installer toutes les dépendances depuis Ansible Galaxy :

ansible-galaxy install -r requirements.yml

Exécutez-le

Si vous souhaitez exécuter ce rôle individuellement, créez un nouveau fichier : playbook.yml (nommez-le comme vous le souhaitez) avec le contenu suivant :

- hosts: servers
  user: VOTRE UTILISATEUR
  become: True

  roles:
    - { role: mariuszczyz.centos_pxe, tags: ['centos_pxe'] }

Exécutez-le :

ansible-playbook -i hosts playbook.yml

Licence

BSD

Informations sur l'auteur

Auteur : Mariusz Czyz
Date : 12/2019
mariuszczyz.com

À propos du projet

CentOS 7/8 and Fedora PXE Boot Server Role

Installer
ansible-galaxy install mariuszczyz.centos_pxe
Licence
Unknown
Téléchargements
117
Propriétaire