Delte stasjoner med høy tilgjengelighet ved bruk av Vultr Block Storage og GlusterFS

GlusterFS er et nettverkstilkoblet filsystem som effektivt lar deg dele to stasjoner på tvers av flere enheter på nettverket. Dette filsystemet passer perfekt for Vultrs blokklagringstilbud, ettersom du kan dele en stasjon på tvers av nettverket som ikke er mulig rett ut av esken.

Når det gjelder funksjoner, utvidbarhet og pålitelighet, har GlusterFS vist seg å være et av de mest sofistikerte og stabile filsystemene som finnes.

Når endringer gjøres på stasjonen på en server, vil de automatisk bli replikert til den andre serveren i sanntid. For å oppnå dette og følge denne veiledningen, trenger du:

  • To Vultr-skyforekomster, fortrinnsvis med samme operativsystem.
  • To blokklagringsstasjoner av samme størrelse.

Etter å ha bestilt disse to blokklagringsstasjonene, bør du koble dem til VM 1 og VM 2. Siden vi kommer til å bruke begge blokklagringsstasjonene for samme filsystem, vil du dele den totale størrelsen på begge stasjonene med to for å gi deg bruksmengden av GB-er. For eksempel, hvis du har to 100 GB-stasjoner, vil 100 GB være brukbar (100 * 2 / 2).

Videre må begge VM-ene være på samme plassering for at de skal være på samme private nettverk. Vi vil koble til serverne ved å bruke deres interne IP-adresser. Merk at vi sletter dataene på blokklagringsstasjonen. Sørg for at de er helt nye og uformaterte.

I denne veiledningen vil vi bruke storage1og storage2, henholdsvis med private IP-adresser 10.0.99.10 og 10.0.99.11. Servernavnene og IP-adressene dine vil mest sannsynlig variere, så sørg for å endre dem i prosessen med å sette opp GlusterFS.

Denne veiledningen ble skrevet med CentOS / RHEL 7 i tankene. GlusterFS er imidlertid relativt krysskompatibel på tvers av flere Linux-distribusjoner.

Sette opp GlusterFS

Trinn 1: Endre /etc/hostsfilen

For at vi raskt skal kunne koble til de respektive instansene, bør vi legge til navn som er enkle å huske i hostsfilen. Åpne /etc/hostsfilen og legg til følgende linjer nederst i den:

10.0.99.10 storage1
10.0.99.11 storage2

Trinn 2: Legg til disken storage1

SSH inn i storage1og utfør følgende kommandoer. Som standard er tilkoblede blokklagringsstasjoner montert som /dev/vdb. Hvis dette av en eller annen grunn avviker i ditt tilfelle, bør du endre det i kommandoene nedenfor.

Formater disken:

fdisk /dev/vdb

Trykk "enter" for de følgende tre spørsmålene (angående partisjonsstørrelse og lignende, vi ønsker å bruke all tilgjengelig plass på blokklagringsstasjonene) og skriv "w" for å skrive disse endringene til disken. Etter at dette er fullført, skriv:

/sbin/mkfs.ext4 /dev/vdb1

Vi har gått videre og opprettet et filsystem nå da Vultr ikke oppretter noen filsystemer på blokklagring som standard.

Deretter skal vi lage mappen vi skal lagre filene våre i. Du kan endre dette navnet, men du vil ikke se det vises mye, så for å eliminere kompleksiteten anbefaler jeg å la det være i fred.

mkdir /glusterfs1

For å montere stasjonen automatisk ved oppstart, åpne /etc/fstabog legg til følgende linje nederst i filen:

/dev/vdb1 /glusterfs1      ext4    defaults        1 2

Monter til slutt stasjonen:

mount -a

Monteringen vil forbli vedvarende ved omstart, så når du starter serveren på nytt, vil stasjonen automatisk bli montert igjen.

Trinn 3: Legg til disken storage2

Nå som vi har lagt til og montert disken på storage1, må vi også lage disken på storage2. Kommandoene er knapt forskjellige. For fdisk, følg de samme trinnene som ovenfor.

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

Rediger /etc/fstabog legg til følgende linje:

/dev/vdb1 /glusterfs2      ext4    defaults        1 2

Akkurat som på storage1, vil stasjonen automatisk bli montert ved omstart.

Monter stasjonen:

mount -a

Til slutt, la oss sjekke om vi kan se partisjonen dukke opp:

df -h

Du bør se stasjonen din dukke opp her. Hvis den ikke gjør det, prøv å følge trinnene ovenfra.

Trinn 4: Installere GlusterFS på storage1ogstorage2

Vi må installere GlusterFS neste gang. Legg til depotet og installer 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

Det er en sjanse for at du får en feilmelding yumfordi signaturen for depotet ikke er riktig. I så fall er det trygt å tvinge til å ikke se etter GPG-signaturen:

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

På begge serverne, utfør følgende kommandoer for å starte GlusterFS akkurat nå og start den automatisk etter en omstart:

systemctl enable glusterd.service
systemctl start glusterd.service

Hvis du bruker en eldre versjon av CentOS, kan du bruke serviceog chkconfigkommandoer:

chkconfig glusterd on
service glusterd start

Trinn 5: Deaktivering av brannmuren på storage1ogstorage2

Selv om det ikke er den beste løsningen i seg selv, er det en god idé å slå av brannmuren for å eliminere mulige konflikter med blokkerte porter. Hvis du ikke føler deg komfortabel med å gjøre dette, kan du gjerne endre reglene etter eget ønske, men på grunn av GlusterFS-typen anbefaler jeg på det sterkeste å deaktivere brannmuren. Med tanke på at et privat nettverk faktisk er privat på Vultr (og du trenger ikke å brannmure andre kunder), kan du ganske enkelt blokkere all innkommende trafikk fra internett og begrense tillatte tilkoblinger til det private nettverket. Men å slå av brannmuren og ikke endre noen andre systemkonfigurasjoner vil også være tilstrekkelig:

systemctl stop firewalld.service
systemctl disable firewalld.service

I tilfelle du bruker en eldre CentOS versjon som ikke støtter systemctl, bruk serviceog chkconfigkommandoer:

service firewalld stop
chkconfig firewalld off

Hvis du ikke bruker firewalld, prøv å deaktivere iptables:

service iptables stop
chkconfig iptables off

Trinn 6: Legg til servere i lagringspoolen

Etter å ha slått av brannmuren, kan vi legge til begge serverne i lagringsbassenget. Dette er et basseng som består av all tilgjengelig lagring. Utfør følgende kommando på storage1:

gluster peer probe storage2

Det denne kommandoen gjør, er å legge storage2til sin egen lagringspool. Ved å utføre følgende kommando på storage2, vil begge stasjonene være synkronisert:

gluster peer probe storage1

Etter å ha utført dette på begge serverne, bør vi sjekke statusen på begge serverne:

gluster peer status

Begge serverne skal vise statusen "Peers: 1". En vanlig feil er at folk forventer å se Peers: 2, men som det storage1vil være å kikke med storage2og omvendt, kikker de ikke med seg selv. Derfor Peers: 1er det vi trenger.

Trinn 7: Opprette en delt disk på storage1

Nå som begge serverne er i stand til å koble til hverandre gjennom GlusterFS, skal vi opprette en delt stasjon.

storage1, utfør:

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

Volumet er nå opprettet. I GlusterFS må du "starte" et volum slik at det deles aktivt på tvers av flere enheter. La oss starte det:

gluster volume start mailrep-volume

Deretter velger du en mappe som skal være på volumet og replikeres på tvers av begge serverne. I denne opplæringen skal vi bruke mappen /var/files. Naturligvis kan dette være alt du liker. Opprett det storage1 kun på :

mkdir /var/files

Deretter monterer du den:

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

Oppdater /etc/fstabslik at stasjonen automatisk blir montert ved oppstart. Legg til følgende:

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

Monter stasjonen på nytt:

mount -a

Trinn 8: Opprette en delt disk på storage2

Nå som vi har opprettet en delt disk på storage1, må vi også opprette en på storage2. Opprett en mappe med samme plassering/bane og navn:

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

Akkurat som på storage1, legg til følgende linje til /etc/fstab:

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

Monter stasjonen på nytt:

mount -a

Trinn 9: Test den delte lagringen

Naviger til /var/filesmappen på storage1og lag en fil:

cd /var/files
touch created_on_storage1

Gå deretter over til storage2serveren. Kjør ls -laog du skal se filen created_on_storage1vises.

storage2, naviger til /var/filesmappen og lag en fil:

cd /var/files
touch created_on_storage2

Gå tilbake til storage1og utfør ls -la /var/files. Du bør se filen created_on_storage2vises her.

Trinn 10: Start alle servere på nytt (valgfritt)

For å dobbeltsjekke om oppsettet ditt vil forbli vedvarende ved omstart, bør du starte alle servere på nytt. Som nevnt bør du vente til en server er oppe og deretter starte den andre på nytt for at den delte stasjonen automatisk skal monteres.

Start storage1først på nytt , vent til den er oppe, og start deretter på nytt storage2. Logg inn på og kjør på begge serverne:

cd /var/files
ls -la

Du skal nå se at begge filene vises. Sørg for å starte uten filer på volumet, så fjern testfilene vi har laget. Du kan gjøre dette på storage1, storage2eller begge deler. Endringer vil bli replikert umiddelbart:

cd /var/files
rm created_on_storage1
rm created_on_storage2

Du bør ha et identisk delt volum på tvers av begge serverne, uavhengig av handlingene på begge volumene.

Du har nå satt opp et fullverdig GlusterFS-oppsett med 100 GB (eller mer) brukbar plass. I tilfelle du trenger mer i fremtiden, er oppsettet enkelt skalerbart for å legge til mer kapasitet og/eller flere servere dersom arbeidsmengden krever dette.

Takk for at du leser!


Viktig merknad ved ommontering

GlusterFS gjør det mulig å holde dataene dine oppdatert på to stasjoner. Du bør imidlertid merke deg at når begge serverne startes på nytt samtidig , må du tvinge stasjonene på begge serverne. Du må tvinge monteringen manuelt ved å utføre følgende kommando:

gluster volume start mailrep-volume force

Det er fordi en av serverne fungerer som en server og den andre fungerer som en klient. Selv om forskjellen ikke merkes så lett i praksis, betyr dette at når du trenger å starte begge serverne på nytt, bør du starte den ene på nytt, vente til den er oppe, og deretter starte den andre.

Viktig merknad angående sikkerhetskopiering

Selv om dataene dine vil bli replikert over to stasjoner, bør du ha dataene replikert minst tre ganger. Selv om dataene dine er bedre beskyttet mot datakorrupsjon og lignende, bør du være oppmerksom på at endringer er øyeblikkelige og du vil på ingen måte være beskyttet mot menneskelige feil. Når du fjerner alle filene på den ene stasjonen, vil disse endringene umiddelbart bli replikert til den andre stasjonen, noe som betyr at dataene dine vil bli slettet på begge forekomster.

Heldigvis finnes det flere måter å unngå dette på. For det første anbefaler jeg å aktivere sikkerhetskopiering på selve skyforekomsten. Selv om disse sikkerhetskopiene ikke inkluderer data på blokklagringen, vil de beskytte data på selve forekomsten.

Når det gjelder å sikkerhetskopiere dataene på selve blokklagringen, anbefaler jeg å spinne opp en egen instans (for eksempel en SATA-plan) slik at du for eksempel kan kjøre en sikkerhetskopi fra en av de to tilknyttede serverne hver natt. På denne måten vil dataene dine være trygge på en annen separat enhet.

FAQ

Kan jeg øke disklagringen min?

Du kan øke blokklagringsstørrelsen fra Vultr-kontrollpanelet. Du bør endre størrelsen på disken inne i operativsystemet etterpå, men det er utenfor rammen av denne artikkelen.

Kan jeg koble blokklagringen til over to servere?

Selv om denne guiden er skrevet for to servere (dermed to blokklagringsstasjoner koblet til begge serverne), men det er mulig å ta denne guiden og bruke den for over to servere også. Et oppsett med over to servere/stasjoner kan se slik ut for 6 servere, for eksempel:

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

Gitt at alle blokklagringsstasjoner har en kapasitet på f.eks. 200 GB, vil du få 200 * 4 / 4. Med andre ord er den brukbare plassen alltid kapasiteten til en enkelt blokklagringsstasjon. Det er fordi en server med blokklagring tilkoblet blir behandlet som "master" av GlusterFS, og den er replikert på tvers av de andre serverne. Imidlertid er oppsettet bygget for å kunne overleve uten en masterserver, noe som gjør det til en så redundant og pålitelig, stabil løsning.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer