LINUX:Pacemaker - Configuration d'Iscsi - Target et initiator
→ retour aux quatre serveurs WEB en Failover, Fsyncd et ISCSI
But
Passons à la configuration d'ISCSI. La partie ISCSI Target sera concentrée sur la machine "sv0.home.dom" et les quatre machines du cluster utiliseront ce service en tant qu'ISCSI Initiator. Nous nous baserons sur la configuration de l'article sur ISCSI. Nous ne nous attarderons que sur la partie à adapter sans rentrer dans les détails.
Rappelons le schéma qui illustre ces accès.
Nous devons aborder successivement la partie Target et ensuite le côté Initiator.
Target
Cette configuration est à effectuer sur la machine "sv0.home.dom".
Partitionnement
Nous avons ajouté un disque nommé "/dev/sdb". Nous y créons quatre partitions de tailles à-peu-près égales; chacune sera attribuée à une des quatre machines virtuelles du cluster.
Au final, la commande:
fdisk -l /dev/sdb
affiche:
Disque /dev/sdb : 298,09 GiB, 320072933376 octets, 625142448 secteurs Modèle de disque : SAMSUNG HD322GJ Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : gpt Identifiant de disque : 0743E696-CEAF-A345-ACCF-EC0E0B61F580 Périphérique Début Fin Secteurs Taille Type /dev/sdb1 2048 157288447 157286400 75G Système de fichiers Linux /dev/sdb2 157288448 314574847 157286400 75G Système de fichiers Linux /dev/sdb3 314574848 471861247 157286400 75G Système de fichiers Linux /dev/sdb4 471861248 625141759 153280512 73,1G Système de fichiers Linux
Fichier de configuration du service TGT
Le service "tgtd.service" a besoin d'un fichier de configuration reprenant nos quatre Targets.
Voici le contenu du fichier "/etc/tgt/conf.d/disque4.conf":
<target iqn.2023-03.dom.home.sv0:sv0.cluster5> backing-store /dev/sdb1 initiator-name iqn.2023-03.dom.home.sv:sv.initiator05 initiator-name iqn.2023-03.dom.home.sv:sv.initiator06 initiator-name iqn.2023-03.dom.home.sv:sv.initiator07 initiator-name iqn.2023-03.dom.home.sv:sv.initiator08 incominguser diskuser Eupen2Marron initiator-address 192.168.1.71 initiator-address 192.168.1.72 initiator-address 192.168.1.73 initiator-address 192.168.1.74 </target> <target iqn.2023-03.dom.home.sv0:sv0.cluster6> backing-store /dev/sdb2 initiator-name iqn.2023-03.dom.home.sv:sv.initiator05 initiator-name iqn.2023-03.dom.home.sv:sv.initiator06 initiator-name iqn.2023-03.dom.home.sv:sv.initiator07 initiator-name iqn.2023-03.dom.home.sv:sv.initiator08 incominguser diskuser Eupen2Marron initiator-address 192.168.1.71 initiator-address 192.168.1.72 initiator-address 192.168.1.73 initiator-address 192.168.1.74 </target> <target iqn.2023-03.dom.home.sv0:sv0.cluster7> backing-store /dev/sdb3 initiator-name iqn.2023-03.dom.home.sv:sv.initiator05 initiator-name iqn.2023-03.dom.home.sv:sv.initiator06 initiator-name iqn.2023-03.dom.home.sv:sv.initiator07 initiator-name iqn.2023-03.dom.home.sv:sv.initiator08 incominguser diskuser Eupen2Marron initiator-address 192.168.1.71 initiator-address 192.168.1.72 initiator-address 192.168.1.73 initiator-address 192.168.1.74 </target> <target iqn.2023-03.dom.home.sv0:sv0.cluster8> backing-store /dev/sdb4 initiator-name iqn.2023-03.dom.home.sv:sv.initiator05 initiator-name iqn.2023-03.dom.home.sv:sv.initiator06 initiator-name iqn.2023-03.dom.home.sv:sv.initiator07 initiator-name iqn.2023-03.dom.home.sv:sv.initiator08 incominguser diskuser Eupen2Marron initiator-address 192.168.1.71 initiator-address 192.168.1.72 initiator-address 192.168.1.73 initiator-address 192.168.1.74 </target>
Le premier Target sera utilisé par la machine virtuelle "cluster5.home.dom" et ainsi de suite pour les machines virtuelles "cluster6.home.dom", "cluster7.home.dom" et "cluster8.home.dom".
On remarque les quatre noms d'Initiator. Chaque machine réelle du cluster en recevra un.
Activer et lancer le service
Le service à lancer est "tgtd.service". La première commande active le service pour qu'à chaque démarrage du serveur, le service se lance. La seconde lance directement le service.
systemctl enable tgtd.service systemctl start tgtd.service
Remarque
Il est important que cette machine soit toujours active avant l'activation de Pacemaker sur les quatre machines du cluster.
Initiator
Ces configurations sont à effectuer sur les quatre machines du cluster sauf le partitionnement et le formatage.
Configuration
Les fichiers de configuration se retrouvent dans le répertoire "/etc/iscsi". Il contient deux fichiers: initiatorname.iscsi et iscsid.conf
- Dans le fichier "iscsid.conf", nous allons y apporter quelques modifications.
Ces modifications permettent que la machine s'authentifie auprès du serveur targets ISCSI "sv0.home.dom". Il s'agit des deux paramètres de l'option "incominguser" activés sur la machine Targets: nom d'utilisateur et son mot de passe. On ajoute ou active ces lignes:
node.session.auth.authmethod = CHAP node.session.auth.username = diskuser node.session.auth.password = Eupen2Marron
- Dans le fichier "initiatorname.iscsi", on remplace la ligne existante par le nom d'initiator défini sur le serveur targets ISCSI.
- Voici son contenu sur la machine "sv1.home.dom":
iqn.2023-03.dom.home.sv:sv.initiator05
- Voici son contenu sur la machine "sv2.home.dom":
iqn.2023-03.dom.home.sv:sv.initiator06
- Voici son contenu sur la machine "sv3.home.dom":
iqn.2023-03.dom.home.sv:sv.initiator07
- Voici son contenu sur la machine "sv4.home.dom":
iqn.2023-03.dom.home.sv:sv.initiator08
Découverte
Sur les quatre machines du cluster, on exécute la commande suivante:
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.70 --discover
qui donne:
192.168.1.70:3260,1 iqn.2023-03.dom.home.sv0:sv0.cluster5 192.168.1.70:3260,1 iqn.2023-03.dom.home.sv0:sv0.cluster6 192.168.1.70:3260,1 iqn.2023-03.dom.home.sv0:sv0.cluster7 192.168.1.70:3260,1 iqn.2023-03.dom.home.sv0:sv0.cluster8
A la suite de cette commande, les paramètres de ces quatre targets sont installés.
Connexions
Sur une des machines du cluster, on lance la commande:
systemctl start iscsi
Elle active les connexions au serveur ISCSI Target. Il n'est pas nécessaire d'activer ce service.
Quatre nouveaux devices ISCSI apparaissent que l'on peut visualiser avec la commande:
lsblk
qui affiche (seule la partie qui nous concerne est reprise):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdc 8:32 0 75G 0 disk sdd 8:48 0 75G 0 disk sde 8:64 0 73,1G 0 disk sdf 8:80 0 75G 0 disk
On peut aussi les repérer avec la commande:
ls -al /dev/disk/by-path | grep iscsi
qui donne:
lrwxrwxrwx 1 root root 9 22 mar 19:48 ip-192.168.1.70:3260-iscsi-iqn.2023-03.dom.home.sv0:sv0.cluster5-lun-1 -> ../../sdc lrwxrwxrwx 1 root root 9 22 mar 19:48 ip-192.168.1.70:3260-iscsi-iqn.2023-03.dom.home.sv0:sv0.cluster6-lun-1 -> ../../sdd lrwxrwxrwx 1 root root 9 22 mar 19:48 ip-192.168.1.70:3260-iscsi-iqn.2023-03.dom.home.sv0:sv0.cluster7-lun-1 -> ../../sde lrwxrwxrwx 1 root root 9 22 mar 19:48 ip-192.168.1.70:3260-iscsi-iqn.2023-03.dom.home.sv0:sv0.cluster8-lun-1 -> ../../sdf
Partitionnements
Sur cette même machine, on crée une partition sur chacun de ces quatre nouveaux disques.
Formatages
Sur cette même machine, on formate ces quatre nouvelles partitions:
mkfs.xfs /dev/sdc1 mkfs.xfs /dev/sdd1 mkfs.xfs /dev/sde1 mkfs.xfs /dev/sdf1
UUID
Pour le montage de ces partitions, il nous faudra connaitre leurs UUID. On peut les avoir avec la commande suivante:
ls -al /dev/disk/by-uuid
qui donne (seule la partie qui nous concerne est reprise):
lrwxrwxrwx 1 root root 10 22 mar 19:50 5506f7a0-3fee-48ad-a753-e4050f61b654 -> ../../sdc1 lrwxrwxrwx 1 root root 10 22 mar 19:50 c5c6a292-00e2-4f5b-8157-dcfd34c07bd9 -> ../../sdd1 lrwxrwxrwx 1 root root 10 22 mar 19:50 d4e00f02-a83f-4379-accf-60357830147a -> ../../sde1 lrwxrwxrwx 1 root root 10 22 mar 19:50 8fbb22bd-8624-4ff0-91a1-ac1f6bb051e4 -> ../../sdf1
Répertoires de montage
Sur les quatre machines du cluster, on crée enfin les répertoires sur lesquels ces partitions seront montées:
mkdir /media mkdir /media/cluster5 mkdir /media/cluster6 mkdir /media/cluster7 mkdir /media/cluster8
N'oublions pas de leur affecter les droits nécessaires en fonction de leur utilisation.
→ retour aux quatre serveurs WEB en Failover, Fsyncd et ISCSI