Lecteurs partagés haute disponibilité utilisant le stockage de blocs Vultr et GlusterFS

GlusterFS est un système de fichiers connecté au réseau qui vous permet efficacement de partager deux disques sur plusieurs appareils sur le réseau. Ce système de fichiers est parfaitement adapté à l'offre de stockage en bloc de Vultr, car vous pouvez partager un lecteur sur le réseau, ce qui n'est pas possible immédiatement.

En termes de fonctionnalités, d'extensibilité et de fiabilité, GlusterFS s'est avéré être l'un des systèmes de fichiers les plus sophistiqués et stables disponibles.

Lorsque des modifications sont apportées au lecteur sur un serveur, elles seront automatiquement répliquées sur l'autre serveur en temps réel. Pour y parvenir et suivre ce guide, vous aurez besoin de:

  • Deux instances de cloud Vultr, exécutant de préférence le même système d'exploitation.
  • Deux disques de stockage en bloc de la même taille.

Après avoir commandé ces deux lecteurs de stockage en bloc, vous devez les attacher à VM 1 et VM 2. Comme nous utiliserons les deux lecteurs de stockage en bloc pour le même système de fichiers, diviser la taille totale des deux lecteurs par deux vous donnera la quantité utilisable des GB. Par exemple, si vous avez deux disques de 100 Go, 100 Go seront utilisables (100 * 2/2).

De plus, les deux VM devront être au même endroit pour qu'elles soient sur le même réseau privé. Nous nous connecterons aux serveurs en utilisant leurs adresses IP internes. Notez que nous effacerons les données sur le lecteur de stockage en mode bloc. Assurez-vous qu'ils sont neufs et non formatés.

Dans ce guide, nous utiliserons storage1et storage2, respectivement avec des adresses IP privées 10.0.99.10 et 10.0.99.11. Les noms et adresses IP de vos serveurs seront très probablement différents, alors assurez-vous de les modifier lors de la configuration de GlusterFS.

Ce guide a été écrit en pensant à CentOS / RHEL 7. Cependant, GlusterFS est relativement compatible entre plusieurs distributions Linux.

Configuration de GlusterFS

Étape 1: modifier le /etc/hostsfichier

Pour que nous puissions nous connecter rapidement aux instances respectives, nous devons ajouter des noms faciles à retenir au hostsfichier. Ouvrez le /etc/hostsfichier et ajoutez les lignes suivantes au bas de celui-ci:

10.0.99.10 storage1
10.0.99.11 storage2

Étape 2: ajoutez le disque storage1

SSH dans storage1et exécutez les commandes suivantes. Par défaut, les lecteurs de stockage en bloc connectés sont montés en tant que /dev/vdb. Si cela diffère dans votre cas pour une raison quelconque, vous devez le modifier dans les commandes ci-dessous.

Formatez le disque:

fdisk /dev/vdb

Appuyez sur "Entrée" pour les trois questions suivantes (concernant la taille de la partition et autres, nous voulons utiliser tout l'espace disponible sur les lecteurs de stockage en bloc) et écrivez "w" pour écrire ces modifications sur le disque. Une fois cette opération terminée, écrivez:

/sbin/mkfs.ext4 /dev/vdb1

Nous sommes allés de l'avant et avons créé un système de fichiers maintenant car Vultr ne crée aucun système de fichiers sur le stockage de blocs par défaut.

Ensuite, nous allons créer le dossier dans lequel nous stockons nos fichiers. Vous pouvez changer ce nom mais vous ne le verrez pas apparaître beaucoup, donc pour éliminer la complexité, je vous recommande de le laisser tranquille.

mkdir /glusterfs1

Pour monter automatiquement le lecteur au démarrage, ouvrez /etc/fstabet ajoutez la ligne suivante au bas du fichier:

/dev/vdb1 /glusterfs1      ext4    defaults        1 2

Enfin, montez le lecteur:

mount -a

Le montage restera persistant pendant les redémarrages, donc lorsque vous redémarrez votre serveur, le lecteur sera automatiquement monté à nouveau.

Étape 3: ajoutez le disque storage2

Maintenant que le disque est ajouté et monté storage1, nous devons également créer le disque storage2. Les commandes diffèrent à peine. Pour fdisk, suivez les mêmes étapes que ci-dessus.

fdisk /dev/sdb
/sbin/mkfs.ext4 /dev/sdb1
mkdir /glusterfs2

Modifiez /etc/fstabet ajoutez la ligne suivante:

/dev/vdb1 /glusterfs2      ext4    defaults        1 2

Tout comme sur storage1, le disque sera automatiquement monté lors des redémarrages.

Montez le lecteur:

mount -a

Enfin, vérifions si nous pouvons voir la partition apparaître:

df -h

Vous devriez voir votre lecteur apparaître ici. Si ce n'est pas le cas, veuillez essayer de suivre les étapes ci-dessus.

Étape 4: Installation de GlusterFS sur storage1etstorage2

Nous devons ensuite installer GlusterFS. Ajoutez le référentiel et installez GlusterFS:

rpm  -ivh  http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.5/CentOS/glusterfs-epel.repo
yum -y install glusterfs glusterfs-fuse glusterfs-server

Il est possible que vous obteniez une erreur yumcar la signature du référentiel n'est pas correcte. Dans ce cas, il est sûr de forcer la non vérification de la signature GPG:

yum -y install glusterfs glusterfs-fuse glusterfs-server --nogpgcheck

Sur les deux serveurs, exécutez les commandes suivantes pour démarrer GlusterFS maintenant et lancez-le automatiquement après un redémarrage:

systemctl enable glusterd.service
systemctl start glusterd.service

Si vous utilisez une ancienne version de CentOS, vous pouvez utiliser les commandes serviceet chkconfig:

chkconfig glusterd on
service glusterd start

Étape 5: désactivation du pare-feu sur storage1etstorage2

Bien que ce ne soit pas la meilleure solution en soi, c'est une bonne idée de désactiver le pare-feu afin d'éliminer les conflits possibles avec les ports bloqués. Si vous ne vous sentez pas à l'aise de le faire, n'hésitez pas à modifier les règles à votre guise, mais en raison de la nature de GlusterFS, je recommande fortement de désactiver le pare-feu. Considérant qu'un réseau privé est en fait privé sur Vultr (et vous n'avez pas besoin de pare-feu pour les autres clients), vous pouvez simplement bloquer tout le trafic entrant depuis Internet et restreindre les connexions autorisées au réseau privé. Cependant, désactiver le pare-feu et ne modifier aucune autre configuration système suffirait également:

systemctl stop firewalld.service
systemctl disable firewalld.service

Si vous utilisez une ancienne version CentOS qui ne prend pas en charge systemctl, utilisez les commandes serviceet chkconfig:

service firewalld stop
chkconfig firewalld off

Si vous ne l'utilisez pas firewalld, essayez de désactiver iptables:

service iptables stop
chkconfig iptables off

Étape 6: ajouter des serveurs au pool de stockage

Après avoir désactivé le pare-feu, nous pouvons ajouter les deux serveurs au pool de stockage. Il s'agit d'un pool composé de tout le stockage disponible. Exécutez la commande suivante sur storage1:

gluster peer probe storage2

Ce que fait cette commande, c'est l'ajouter storage2à son propre pool de stockage. En exécutant la commande suivante sur storage2, les deux disques seront synchronisés:

gluster peer probe storage1

Après avoir exécuté cela sur les deux serveurs, nous devons vérifier l'état sur les deux serveurs:

gluster peer status

Les deux serveurs doivent afficher un état de «pairs: 1». Une erreur courante est que les gens s'attendent à voir Peers: 2, mais comme storage1ils le verront storage2et vice versa, ils ne regardent pas avec eux-mêmes. C'est donc Peers: 1ce dont nous avons besoin.

Étape 7: création d'un lecteur partagé sur storage1

Maintenant que les deux serveurs sont capables de se connecter via GlusterFS, nous allons créer un lecteur partagé.

On storage1, exécutez:

gluster volume create mailrep-volume replica 2  storage1:/glusterfs1/files  storage2:/glusterfs2/files force

Le volume est maintenant créé. Dans GlusterFS, vous devez "démarrer" un volume pour qu'il soit activement partagé sur plusieurs appareils. Commençons:

gluster volume start mailrep-volume

Ensuite, choisissez un dossier qui doit se trouver sur le volume et répliqué sur les deux serveurs. Dans ce didacticiel, nous utiliserons le dossier /var/files. Naturellement, cela peut être tout ce que vous aimez. Créez-le storage1 uniquement :

mkdir /var/files

Ensuite, montez-le:

mount.glusterfs storage1:/mailrep-volume /var/files/

Mettez à jour /etc/fstabafin que le lecteur soit automatiquement monté au démarrage. Ajoutez ce qui suit:

storage1:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0

Remontez le lecteur:

mount -a

Étape 8: création d'un lecteur partagé sur storage2

Maintenant que nous avons créé un lecteur partagé storage1, nous devons également en créer un storage2. Créez un dossier avec le même emplacement / chemin et nom:

mkdir /var/files
mount.glusterfs storage2:/mailrep-volume /var/files/

Tout comme sur storage1, ajoutez la ligne suivante à /etc/fstab:

storage2:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0

Remontez le lecteur:

mount -a

Étape 9: tester le stockage partagé

Accédez au /var/filesdossier sur storage1et créez un fichier:

cd /var/files
touch created_on_storage1

Ensuite, dirigez-vous vers le storage2serveur. Exécutez ls -laet vous devriez voir le fichier created_on_storage1apparaître.

Sur storage2, accédez au /var/filesdossier et créez un fichier:

cd /var/files
touch created_on_storage2

Retournez à storage1et exécutez ls -la /var/files. Vous devriez voir le fichier created_on_storage2apparaître ici.

Étape 10: redémarrer tous les serveurs (facultatif)

Afin de vérifier si votre configuration restera persistante pendant les redémarrages, comme meilleure pratique, vous devez redémarrer tous les serveurs. Comme mentionné, vous devez attendre qu'un serveur soit en place, puis redémarrer l'autre pour que le lecteur partagé soit automatiquement monté.

Redémarrez d' storage1abord, attendez qu'il soit en place, puis redémarrez storage2. Maintenant, connectez-vous et exécutez sur les deux serveurs:

cd /var/files
ls -la

Vous devriez maintenant voir les deux fichiers apparaître. Assurez-vous de commencer sans aucun fichier sur le volume, supprimez donc les fichiers de test que nous avons créés. Vous pouvez le faire sur storage1, storage2ou les deux. Les modifications seront répliquées instantanément:

cd /var/files
rm created_on_storage1
rm created_on_storage2

Vous devez avoir un volume partagé identique sur les deux serveurs, quelles que soient les actions sur les deux volumes.

Vous avez maintenant configuré une configuration GlusterFS à part entière avec 100 Go (ou plus) d'espace utilisable. Dans le cas où vous en auriez besoin de plus à l'avenir, la configuration est facilement évolutive pour ajouter plus de capacité et / ou plus de serveurs si votre charge de travail l'exige.

Merci pour la lecture!


Remarque importante concernant le remontage

GlusterFS permet de garder vos données à jour sur deux disques. Cependant, vous devez noter que lorsque les deux serveurs sont redémarrés en même temps , vous devrez forcer le montage des lecteurs sur les deux serveurs. Vous devez forcer le montage manuellement en exécutant la commande suivante:

gluster volume start mailrep-volume force

En effet, l'un des serveurs agit comme un serveur et l'autre agit comme un client. Bien que la différence ne soit pas très facilement perceptible dans la pratique, cela signifie que lorsque vous devez redémarrer les deux serveurs, vous devez redémarrer l'un, attendre qu'il soit en place, puis démarrer l'autre.

Remarque importante concernant les sauvegardes

Même si vos données seront répliquées sur deux disques, vous devriez avoir vos données répliquées au moins trois fois. Bien que vos données soient mieux protégées contre la corruption de données et autres, vous devez noter que les modifications sont instantanées et vous ne serez en aucun cas protégé contre les erreurs humaines. Lorsque vous supprimez tous les fichiers sur un lecteur, ces modifications seront immédiatement répliquées sur l'autre lecteur, ce qui signifie que vos données seront effacées sur les deux instances.

Heureusement, il existe plusieurs approches pour éviter cela. Tout d'abord, je recommande d'activer les sauvegardes sur votre instance cloud elle-même. Bien que ces sauvegardes n'incluent pas de données sur le stockage en bloc, elles protégeront les données sur l'instance elle-même.

Lorsqu'il s'agit de sauvegarder les données sur le stockage en bloc lui-même, je recommande de faire tourner une instance distincte (par exemple un plan SATA) afin que vous puissiez exécuter une sauvegarde à partir de l'un des deux serveurs attachés chaque nuit, par exemple. De cette façon, vos données seront en sécurité sur un autre appareil séparé.

FAQ

Puis-je augmenter mon stockage sur disque?

Vous pouvez augmenter la taille de stockage des blocs à partir du panneau de configuration Vultr. Vous devez redimensionner le disque à l'intérieur du système d'exploitation après, mais cela sort du cadre de cet article.

Puis-je attacher le stockage de bloc à plus de deux serveurs?

Bien que ce guide ait été écrit pour deux serveurs (donc deux lecteurs de stockage en bloc connectés aux deux serveurs), il est possible de prendre ce guide et de l'utiliser également pour plus de deux serveurs. Une configuration avec plus de deux serveurs / lecteurs pourrait ressembler à ceci pour 6 serveurs, par exemple:

VM: storage1
VM: storage2
VM: storage3
VM: storage4
Block Storage: attached to storage1
Block Storage: attached to storage2
Block Storage: attached to storage3
Block Storage: attached to storage4

Étant donné que tous les lecteurs de stockage en bloc ont une capacité de 200 Go, par exemple, vous obtiendrez 200 * 4 / 4. En d'autres termes, l'espace utilisable est toujours la capacité d'un lecteur de stockage en bloc unique. En effet, un serveur auquel un stockage en bloc est attaché est traité comme le «maître» par GlusterFS et il est répliqué sur les autres serveurs. Cependant, la configuration est conçue pour survivre sans serveur maître, ce qui en fait une solution stable, redondante et fiable.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Configurez votre propre réseau privé avec OpenVPN

Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment installer LimeSurvey sur CentOS 7

Comment installer LimeSurvey sur CentOS 7

LimeSurvey est un outil de sondage en ligne gratuit et open source qui est largement utilisé pour publier des sondages en ligne et recueillir des commentaires sur les sondages. Dans cet article, je vais

Installer Java SE sur CentOS

Installer Java SE sur CentOS

Introduction Java est une plate-forme logicielle populaire qui vous permet de développer et dexécuter des applications et des applets Java dans divers environnements matériels. Il y a

Comment installer Vanilla Forum sur CentOS 7

Comment installer Vanilla Forum sur CentOS 7

Vous utilisez un système différent? Le forum Vanilla est une application de forum open source écrite en PHP. Il est entièrement personnalisable, facile à utiliser et prend en charge externa

Installation de Netdata sur CentOS 7

Installation de Netdata sur CentOS 7

Vous utilisez un système différent? Netdata est une étoile montante dans le domaine de la surveillance des métriques système en temps réel. Par rapport à dautres outils du même type, Netdata:

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Dans ce didacticiel, découvrez comment configurer un serveur multijoueur Just Cause 2. Prérequis Veuillez vous assurer que le système est entièrement mis à jour avant de commencer

Comment installer Starbound Server sur CentOS 7

Comment installer Starbound Server sur CentOS 7

Vous utilisez un système différent? Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Starbound sur CentOS 7. Prérequis Vous devez posséder ce jeu sur vous

Installation et configuration de ZNC sur CentOS 7

Installation et configuration de ZNC sur CentOS 7

ZNC est un videur IRC gratuit et open-source qui reste connecté en permanence à un réseau afin que les clients puissent recevoir des messages envoyés lorsquils sont hors ligne. Thi

Comment installer Django sur CentOS 7

Comment installer Django sur CentOS 7

Django est un framework Python populaire pour lécriture dapplications Web. Avec Django, vous pouvez créer des applications plus rapidement, sans réinventer la roue. Si tu veux

Comment configurer ionCube Loader sur CentOS 7

Comment configurer ionCube Loader sur CentOS 7

ionCube Loader est une extension PHP qui permet à un serveur Web dexécuter des fichiers PHP qui ont été encodés à laide dionCube Encoder et qui est requis pour exécuter e

Comment installer Reader Self 3.5 RSS Reader sur un VPS CentOS 7 LAMP

Comment installer Reader Self 3.5 RSS Reader sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? Reader Self 3.5 est un lecteur RSS auto-hébergé simple et flexible, gratuit et open source et une alternative à Google Reader. Reader Sel

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Introduction Dans ce tutoriel, installez bien PufferPanel sur notre Vultr VPS. PufferPanel est un panneau de contrôle open source et gratuit pour vous gérer

Comment installer BoltWire CMS sur CentOS 7

Comment installer BoltWire CMS sur CentOS 7

Vous utilisez un système différent? Introduction BoltWire est un système de gestion de contenu gratuit et léger écrit en PHP. Comparé à la plupart des autres gestionnaires de contenu

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.