Comment configurer DRBD pour reproduire le stockage sur deux serveurs CentOS 7

Comment configurer DRBD pour reproduire le stockage sur deux serveurs CentOS 7

Le Dbd (représente Appareil de bloc répliqué distribué) est une solution de stockage répliquée distribuée, flexible et polyvalente pour Linux. Il reflète le contenu de dispositifs de bloc tels que des disques durs, des partitions, des volumes logiques, etc. Entre les serveurs. Il implique une copie de données sur deux périphériques de stockage, de sorte que si l'un échoue, les données de l'autre peuvent être utilisées.

Vous pouvez y penser un peu comme une configuration RAID RAID 1 avec les disques reflétés sur les serveurs. Cependant, il fonctionne d'une manière très différente de Raid et même de Raid Network.

Initialement, Dbd a été principalement utilisé dans les grappes d'ordinateurs de haute disponibilité (HA), cependant, en commençant par la version 9, il peut être utilisé pour déployer des solutions de stockage cloud.

Dans cet article, nous montrerons comment installer DRBD dans CentOS et montrer brièvement comment l'utiliser pour reproduire le stockage (partition) sur deux serveurs. Ceci est l'article parfait pour démarrer avec l'utilisation de DRBD dans Linux.

Environnement de test

Aux fins de cet article, nous utilisons deux nœuds pour cette configuration.

  • Node1: 192.168.56.101 - Tecmint.Tecmint.lan
  • Node2: 192.168.56.102 - Server1.Tecmint.lan

Étape 1: Installation des packages DRBD

Dbd est implémenté comme un module de noyau Linux. Il constitue précisément un pilote pour un dispositif de bloc virtuel, il est donc établi juste au bas de la pile d'E / S d'un système.

Dbd peut être installé à partir du Elrépo ou Epel référentiels. Commençons par importer la clé de signature du package Elrepo et activez le référentiel comme indiqué sur les deux nœuds.

# RPM --Import https: // www.elrépo.org / rpm-gpg-key-elrepo.org # rpm -uvh http: // www.elrépo.org / elrepo-release-7.0-3.EL7.elrépo.noarch.RPM 

Ensuite, nous pouvons installer le module du noyau DRBD et les utilitaires sur les deux nœuds en fonctionnant:

# yum install -y kmod-drbd84 drbd84-utils 

Si tu as Selinux Activé, vous devez modifier les politiques pour exempter les processus DRBD du contrôle SELINUX.

# SEMANAGE Permissive -a DRBD_T 

De plus, si votre système a un pare-feu activé (Firewalld), vous devez ajouter le Dbd port 7789 dans le pare-feu pour permettre la synchronisation des données entre les deux nœuds.

Exécutez ces commandes sur le premier nœud:

# Firewall-Cmd - Permanent --Add-Rich-Rule = 'Rule Family = "IPv4" Source Address = "192.168.56.102 "port port =" 7789 "protocole =" TCP "accepter '# # Firewall-Cmd - Reload 

Ensuite, exécutez ces commandes sur le deuxième nœud:

# Firewall-Cmd - Permanent --Add-Rich-Rule = 'Rule Family = "IPv4" Source Address = "192.168.56.101 "port port =" 7789 "protocole =" TCP "accepter '# # Firewall-Cmd - Reload 

Étape 2: Préparation du stockage de niveau inférieur

Maintenant que nous avons Dbd Installé sur les deux nœuds de cluster, nous devons préparer une zone de stockage de taille approfondie sur les deux nœuds. Il peut s'agir d'une partition de disque dur (ou d'un disque dur physique complet), d'un dispositif de raid logiciel, d'un volume logique LVM ou d'un tout autre type de périphérique de bloc trouvé sur votre système.

Aux fins de cet article, nous créerons un dispositif de bloc facturé de taille 2 Go en utilisant le Commande DD.

 # dd if = / dev / zéro de = / dev / sdb1 bs = 2024k count = 1024 

Nous supposerons qu'il s'agit d'une partition inutilisée (/ dev / sdb1) sur un deuxième périphérique de bloc (/ dev / sdb) attaché aux deux nœuds.

Étape 3: Configuration de DRBD

Le fichier de configuration principal de DRBD est situé à / etc / drbd.confli et des fichiers de configuration supplémentaires peuvent être trouvés dans le / etc / drbd.d annuaire.

Pour reproduire le stockage, nous devons ajouter les configurations nécessaires dans le / etc / drbd.d / global_common.confli fichier qui contient les sections globales et communes de la configuration DRBD et nous pouvons définir des ressources en .res des dossiers.

Faisons une sauvegarde du fichier d'origine sur les deux nœuds, puis ouvrons un nouveau fichier pour l'édition (utilisez un éditeur de texte de votre goût).

# mv / etc / drbd.d / global_common.conf / etc / drbd.d / global_common.confli.orig # vim / etc / drbd.d / global_common.confli 

Ajoutez les lignes suivantes dans les deux fichiers:

Global Utilisation-Count OUI;  commun net protocole c;  

Enregistrez le fichier, puis fermez l'éditeur.

Assormions brièvement plus de lumière sur la ligne protocole C. DRBD prend en charge trois modes de réplication distincts (donc trois degrés de synchronicité de réplication) qui sont:

  • protocole a: Protocole de réplication asynchrone; il est le plus souvent utilisé dans les scénarios de réplication à longue distance.
  • Protocole B: Protocole de réplication semi-synchrone AKA Protocole synchrone de mémoire.
  • protocole C: couramment utilisé pour les nœuds dans de courts réseaux éloignés; C'est de loin le protocole de réplication le plus utilisé dans les configurations DRBD.

Important: Le choix du protocole de réplication influence deux facteurs de votre déploiement: protection et latence. Et débit, En revanche, est largement indépendant du protocole de réplication sélectionné.

Étape 4: Ajout d'une ressource

UN Ressource est le terme collectif qui fait référence à tous les aspects d'un ensemble de données répliquées particulier. Nous définirons notre ressource dans un fichier appelé / etc / drbd.d / test.res.

Ajoutez le contenu suivant dans le fichier, sur les deux nœuds (n'oubliez pas de remplacer les variables du contenu par les valeurs réelles de votre environnement).

Prenez note du noms d'hôtes, Nous devons spécifier le nom d'hôte réseau qui peut être obtenu en exécutant la commande uname -n.

Test de ressources sur Tecmint.Tecmint.lan device / dev / drbd0; disque / dev / sdb1; Méta-disque interne; Adresse 192.168.56.101: 7789;  sur Server1.Tecmint.lan device / dev / drbd0; disque / dev / sdb1; Méta-disque interne; Adresse 192.168.56.102: 7789;  

où:

  • sur le nom d'hôte: les états de section ON qui hébergent les instructions de configuration ci-jointes s'appliquent à.
  • test: est le nom de la nouvelle ressource.
  • périphérique / dev / drbd0: Spécifie le nouveau périphérique de bloc virtuel géré par DRBD.
  • disque / dev / sdb1: La partition du périphérique de bloc est-elle le périphérique de support pour le périphérique DRBD.
  • méta-disque: Définit où DRBD stocke ses métadonnées. L'utilisation interne signifie que DRBD stocke ses méta-données sur le même appareil de niveau inférieur physique que les données de production réelles.
  • adresse: Spécifie l'adresse IP et le numéro de port du nœud respectif.

Notez également que si les options ont des valeurs égales sur les deux hôtes, vous pouvez les spécifier directement dans la section des ressources.

Par exemple, la configuration ci-dessus peut être restructurée à:

Resource Test Device / Dev / Drbd0; disque / dev / sdb1; Méta-disque interne; sur Tecmint.Tecmint.lan adresse 192.168.56.101: 7789;  sur Server1.Tecmint.lan adresse 192.168.56.102: 7789;  

Étape 5: Initialisation et activité de ressources

Interagir avec Dbd, Nous utiliserons les outils d'administration suivants qui communiquent avec le module du noyau afin de configurer et d'administrer des ressources DRBD:

  • drbdadm: un outil d'administration de haut niveau du DRBD.
  • drbdsetup: Un outil d'administration de niveau inférieur pour fixer les périphériques DRBD avec leurs appareils de blocage de support, pour configurer des paires de périphériques DRBD pour refléter leurs périphériques de blocage de support, et pour inspecter la configuration de l'exécution de périphériques DRBD.
  • Drbdmeta: est l'outil de gestion des méta-données.

Après avoir ajouté toutes les configurations de ressources initiales, nous devons afficher la ressource sur les deux nœuds.

# DRBDADM Create-MD Test 
Initialiser le stockage des méta-données

Ensuite, nous devons activer le Ressource, qui fixera la ressource avec son périphérique de support, puis il définit les paramètres de réplication et connecte la ressource à son pair:

# Test UP DRBDADM 

Maintenant, si vous exécutez la commande LSBLK, vous remarquerez que le périphérique / volume DRBD drbd0 est associé au dispositif de support / dev / sdb1:

# lsblk 
Répertorier les appareils de blocage

Pour désactiver la ressource, exécutez:

# DRBDADM Test Down 

Pour vérifier l'état des ressources, exécutez la commande suivante (notez que le Incohérent / incohérent L'état de disque est attendu à ce stade):

# Test d'état DRBDADM ou # Test d'état DRBDSetUp --verbose --statistics # pour un statut plus détaillé 
Vérifiez l'état des ressources sur les nœuds

Étape 6: Définissez la ressource primaire / source de synchronisation initiale du dispositif

À ce stade, Dbd est maintenant prêt pour l'opération. Nous devons maintenant lui dire quel nœud doit être utilisé comme source de synchronisation initiale du dispositif.

Exécutez la commande suivante sur un seul nœud pour démarrer la synchronisation complète initiale:

# DRBDADM Primary - Test de force # Test d'état DRBDADM 
Définir le nœud primaire pour l'appareil initial

Une fois la synchronisation terminée, l'état des deux disques doit être À jour.

Étape 7: Tester la configuration DRBD

Enfin, nous devons tester si le périphérique DRBD fonctionnera bien pour le stockage de données répliquées. N'oubliez pas que nous avons utilisé un volume de disque vide, nous devons donc créer un système de fichiers sur l'appareil et le monter pour tester si nous pouvons l'utiliser pour le stockage de données répliquées.

Nous pouvons créer un système de fichiers sur l'appareil avec la commande suivante, sur le nœud où nous avons commencé la synchronisation complète initiale (qui a la ressource avec un rôle principal):

# MKFS -T EXT4 / DEV / DRBD0 
Faire du système de fichiers sur le volume DRBD

Puis montez-le comme indiqué (vous pouvez donner au point de montage un nom approprié):

# mkdir -p / mnt / drdb_pri / # mont / dev / drbd0 / mnt / drdb_pri / 

Copiez ou créez maintenant des fichiers dans le point de montage ci-dessus et faites une longue liste à l'aide de la commande LS:

# cd / mnt / drdb_pri / # ls -l 
Énumérez le contenu du volume primaire DRBD

Suivant, déboucher L'appareil (assurez-vous que le support n'est pas ouvert, modifiez le répertoire après le non-respect pour éviter toute erreur) et modifier le rôle du nœud de primaire pour secondaire:

# umount / mnt / drdb_pri / # CD # Test secondaire DRBDADM 

Sur l'autre nœud (qui a la ressource avec un rôle secondaire), faites-le principalement, puis montez l'appareil dessus et effectuez une longue liste du point de montage. Si la configuration fonctionne bien, tous les fichiers stockés dans le volume doivent être là:

# DRBDADM Test primaire # mkdir -p / mnt / drdb_sec / # mont / dev / drbd0 / mnt / drdb_sec / # cd / mnt / drdb_sec / # ls -l 
Tester la configuration DRBD travaillant sur le nœud secondaire

Pour plus d'informations, consultez les pages de l'homme des outils d'administration de l'espace utilisateur:

# man dbdadm # man drbdsetup # man drbdmeta 

Référence: Le guide de l'utilisateur DRBD.

Résumé

Dbd est extrêmement flexible et polyvalent, ce qui en fait une solution de réplication de stockage adaptée à l'ajout de HA à à peu près n'importe quelle application. Dans cet article, nous avons montré comment installer Dbd dans Centos 7 et a brièvement démontré comment l'utiliser pour reproduire le stockage. N'hésitez pas à partager vos réflexions avec nous via le formulaire de rétroaction ci-dessous.