Gedeelde schijven met hoge beschikbaarheid met Vultr Block Storage en GlusterFS

GlusterFS is een netwerkgebonden bestandssysteem waarmee u effectief twee schijven kunt delen over meerdere apparaten op het netwerk. Dit bestandssysteem past perfect in het aanbod van Vultr's blokopslag, omdat je een schijf over het netwerk kunt delen die niet kant-en-klaar mogelijk is.

In termen van functies, uitbreidbaarheid en betrouwbaarheid heeft GlusterFS bewezen een van de meest geavanceerde en stabiele bestandssystemen te zijn die beschikbaar zijn.

Wanneer er wijzigingen worden aangebracht aan de schijf op één server, worden deze automatisch in realtime gerepliceerd naar de andere server. Om dit te bereiken en deze gids te volgen, hebt u nodig:

  • Twee Vultr-cloudinstanties, bij voorkeur met hetzelfde besturingssysteem.
  • Twee blokopslagstations van dezelfde grootte.

Nadat u deze twee blokopslagschijven hebt besteld, moet u ze aan VM 1 en VM 2 koppelen. Aangezien we beide blokopslagschijven voor hetzelfde bestandssysteem zullen gebruiken, krijgt u het bruikbare bedrag door de totale grootte van beide schijven door twee te delen. van GB's. Als u bijvoorbeeld twee schijven van 100 GB heeft, is 100 GB bruikbaar (100 * 2/2).

Bovendien moeten beide VM's zich op dezelfde locatie bevinden om op hetzelfde particuliere netwerk te zijn. We maken verbinding met de servers via hun interne IP-adressen. Merk op dat we de gegevens op het blokopslagstation zullen wissen. Zorg ervoor dat ze gloednieuw en ongeformatteerd zijn.

In deze gids, zullen we gebruiken storage1en storage2respectievelijk met een eigen IP-adressen 10.0.99.10 en 10.0.99.11. Uw servernamen en IP-adressen zullen waarschijnlijk verschillen, dus zorg ervoor dat u ze wijzigt tijdens het instellen van GlusterFS.

Deze gids is geschreven met CentOS / RHEL 7 in gedachten. GlusterFS is echter relatief compatibel met meerdere Linux-distributies.

GlusterFS instellen

Stap 1: Wijzig het /etc/hostsbestand

Om snel verbinding te kunnen maken met de respectievelijke instanties, moeten we gemakkelijk te onthouden namen aan het hostsbestand toevoegen. Open het /etc/hostsbestand en voeg de volgende regels onderaan toe:

10.0.99.10 storage1
10.0.99.11 storage2

Stap 2: voeg de schijf toe storage1

SSH in storage1en voer de volgende opdrachten uit. Standaard zijn gekoppelde blokopslagstations gemount als /dev/vdb. Als dit om welke reden dan ook in uw geval anders is, moet u dit wijzigen in de onderstaande opdrachten.

Formatteer de schijf:

fdisk /dev/vdb

Druk op "enter" voor de volgende drie vragen (met betrekking tot partitiegrootte en dergelijke, we willen alle beschikbare ruimte op de blokopslagstations gebruiken) en schrijf "w" om deze wijzigingen naar de schijf te schrijven. Schrijf nadat dit met succes is voltooid:

/sbin/mkfs.ext4 /dev/vdb1

We zijn doorgegaan en hebben nu een bestandssysteem gemaakt, omdat Vultr standaard geen bestandssystemen op blokopslag maakt.

Vervolgens gaan we de map maken waarop we onze bestanden zullen opslaan. Je kunt deze naam wijzigen, maar je zult hem niet vaak zien verschijnen, dus om de complexiteit te elimineren, raad ik aan om hem met rust te laten.

mkdir /glusterfs1

Als u de schijf automatisch wilt opstarten tijdens het opstarten, opent u /etc/fstaben voegt u de volgende regel onder aan het bestand toe:

/dev/vdb1 /glusterfs1      ext4    defaults        1 2

Monteer ten slotte de schijf:

mount -a

De koppeling blijft behouden tijdens het opnieuw opstarten, dus wanneer u uw server opnieuw opstart, wordt de schijf automatisch opnieuw aangekoppeld.

Stap 3: Voeg de schijf toe storage2

Nu we de schijf hebben toegevoegd en gemonteerd storage1, moeten we ook de schijf maken storage2. De commando's verschillen nauwelijks. Voor fdisk, volgt u dezelfde stappen als hierboven.

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

Bewerk /etc/fstaben voeg de volgende regel toe:

/dev/vdb1 /glusterfs2      ext4    defaults        1 2

Net als bij storage1, wordt de schijf automatisch opnieuw opgestart.

Monteer de schijf:

mount -a

Laten we tot slot kijken of we de partitie kunnen zien verschijnen:

df -h

Je zou je schijf hier moeten zien verschijnen. Als dit niet het geval is, probeer dan de bovenstaande stappen te volgen.

Stap 4: GlusterFS installeren op storage1enstorage2

We moeten vervolgens GlusterFS installeren. Voeg de repository toe en installeer 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

Er is een kans dat u een foutmelding krijgt yumomdat de handtekening voor de repository niet klopt. In dat geval is het veilig om te forceren om niet te controleren op de GPG-handtekening:

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

Voer op beide servers de volgende opdrachten uit om GlusterFS nu te starten en automatisch te starten na opnieuw opstarten:

systemctl enable glusterd.service
systemctl start glusterd.service

Als u een oudere versie van CentOS gebruikt, kunt u gebruik maken van de serviceen chkconfigopdrachten:

chkconfig glusterd on
service glusterd start

Stap 5: De firewall in- storage1en uitschakelenstorage2

Hoewel dit niet per se de beste oplossing is, is het een goed idee om de firewall uit te schakelen om mogelijke conflicten met geblokkeerde poorten te voorkomen. Als u dit niet prettig vindt, kunt u de regels naar wens aanpassen, maar vanwege de aard van GlusterFS raad ik u ten zeerste aan de firewall uit te schakelen. Aangezien een privé-netwerk eigenlijk privé is op Vultr (en u hoeft andere klanten niet uit te schakelen), kunt u eenvoudig al het inkomende verkeer van internet blokkeren en toegestane verbindingen met het particuliere netwerk beperken. Het uitschakelen van de firewall en het niet wijzigen van andere systeemconfiguraties zou echter ook voldoende zijn:

systemctl stop firewalld.service
systemctl disable firewalld.service

In het geval dat een oudere CentOS versie die geen ondersteuning gebruikt u systemctl, gebruik maken van de serviceen chkconfigopdrachten:

service firewalld stop
chkconfig firewalld off

Als je het niet gebruikt firewalld, probeer dan uit te schakelen iptables:

service iptables stop
chkconfig iptables off

Stap 6: Voeg servers toe aan de opslagpool

Nadat we de firewall hebben uitgeschakeld, kunnen we beide servers toevoegen aan de opslagpool. Dit is een zwembad dat bestaat uit alle beschikbare opslag. Voer de volgende opdracht uit op storage1:

gluster peer probe storage2

Wat deze opdracht doet, is toevoegen storage2aan zijn eigen opslagpool. Door de volgende opdracht uit te voeren storage2, worden beide schijven gesynchroniseerd:

gluster peer probe storage1

Nadat we dit op beide servers hebben uitgevoerd, moeten we de status op beide servers controleren:

gluster peer status

Beide servers moeten de status "Peers: 1" hebben. Een veelgemaakte fout is dat mensen verwachten dat ze het zullen zien Peers: 2, maar zoals storage1bij peering storage2en vice versa, turen ze niet met zichzelf. Daarom Peers: 1is wat we nodig hebben.

Stap 7: Maak een gedeelde drive aan storage1

Nu beide servers via GlusterFS met elkaar kunnen verbinden, gaan we een gedeelde schijf maken.

Aan storage1, voer uit:

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

Het volume is nu gemaakt. In GlusterFS moet u een volume "starten" zodat het actief wordt gedeeld op meerdere apparaten. Laten we beginnen:

gluster volume start mailrep-volume

Kies vervolgens een map die op het volume moet staan ​​en over beide servers moet worden gerepliceerd. In deze tutorial gebruiken we de map /var/files. Dit kan natuurlijk van alles zijn. Maak het storage1 alleen aan :

mkdir /var/files

Monteer het vervolgens:

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

Update /etc/fstabzodat de schijf automatisch bij het opstarten wordt gemount. Voeg het volgende toe:

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

Monteer de schijf opnieuw:

mount -a

Stap 8: een gedeelde drive maken op storage2

Nu we een gedeelde Drive hebben gemaakt storage1, moeten we er ook een maken storage2. Maak een map met dezelfde locatie / pad en naam:

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

storage1Voeg, net als bij , de volgende regel toe aan /etc/fstab:

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

Monteer de schijf opnieuw:

mount -a

Stap 9: Test de gedeelde opslag

Navigeer naar de /var/filesmap op storage1en maak een bestand aan:

cd /var/files
touch created_on_storage1

Ga vervolgens naar de storage2server. Voer uit ls -laen je zou het bestand moeten zien created_on_storage1verschijnen.

Ga storage2naar de /var/filesmap en maak een bestand aan:

cd /var/files
touch created_on_storage2

Ga terug naar storage1en voer uit ls -la /var/files. U zou het bestand created_on_storage2hier moeten zien verschijnen.

Stap 10: Start alle servers opnieuw op (optioneel)

Om te controleren of uw installatie blijft bestaan ​​tijdens het opnieuw opstarten, dient u als best practice alle servers opnieuw op te starten. Zoals eerder vermeld, moet u wachten tot de ene server actief is en vervolgens de andere opnieuw opstarten zodat de gedeelde schijf automatisch wordt gemount.

Start storage1eerst opnieuw op, wacht tot het klaar is en start dan opnieuw op storage2. Log nu in en voer uit op beide servers:

cd /var/files
ls -la

U zou nu beide bestanden moeten zien verschijnen. Zorg ervoor dat u begint zonder bestanden op het volume, dus verwijder de testbestanden die we hebben gemaakt. U kunt dit doen op storage1, storage2of beide. Wijzigingen worden onmiddellijk gerepliceerd:

cd /var/files
rm created_on_storage1
rm created_on_storage2

U moet op beide servers een identiek gedeeld volume hebben, ongeacht de acties op beide volumes.

Je hebt nu een volwaardige GlusterFS-setup opgezet met 100 GB (of meer) bruikbare ruimte. Als u in de toekomst meer nodig heeft, is de installatie eenvoudig schaalbaar om meer capaciteit en / of meer servers toe te voegen als uw werklast dit vereist.

Bedankt voor het lezen!


Belangrijke opmerking over opnieuw monteren

Met GlusterFS kunt u uw gegevens op twee schijven up-to-date houden. Houd er echter rekening mee dat wanneer beide servers tegelijkertijd opnieuw worden opgestart , u de schijven op beide servers moet forceren. U moet de koppeling handmatig forceren door de volgende opdracht uit te voeren:

gluster volume start mailrep-volume force

Dat komt omdat een van de servers als server fungeert en de andere als client fungeert. Hoewel het verschil in de praktijk niet zo gemakkelijk merkbaar is, betekent dit dat wanneer u beide servers opnieuw moet opstarten, u de ene opnieuw moet opstarten, moet wachten totdat deze is opgestart en vervolgens de andere opstart.

Belangrijke opmerking over back-ups

Hoewel uw gegevens over twee schijven worden gerepliceerd, moet u uw gegevens ten minste driemaal laten repliceren. Hoewel uw gegevens beter zijn beschermd tegen gegevensbeschadiging en dergelijke, moet u er rekening mee houden dat wijzigingen onmiddellijk plaatsvinden en dat u op geen enkele manier wordt beschermd tegen menselijke fouten. Wanneer u alle bestanden op één schijf verwijdert, worden deze wijzigingen onmiddellijk gerepliceerd naar de andere schijf, wat betekent dat uw gegevens in beide gevallen worden gewist.

Gelukkig zijn er meerdere manieren om dit te voorkomen. Ten eerste raad ik aan om back-ups op uw cloudinstantie zelf in te schakelen. Hoewel deze back-ups geen gegevens bevatten over de blokopslag, beschermt het de gegevens op de instantie zelf.

Als het gaat om het maken van een back-up van de gegevens op de blokopslag zelf, raad ik aan om een ​​apart exemplaar (bijvoorbeeld een SATA-abonnement) op te starten, zodat u bijvoorbeeld elke nacht een back-up van een van de twee aangesloten servers kunt uitvoeren. Op deze manier zijn uw gegevens veilig op een ander afzonderlijk apparaat.

FAQ

Kan ik mijn schijfopslag vergroten?

U kunt de opslagruimte voor blokken vergroten via het Vultr-configuratiescherm. U moet de grootte van de schijf binnen het besturingssysteem daarna wijzigen, maar dat valt buiten het bestek van dit artikel.

Kan ik de blokopslag op meer dan twee servers aansluiten?

Hoewel deze handleiding is geschreven voor twee servers (dus twee blokopslagstations die op beide servers zijn aangesloten), is het mogelijk om deze handleiding te gebruiken en deze ook voor meer dan twee servers te gebruiken. Een opstelling met meer dan twee servers / schijven kan er voor 6 servers zo uitzien, bijvoorbeeld:

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

Aangezien alle blokopslagschijven een capaciteit hebben van bijvoorbeeld 200 GB, krijgt u 200 * 4/4. Met andere woorden, de bruikbare ruimte is altijd de capaciteit van een opslagblok met één blok. Dat komt omdat één server met gekoppelde blokopslag door GlusterFS wordt behandeld als de "master" en op de andere servers wordt gerepliceerd. De setup is echter gebouwd om te kunnen overleven zonder een masterserver, waardoor het zo'n redundante en betrouwbare, stabiele oplossing is.



Leave a Comment

CyberPanel installeren en configureren op uw CentOS 7-server

CyberPanel installeren en configureren op uw CentOS 7-server

Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed ​​gebruikt. Wat thi

Sensu Monitoring installeren en configureren op CentOS 7

Sensu Monitoring installeren en configureren op CentOS 7

Introductie Sensu is een gratis en open source monitoringoplossing die kan worden gebruikt om server, applicatie en verschillende systeemservices te monitoren. Sensu i

Sudo gebruiken op Debian, CentOS en FreeBSD

Sudo gebruiken op Debian, CentOS en FreeBSD

Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud

Stel Nginx-RTMP in op CentOS 7

Stel Nginx-RTMP in op CentOS 7

Gebruikt u een ander systeem? RTMP is geweldig voor het weergeven van live inhoud. Wanneer RTMP is gekoppeld aan FFmpeg, kunnen streams worden omgezet in verschillende kwaliteiten. Vultr ik

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

TaskBoard is een gratis en open source webbeheer voor tijdbeheer. Geïnspireerd door Kanban, kan TaskBoard u helpen bij het bijhouden van dingen die moeten worden gedaan in een

Gradle installeren op CentOS 7

Gradle installeren op CentOS 7

Gebruikt u een ander systeem? Gradle is een gratis en open source toolset voor het automatiseren van builds, gebaseerd op de concepten van Apache Ant en Apache Maven. Gradle biedt

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Gebruikt u een ander systeem? In deze handleiding zullen we zien hoe u een FTP-server (ProFTPd) configureert om bestanden over te zetten tussen uw pc en uw server.

Netdata installeren op CentOS 7

Netdata installeren op CentOS 7

Gebruikt u een ander systeem? Netdata is een rijzende ster op het gebied van realtime monitoring van systeemstatistieken. Vergeleken met andere tools van dezelfde soort, Netdata:

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Gebruikt u een ander systeem? Apache Cassandra is een gratis en open source NoSQL-databasebeheersysteem dat is ontworpen om schaalbaarheid te bieden

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

In deze tutorial leer je goed hoe je een Just Cause 2 multiplayer-server opzet. Vereisten Zorg ervoor dat het systeem volledig is bijgewerkt voordat we beginnen

Hoe Starbound Server op CentOS 7 te installeren

Hoe Starbound Server op CentOS 7 te installeren

Gebruikt u een ander systeem? In deze tutorial leg ik uit hoe je een Starbound-server instelt op CentOS 7. Vereisten Je moet dit spel op je hebben

ZNC installeren en configureren op CentOS 7

ZNC installeren en configureren op CentOS 7

ZNC is een gratis en open-source IRC-uitsmijter die permanent verbonden blijft met een netwerk, zodat klanten berichten kunnen ontvangen die worden verzonden terwijl ze offline zijn. Thi

Django installeren op CentOS 7

Django installeren op CentOS 7

Django is een populair Python-framework voor het schrijven van webapplicaties. Met Django kun je sneller applicaties bouwen, zonder het wiel opnieuw uit te vinden. Als je wilt

MantisBT 2.5 installeren op CentOS 7

MantisBT 2.5 installeren op CentOS 7

MantisBT, of Mantis Bug Tracker, is een open source issue tracker geschreven in PHP. MantisBT is uitgebalanceerd tussen gebruiksgemak en functionaliteit, mits

Installeer Elgg op CentOS 7

Installeer Elgg op CentOS 7

Gebruikt u een ander systeem? Elgg is een open source engine voor sociaal netwerken waarmee sociale omgevingen kunnen worden gecreëerd, zoals sociale campusnetwerken

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Froxlor is een open source, gratis, lichtgewicht en toch krachtig serverbeheerpaneel dat geweldig is voor het opzetten en beheren van webhostingservices. Thi

Hoe Alfresco Community Edition op CentOS 7 te installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Vtiger CRM is een populaire applicatie voor klantrelatiebeheer die bedrijven kan helpen hun verkoop te laten groeien, klantenservice te bieden en de winst te vergroten. ik

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst

Hoe MaraDNS op CentOS 6 te installeren

Hoe MaraDNS op CentOS 6 te installeren

MaraDNS is een lichtgewicht maar robuust open source DNS-serverprogramma. Vergeleken met andere applicaties van dezelfde soort, zoals ISC BIND, PowerDNS en djbdns

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.