Installation¶
Note
Pour rappel, le passage en tant que root sur les machines Debian doit s'effectuer avec la commande suivante :
1 | |
Les indications données sur cette page seront à reproduire pour l'installation de l'ensemble des nœuds du cluster PostgreSQL.
Paramétrages systèmes¶
Connexion à la machine¶
Par défaut, deux comptes sont présents sur les appliances virtuelles : un compte utilisateur et un compte super-utilisateur.
- Compte utilisateur
- Login :
systancia - Mot de passe :
systnci
- Login :
- Compte super-utilisateur
- Login :
root - Mot de passe :
systnci
- Login :
Connectez-vous en mode console à la machine.
Note
La disposition du clavier est par défaut en QWERTY.
Modification de la disposition du clavier¶
Vous pouvez changer la disposition du clavier avec la ligne de commande suivante :
1 | |
Un menu apparaît pour permettre de choisir une autre disposition de clavier.
Utilisez ensuite la ligne de commande suivante pour appliquer et péréniser le paramétrage :
1 | |
La prise en compte des paramètres est immédiate après le lancement de cette commande.
Configuration du réseau¶
Il se peut que l'appliance virtuelle ne reçoive pas de configuration réseau à son démarrage pour les raisons suivantes :
- Le nom de l'interface réseau n’est pas
ens192: l’appliance est paramétrée en DHCP pour l’interfaceens192seulement - Aucun serveur DHCP n'est disponible
Pour contrôler le nom de l’interface réseau, son état et les adresses IP affectées, lancez la commande suivante en tant que root :
1 | |
Example
Après exécution de la commande le retour suivant est affiché :
1 | |
Le nom de l'interface réseau de l'exemple est ens192, l'interface est active et possède l'adresse IP 10.100.0.51/24.
Dans le cas où le nom est différent d'ens192 ou que la commande ne ressort aucun paramétrage réseau, il faudra paramétrer une configuration réseau manuellement grâce aux commandes suivantes :
1 2 | |
Remplacez :
IP_ADDRESSpar l'adresse IP de la machineSUBNETpar le sous-réseauDEV_NAMEnom de l'interface réseau récupéré précédemmentGATEWAYpar la passerelle réseau
Example
Pour configurer le nœud PostgreSQL avec les informations suivantes :
- Adresse IP :
10.100.0.51 - Sous-réseau :
/24ou255.255.255.0 - Nom de l'interface réseau :
eth0 - Passerelle réseau :
10.100.0.254
Les commandes sont les suivantes :
1 2 | |
Note
Cette configuration réseau est temporaire, par conséquent tout redémarrage du serveur entrainera la réinitialisation du paramétrage manuel réalisé avec les commandes ip address et ip route.
Un paramétrage permanent sera réalisé par l'utilitaire de configuration du cluster PostgreSQL.
Pour autant grâce à cette configuration réseau il vous est maintenant possible d'accéder en SSH au nœud PostgreSQL.
Modification du fuseau horaire¶
Par défaut, l'appliance virtuelle est paramétrée sur le fuseau horaire Europe/Paris.
Pour changer ce fuseau horaire, commencez par utiliser la commande suivante pour récupérer la syntaxe des fuseaux horaires disponibles :
1 | |
Utilisez ensuite la ligne de commande suivante :
1 | |
Exemple
Pour définir le fuseau horaire sur celui de Londres la commande suivante doit être exécutée :
1 | |
Vérifiez le fuseau horaire du serveur en utilisant la ligne de commande suivante :
1 | |
Configuration d'un serveur de temps NTP¶
Danger
Il est vivement recommandé de paramétrer un serveur de temps pour maintenir l'horloge du système à jour : tout écart de temps entre les nœuds PostgreSQL pourra provoquer des instabilités voire l'arrêt du fonctionnement du cluster.
Les étapes nécessaires sont décrites sur la page de configuration du NTP (la configuration étant équivalente à celle des serveurs Mediation Controller cyberelements Cleanroom).
Création d'une PKI pour générer les certificats des nœuds PostgreSQL¶
Information
Cette section est facultative si vous possédez déjà une PKI depuis laquelle vous avez pu générer les certificats indiqués dans les prérequis.
Il sera présenté dans cette section les différentes étapes permettant de créer une PKI et les certificats nécessaires au cluster PostgreSQL. A noter qu’il ne sera pas indiqué comment les renouveler, le renouvèlement d’un certificat consistant en sa recréation.
Attention !
La procédure indiquée a été validée sur une machine Debian 12 possédant le paquet openssl. Pour autant, toute machine ayant une version récente d’OpenSSL (la version validée étant la 3.0.17) pourra permettre d’arriver au bout de la procédure. Sauf s’il s’agit de Windows ou MacOS où il faudra adapter les commandes systèmes.
Définition des variables et personnalisations¶
Cette section propose différentes commandes et fichiers de configurations utilisant des variables à modifier.
Le tableau ci-dessous récapitule l'ensemble des valeurs et vous permet de les définir pour les modifier directement dans les commandes affichées sur cette page.
| Valeur | Variable | Définition |
|---|---|---|
PSQL_IP |
Adresse IP virtuelle du cluster PostgreSQL. | |
PSQL_NAME |
Nom court (pas le FQDN) associé à l'IP virtuelle du cluster PostgreSQL. | |
PSQL_1_IP |
Adresse IP du nœud n°1 du cluster PostgreSQL. | |
PSQL_1_NAME |
Nom court (pas le FQDN) du nœud n°1 du cluster PostgreSQL. | |
PSQL_2_IP |
Adresse IP du nœud n°2 du cluster PostgreSQL. | |
PSQL_2_NAME |
Nom court (pas le FQDN) du nœud n°2 du cluster PostgreSQL. | |
PSQL_3_IP |
Adresse IP du nœud n°3 du cluster PostgreSQL. | |
PSQL_3_NAME |
Nom court (pas le FQDN) du nœud n°3 du cluster PostgreSQL. | |
CA_ROOT_NAME |
Nom affecté à l'autorité de certification (AC) racine de la PKI. |
Préparation¶
Les actions suivantes seront réalisées dans un nouveau répertoire afin de rassembler l’ensemble des nouveaux fichiers dans un répertoire unique. N’importe quel répertoire peut être utilisé mais il faut en limiter son accès au maximum. Connectez-vous au nœud PostgreSQL n°1 en tant que root et exécutez les commandes suivantes :
1 2 3 | |
Création de l'autorité de certification racine¶
Exécutez la commande suivante pour créer une nouvelle AC racine, un mot de passe vous sera demandé pour protéger l'AC :
1 | |
Remplacez CA_ROOT_NAME par le nom de l'AC racine si vous ne l'avez pas personnalisé ici.
Création des certificats¶
Les commandes nécessaires pour générer les certificats des nœuds PostgreSQL sont les suivantes :
1 2 3 | |
Remplacez CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_1_IP et PSQL_1_NAME si vous ne l'avez pas personnalisé ici.
1 2 3 | |
Remplacez CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_2_IP et PSQL_2_NAME si vous ne l'avez pas personnalisé ici.
1 2 3 | |
Remplacez CA_ROOT_NAME, PSQL_IP, PSQL_NAME, PSQL_3_IP et PSQL_3_NAME si vous ne l'avez pas personnalisé ici.
La première commande créer une nouvelle clef, la seconde génère un fichier de requête de certificat CSR et la troisième créer le certificat en lui même.
Il reste encore la transformation du certificat en P12 où il sera demandé de définir un mot de passe :
1 | |
1 | |
1 | |
Les fichiers nécessaires pour l'installation du cluster PostgreSQL se trouvent ici (veuillez remplacer la variables CA_ROOT_NAME, PSQL_1_NAME, PSQL_2_NAME et PSQL_3_NAME en fonction des éléments retenus précédemment) :
/root/psql-certificates/CA_ROOT_NAME.crt: certificat de l'AC racine/root/psql-certificates/PSQL_1_NAME.p12: certificat pour le nœud PostgreSQL n°1/root/psql-certificates/PSQL_2_NAME.p12: certificat pour le nœud PostgreSQL n°2/root/psql-certificates/PSQL_3_NAME.p12: certificat pour le nœud PostgreSQL n°3
Installation du cluster PostgreSQL¶
Information
Les indications suivantes seront à réaliser sur les 3 nœuds PostgreSQL.
Préparation à la configuration du cluster PostgreSQL¶
Il est nécessaire d’établir une connexion SFTP ou SCP afin d’envoyer sur l’appliance :
- Le certificat de l’autorité de certification ayant signé les certificats pour les nœuds PostgreSQL
- Le certificat du nœud PostgreSQL au format
P12
A noter que la connexion SFTP ou SCP ne pourra pas s’initialiser avec le compte root. De plus les fichiers peuvent simplement être déposés dans /home/systancia/.
Il est nécessaire de déplacer ces fichiers dans un nouveau répertoire :
1 2 3 | |
Remplacez :
PSQL_?_NAMEpar le nom du certificat prévu pour le nœud PostgreSQL en cours d'installationROOT_CA_NAMEpar le nom du certificat de l'autorité de certification racine
1 2 3 | |
Les commandes ci-dessus doivent avoir été personnalisées en fonction des paramètres de personnalisation.
1 2 3 | |
Les commandes ci-dessus doivent avoir été personnalisées en fonction des paramètres de personnalisation.
1 2 3 | |
Les commandes ci-dessus doivent avoir été personnalisées en fonction des paramètres de personnalisation.
Configuration du nœud PostgreSQL¶
Afin de lancer l’initialisation de la configuration du nœud, les commandes suivantes doivent être exécutées :
1 2 | |
La seconde commande lancera un utilitaire qui demandera plusieurs informations :
- Nouveaux mots de passe pour les utilisateurs locaux
rootetsystancia - Nom du nœud PostgreSQL (pas le FQDN)
- L’adresse IP du nœud PostgreSQL, le nom de son interface réseau, la passerelle réseau par défaut à utiliser, ainsi que les serveurs DNS et suffixe DNS
- La version de PostgreSQL, préférez l'usage de la version
15 - Le port d'accès au cluster PostgreSQL, préférez l'usage du port
5432 - Mot de passe du compte PostgreSQL utilisé pour la réplication ainsi que pour
pg_rewind - Nom et adresse IP d’un second nœud PostgreSQL
- Nom et adresse IP du dernier nœud PostgreSQL
- Adresse IP virtuelle du cluster PostgreSQL
- Les adresses IP (séparées par des virgules) des Edges Gateways cyberelements Cleanroom ou de toutes autres machines devant se connecter au cluster
- Nom et mot de passe du compte utilisateur PostgreSQL
- Les adresses IP ou réseaux (séparés par des virgules) autorisés à se connecter en SSH aux nœuds PostgreSQL
- Les informations liées aux certificats pour le nœud PostgreSQL (certificat du nœud au format P12 + certificat de l’AC racine)
Après saisie de ces informations, un récapitulatif de l'ensemble de vos saisies vous sera fourni avant validation.
Après avoir validé les informations fournies, un message apparaîtra concernant l'application de modifications au fichier /etc/ssh/sshd_config veuillez répondre le choix par défaut keep the local version currently installed.
Afin d'appliquer la configuration, un redémarrage est requis :
1 | |
Astuce pour accélérer l'installation des nœuds PostgreSQL n°2 et n°3
Après avoir installé le nœud PostgreSQL n°1, il est possible de récupérer sur ce dernier les paramètres qui ont permis de la configurer à l'aide du fichier /etc/cleanroom-vault.ini.
Exemple de fichier /etc/cleanroom-vault.ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Il suffit de modifier les lignes surlignés avec les valeurs du nœud PostgreSQL en cours d'installation d'après le fichier que vous aurez récupéré sur le nœud PostgreSQL n°1.
Danger
Si vous réutilisez le fichier d'exemple, il vous faudra modifier toutes les valeurs surlignées suivantes en fonction de votre environnement :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Configurations supplémentaires pour patronictl¶
Afin de permettre d'exploiter les commandes de gestion du cluster PostgreSQL avec patronictl, il reste encore quelques commandes à exécuter en tant que root sur le nœud PostgreSQL :
1 2 3 4 | |
Création de la BDD default nécessaire pour l'installation de cyberelements Cleanroom¶
Lors de l'installation de cyberelements Cleanroom, il est nécessaire de créer en amont une BDD nommée default.
Pour se faire remplissez le tableau suivant pour personnaliser la commande qui vous sera nécessaire d'exécuter depuis un seul des nœuds du cluster PostgreSQL (n'importe lequel) :
| Valeur | Variable | Définition |
|---|---|---|
PSQL_VIP |
Adresse IP virtuelle du cluster PostgreSQL. | |
DB_USER |
Nom de l'utilisateur de la BDD déclaré lors de la Configuration du nœud PostgreSQL |
Commande qui à exécuter depuis un seul des nœuds du cluster PostgreSQL (n'importe lequel) :
1 | |