GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer DRBD sur CentOS Linux

Qu'est-ce que DRBD ?

DRBD (Distributed Replicated Block Device) est un progiciel pour les systèmes basés sur Linux. Il est utilisé pour répliquer les périphériques de stockage d'un nœud à l'autre nœud sur un réseau.

Il peut fournir une assistance pour gérer la reprise après sinistre et les basculements. DRBD peut être compris comme une haute disponibilité pour le matériel et peut être considéré comme un remplacement du stockage partagé en réseau.

Comment fonctionne DRBD ?

Supposons que nous voulions regrouper une partition de stockage sur deux systèmes CentOS, nous avons besoin d'un périphérique bloc (comme /dev/sdb1) sur les deux systèmes. Ces systèmes sont définis comme nœud principal et nœud secondaire (peut commuter les nœuds principal et secondaire).

DRBD utilise un périphérique de bloc virtuel (comme drbd0) pour partager les périphériques de bloc /dev/sdb1 des deux systèmes. Le nœud principal est celui où le lecteur virtuel drbd0 est monté à des fins de lecture/écriture.

Nous devons d'abord installer les packages DRBD qui sont utilisés pour créer un disque virtuel drbd0. Nous pouvons le formater en tant que système de fichiers xfs ou ext3 pour utiliser le périphérique /dev/drbd0. Le périphérique drbd0 est configuré pour utiliser les périphériques de bloc /dev/sdb1 sur les deux systèmes. Nous travaillons maintenant uniquement sur l'appareil drbd0.

Étant donné que drbd0 ne peut être monté que sur le nœud principal, le contenu n'est accessible qu'à partir du nœud principal à la fois. Quoi qu'il en soit, si le système principal tombe en panne, nous risquons de perdre les fichiers système, mais le périphérique virtuel drbd0 sera disponible. Nous pouvons basculer le nœud initialement secondaire en nœud principal et accéder à nouveau à son contenu.

Utilisation de DRBD sur CentOS

Ce didacticiel a été réalisé sur CentOS 7, mais il devrait également fonctionner pour les autres versions de CentOS. Lisez ceci pour savoir comment vérifier la version de CentOS.

Exigences

  • Deux systèmes CentOS installés
  • Un périphérique de bloc gratuit comme /dev/sdb1 sur les deux systèmes (de préférence de même taille)
  • Selinux permissif ou désactivé
  • port 7788 autorisé sur le pare-feu
  • Les nœuds doivent appartenir au même réseau.

Installation

Ici, nous suivons l'installation en ajoutant le référentiel epel car les packages drbd ne sont pas disponibles dans les distributions CentOS.

$ rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Ajoutez également la clé GPG sur les deux nœuds. La clé GPG est la clé publique utilisée pour chiffrer la communication entre les nœuds.

$ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org

Nous pouvons maintenant utiliser yum pour installer les packages drbd. Nous devons identifier les versions de drbd prises en charge par notre noyau. Vérifiez les versions de drbd disponibles pour votre noyau :

$ yum info *drbd* | grep Name

La sortie est comme :

Installez maintenant la version requise de drbd avec les modules de noyau nécessaires.

$ yum -y install drbd84-utils kmod-drbd84

Vérifiez si le module du noyau est chargé ou non.

$ lsmod | grep -i drbd

Si la réponse de la commande ci-dessus donne une sortie vide, les modules du noyau ne sont pas chargés. Vous devez redémarrer le système et essayer :

$ modprobe drbd

modprobe est une commande qui ajoute ou supprime intelligemment des modules du noyau Linux. Pour que les modules soient chargés à chaque démarrage, systemd-modules-load service est utilisé. Créez donc un fichier appelé drbd.conf dans /etc/modulesload.d.

$ echo drbd > /etc/modules-load.d/drbd.conf

Configurer DRBD

Les fichiers de configuration DRBD se trouvent dans /etc/drbd.d/

Par défaut, /etc/drbd.d/global_common.conf est disponible global et contient les configurations globales ou principales. D'autres fichiers de configuration sont appelés fichiers de ressources avec l'extension *.res.

Nous créons maintenant les fichiers de configuration des ressources sur les deux nœuds pour utiliser drbd pour nos périphériques de bloc spécifiés.

Créons le fichier de ressources nommé linuxhandbook.res

$ vi /etc/drbd.d/linuxhandbook.res

copiez et collez le contenu ci-dessous dans le fichier de ressources

resource linuxhandbook {
protocol C;          
on node1 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 10.20.222.14:7788;
                meta-disk internal;
                }
on node2 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 10.20.222.15:7788;
                meta-disk internal;
                }
} 

Ici,

  • linuxhandbook est le nom de la ressource. Les noms de ressources doivent toujours être uniques.
  • le protocole C est utilisé pour la communication synchrone. Il s'agit d'un protocole de réplication entièrement synchrone. Les autres protocoles disponibles sont le protocole A et le protocole B.
  1. protocole A :Protocole de réplication asynchrone. Généralement préféré pour les nœuds dans les réseaux longue distance.
  2. protocole B :Protocole de réplication semi-synchrone. Également appelé protocole synchrone en mémoire.
  3. protocole C  :préféré pour les nœuds dans les réseaux à courte distance.
  • node 1 et node2 sont le nom d'hôte des nœuds individuels. Utiliser uniquement pour identifier les blocs.
  • device /dev/drbd0 est l'appareil logique créé pour être utilisé comme  appareil.
  • disk /dev/sdb1 est le périphérique de bloc physique que drbd0 occupera.
  • l'adresse 10.20.222.14:7788 et l'adresse 10.20.222.15:7788 sont les adresses IP de deux nœuds respectifs avec le port TCP 7788 ouvert.
  • le méta-disque interne est utilisé pour définir l'utilisation des métadonnées internes du disque.

La configuration doit être la même sur les deux nœuds.

Maintenant, nous devons initialiser le stockage des métadonnées sur chaque nœud :

$ drbdadm create-md linuxhandbook

Si cela donne un message d'erreur, vous devez créer un fichier de données factice manuellement, puis la commande essayer ci-dessus.

$ dd if=/dev/zero of=/dev/sdb1 bs=1024k count=1024

La commande dd est utilisée pour créer un fichier aléatoire de mémoire spécifiée. La commande create-md doit réussir puis après.

Une fois le périphérique logique rendu utilisable, connectez le périphérique drbd0 au disque sdb1 sur les deux nœuds. Voir la sortie de lsblk

$ lsblk

la sortie devrait ressembler à ceci

Si ce n'est pas le cas, attachez le périphérique drbd0 au disque sdb1 via le fichier de ressources.

$ drbdadm attach linuxhandbook
or
$ drbdadm up linuxhandbook

Once again try,
$ lsblk

Démarrez et activez le service drbd sur les deux nœuds.

$ systemctl start drbd
$ systemctl enable drbd

Si le démarrage de drbd peut être rapide pour un nœud et prendre un certain temps pour un autre nœud.

Configuration des nœuds primaires et secondaires

DRDB utilise un seul nœud à la fois comme nœud principal où la lecture et l'écriture peuvent être effectuées.

Nous allons d'abord spécifier le nœud 1 comme nœud principal.

$ drbdadm primary linuxhandbook --force

Vérifiez l'état du processus drbd :

$ cat /proc/drbd 
or 
$ drbd-overview

La sortie ressemble à :

Ici, les informations que nous pouvons obtenir sont :

  • actuellement, quel nœud est principal et lequel est secondaire.
  • le processus de synchronisation des données.
  • état de l'appareil drbd comme :incohérent, à jour, sans disque.

Un autre nœud, node2 est automatiquement défini comme nœud secondaire. Consultez l'état du processus de présentation de drbd.

L'étape majeure que nous n'avons pas encore effectuée consiste à formater le périphérique drbd0. Cela ne peut être fait que sur l'un des nœuds.

Ici, nous formatons drbd0 en ext3 avec la commande mkfs. Le système de fichiers xfs fonctionne également. Il est préférable d'utiliser le même type de disque que celui de /dev/sdb1.

$ mkfs -t ext3 /dev/drbd0

Maintenant, à nouveau au niveau du nœud principal (par exemple, il s'agit du nœud 1 dans ce didacticiel), nous devons monter le périphérique drbd0 pour pouvoir travailler dessus.

$ mount /dev/drbd0  /mnt 

you can select your required mount point instead of /mnt. for example, I can mount the /dev/drbd0 device to /var/lib/mysql to use it for mysql database drbd.

REMARQUE :Rappelez-vous toujours le processus. Tout d'abord, vous devez définir le nœud comme principal pour DRBD. Ensuite, montez le périphérique drbd0 sur votre système et vous êtes autorisé à effectuer des actions sur le périphérique. Sans faire du nœud le nœud principal, vous ne pouvez pas monter le périphérique drb0 et ne pouvez pas utiliser le contenu de ce périphérique.

Test du processus DRBD

Une fois que drbd a été configuré sur les deux nœuds et qu'un nœud est devenu principal. Nous avons monté l'appareil à l'emplacement /mnt. Créez maintenant un fichier pour tester la synchronisation des nœuds drbd.

$ touch  /mnt/drbdtest.txt
$ ll /mnt/

Après cela, nous définirons node1 comme secondaire et node2 comme primaire. Le processus est similaire en miroir. Au nœud 1 (au nœud principal de l'instance), démontez le périphérique /dev/drbd0, rendez-le secondaire. Au nœud2 (au nœud secondaire de l'instance), faites-en un nœud principal et montez à l'emplacement requis.

au noeud 1 :

$ umount  /mnt
$ drbdadm secondary linuxhandbook

au noeud 2 :

$ drbdadm primary linuxhandbook
$ mount /dev/drbd0  /mnt

Une fois le montage réussi sur node2, vérifiez les fichiers dans le dossier /mnt. Vous devez voir le fichier drbdtest.txt (créé au nœud1).

$ ll  /mnt/

Si vous souhaitez disposer d'une interface graphique pour gérer et visualiser les nœuds de cluster drbd, vous pouvez utiliser LCMC (Linux Cluster Management Console).

C'est ça! Vous avez implémenté DRBD avec succès sur votre système. S'il reste des questions, vous pouvez commenter ci-dessous dans la section des commentaires.

Auteur :Rishi Raj Gautam est un amoureux de Linux et un activiste de l'open source.


Linux
  1. Comment debootstrap sur CentOS Linux

  2. Comment installer Erlang sur Rocky Linux/Alma Linux/CentOS 8

  3. Comment installer Ansible sur CentOS 8 Linux

  4. Comment installer PHP 8 sur CentOS 8 Linux

  5. Comment installer le noyau Linux 5.0 sur CentOS 7

Comment installer R sur CentOS 7

Comment installer R sur CentOS 8

Comment installer Webmin sur CentOS Linux

Comment installer JIRA sur CentOS 8 Linux

Comment mettre à niveau CentOS 7 vers CentOS 8 Linux

Comment installer Java 14 sur Linux, Ubuntu, CentOS