Zajednički diskovi visoke dostupnosti koji koriste Vultr Block Storage i GlusterFS

GlusterFS je mrežni datotečni sustav koji vam učinkovito omogućuje dijeljenje dva diska na više uređaja na mreži. Ovaj datotečni sustav savršeno je prikladan za Vultrovu ponudu blokova za pohranu, budući da možete dijeliti disk preko mreže što nije moguće izvan kutije.

U pogledu značajki, proširivosti i pouzdanosti, GlusterFS se pokazao kao jedan od najsofisticiranijih i najstabilnijih dostupnih datotečnih sustava.

Kada se naprave promjene na pogonu na jednom poslužitelju, one će se automatski replicirati na drugi poslužitelj u stvarnom vremenu. Da biste to postigli i slijedili ovaj vodič, trebat će vam:

  • Dvije instance oblaka Vultr, po mogućnosti s istim operativnim sustavom.
  • Dva blok pogona za pohranu iste veličine.

Nakon što naručite ova dva pogona za pohranu blokova, trebali biste ih priključiti na VM 1 i VM 2. Budući da ćemo koristiti oba blok pogona za pohranu za isti datotečni sustav, dijeljenjem ukupne veličine oba diska s dva dobit ćete upotrebljivu količinu od GB-a. Na primjer, ako imate dva pogona od 100 GB, 100 GB će biti upotrebljivo (100 * 2 / 2).

Nadalje, oba VM-a morat će biti na istoj lokaciji kako bi bili na istoj privatnoj mreži. Povezivat ćemo se s poslužiteljima koristeći njihove interne IP adrese. Imajte na umu da ćemo izbrisati podatke na blok pogonu za pohranu. Provjerite jesu li potpuno novi i neformatirani.

U ovom vodiču koristit ćemo storage1i storage2, odnosno s privatnim IP adresama 10.0.99.10 i 10.0.99.11. Nazivi vaših poslužitelja i IP adrese najvjerojatnije će se razlikovati, stoga ih svakako promijenite u procesu postavljanja GlusterFS-a.

Ovaj vodič je napisan imajući na umu CentOS / RHEL 7. Međutim, GlusterFS je relativno kompatibilan s više Linux distribucija.

Postavljanje GlusterFS-a

Korak 1: Promijenite /etc/hostsdatoteku

Da bismo se mogli brzo povezati s odgovarajućim instancama, u hostsdatoteku bismo trebali dodati imena koja se lako pamte . Otvorite /etc/hostsdatoteku i dodajte sljedeće retke na dno:

10.0.99.10 storage1
10.0.99.11 storage2

Korak 2: Dodajte disk storage1

SSH u storage1i izvršite sljedeće naredbe. Prema zadanim postavkama, priključeni blok pogoni za pohranu se montiraju kao /dev/vdb. Ako se ovo razlikuje u vašem slučaju iz bilo kojeg razloga, trebali biste to promijeniti u naredbama u nastavku.

Formatirajte disk:

fdisk /dev/vdb

Pritisnite "enter" za sljedeća tri pitanja (u vezi s veličinom particije i slično, želimo iskoristiti sav raspoloživi prostor na blok pogonima za pohranu) i napišite "w" da zapišete ove promjene na disk. Nakon što je ovo uspješno završeno, napišite:

/sbin/mkfs.ext4 /dev/vdb1

Krenuli smo naprijed i sada smo stvorili datotečni sustav jer Vultr prema zadanim postavkama ne stvara nikakve datotečne sustave na blok memoriji.

Zatim ćemo stvoriti mapu u koju ćemo pohraniti naše datoteke. Možete promijeniti ovo ime, ali ga nećete vidjeti puno pa zbog eliminacije složenosti preporučam da ga ostavite na miru.

mkdir /glusterfs1

Da biste automatski montirali pogon pri pokretanju, otvorite /etc/fstabi dodajte sljedeći redak na dno datoteke:

/dev/vdb1 /glusterfs1      ext4    defaults        1 2

Na kraju, montirajte pogon:

mount -a

Montaža će ostati trajna tijekom ponovnog pokretanja, tako da kada ponovno pokrenete svoj poslužitelj, pogon će se automatski ponovno montirati.

Korak 3: Dodajte disk storage2

Sada kada smo disk dodali i montirali na storage1, moramo također kreirati disk storage2. Naredbe se jedva razlikuju. Za fdisk, slijedite iste korake kao gore.

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

Uredite /etc/fstabi dodajte sljedeći redak:

/dev/vdb1 /glusterfs2      ext4    defaults        1 2

Baš kao i na storage1, pogon će se automatski montirati nakon ponovnog pokretanja.

Montirajte pogon:

mount -a

Na kraju, provjerimo možemo li vidjeti da se particija pojavljuje:

df -h

Ovdje biste trebali vidjeti svoj pogon. Ako se ne dogodi, pokušajte slijediti gore navedene korake.

Korak 4: Instaliranje GlusterFS na storage1istorage2

Sljedeće moramo instalirati GlusterFS. Dodajte spremište i instalirajte 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

Postoji mogućnost da ćete dobiti pogrešku yumjer potpis za spremište nije ispravan. U tom slučaju, sigurno je prisilno ne provjeravati GPG potpis:

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

Na oba poslužitelja izvršite sljedeće naredbe da biste odmah pokrenuli GlusterFS i automatski ga nakon ponovnog pokretanja:

systemctl enable glusterd.service
systemctl start glusterd.service

Ako koristite stariju verziju CentOS, možete koristiti servicei chkconfignaredbe:

chkconfig glusterd on
service glusterd start

Korak 5: Onemogućavanje vatrozida na storage1istorage2

Iako to nije najbolje rješenje samo po sebi, dobro je isključiti vatrozid kako biste eliminirali moguće sukobe s blokiranim portovima. Ako se ne osjećate ugodno raditi ovo, onda slobodno promijenite pravila po svom ukusu, ali zbog prirode GlusterFS-a, toplo preporučam da onemogućite vatrozid. Uzimajući u obzir da je privatna mreža zapravo privatna na Vultru (i ne morate štititi druge korisnike od vatrozida), možete jednostavno blokirati sav dolazni promet s interneta i ograničiti dopuštene veze na privatnu mrežu. Međutim, isključivanje vatrozida i ne mijenjanje bilo koje druge konfiguracije sustava također bi bilo dovoljno:

systemctl stop firewalld.service
systemctl disable firewalld.service

U slučaju da koristite stariju verziju CentOS koji ne podržava systemctl, koristite servicei chkconfignaredbe:

service firewalld stop
chkconfig firewalld off

U slučaju da ne koristite firewalld, pokušajte onemogućiti iptables:

service iptables stop
chkconfig iptables off

Korak 6: Dodajte poslužitelje u spremište za pohranu

Nakon što isključimo vatrozid, možemo dodati oba poslužitelja u spremište za pohranu. Ovo je bazen koji se sastoji od svih dostupnih skladišta. Izvršite sljedeću naredbu na storage1:

gluster peer probe storage2

Ono što ova naredba radi je dodavanje storage2vlastitom spremištu za pohranu. Izvođenjem sljedeće naredbe na storage2, oba pogona će biti sinkronizirana:

gluster peer probe storage1

Nakon što ovo izvršimo na oba poslužitelja, trebali bismo provjeriti status na oba poslužitelja:

gluster peer status

Oba poslužitelja trebaju pokazati stanje "Peers: 1". Česta pogreška je da ljudi očekuju da će vidjeti Peers: 2, ali kao što storage1će viriti storage2sa sobom i obrnuto, oni ne vire sami sa sobom. Dakle, to Peers: 1je ono što nam treba.

Korak 7: Stvaranje zajedničkog diska na storage1

Sada kada se oba poslužitelja mogu povezati jedan s drugim putem GlusterFS-a, napravit ćemo zajednički disk.

Na storage1, izvrši:

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

Svezak je sada stvoren. U GlusterFS-u morate "pokrenuti" volumen kako bi se aktivno dijelio na više uređaja. Započnimo:

gluster volume start mailrep-volume

Zatim odaberite mapu koja bi trebala biti na volumenu i replicirana na oba poslužitelja. U ovom vodiču koristit ćemo mapu /var/files. Naravno, ovo može biti sve što želite. Napravite ga storage1 samo na :

mkdir /var/files

Zatim ga montirajte:

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

Ažurirajte /etc/fstabtako da će se pogon automatski montirati pri pokretanju. Dodajte sljedeće:

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

Ponovno montirajte pogon:

mount -a

Korak 8: Stvaranje zajedničkog diska na storage2

Sada kada smo stvorili zajednički disk na storage1, moramo ga stvoriti storage2i na. Napravite mapu s istom lokacijom/putom i imenom:

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

Baš kao na storage1, dodajte sljedeći redak u /etc/fstab:

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

Ponovno montirajte pogon:

mount -a

Korak 9: Testirajte zajedničku pohranu

Idite do /var/filesmape storage1i stvorite datoteku:

cd /var/files
touch created_on_storage1

Zatim idite na storage2poslužitelj. Izvršite ls -lai trebali biste vidjeti da se datoteka created_on_storage1pojavljuje.

Na storage2, idite do /var/filesmape i stvorite datoteku:

cd /var/files
touch created_on_storage2

Vratite se na storage1i izvršite ls -la /var/files. Trebali biste vidjeti da se datoteka created_on_storage2pojavljuje ovdje.

Korak 10: Ponovno pokrenite sve poslužitelje (izborno)

Kako biste još jednom provjerili hoće li vaša postavka ostati trajna tijekom ponovnih pokretanja, najbolje je da ponovno pokrenete sve poslužitelje. Kao što je spomenuto, trebali biste pričekati da se jedan poslužitelj pokrene, a zatim ponovno pokrenuti drugi kako bi se zajednički disk automatski montirao.

storage1Prvo ponovno pokrenite , pričekajte da se pokrene, a zatim ponovno pokrenite storage2. Sada se prijavite i izvršite na oba poslužitelja:

cd /var/files
ls -la

Sada biste trebali vidjeti kako se pojavljuju obje datoteke. Obavezno započnite bez datoteka na volumenu, stoga uklonite testne datoteke koje smo stvorili. To možete učiniti na storage1, storage2ili oboje. Promjene će se odmah replicirati:

cd /var/files
rm created_on_storage1
rm created_on_storage2

Trebali biste imati identičan zajednički volumen na oba poslužitelja, bez obzira na radnje na oba volumena.

Sada ste postavili potpunu postavku GlusterFS-a sa 100 GB (ili više) korisnog prostora. U slučaju da vam u budućnosti zatreba više, postavka je lako skalabilna za dodavanje više kapaciteta i/ili više poslužitelja ako vaše radno opterećenje to zahtijeva.

Hvala na čitanju!


Važna napomena o ponovnoj montaži

GlusterFS omogućuje ažuriranje vaših podataka na dva diska. Međutim, trebate imati na umu da kada se oba poslužitelja ponovno pokrenu u isto vrijeme , morat ćete prisilno montirati pogone na oba poslužitelja. Morate prisilno montirati ručno izvođenjem sljedeće naredbe:

gluster volume start mailrep-volume force

To je zato što jedan od poslužitelja djeluje kao poslužitelj, a drugi kao klijent. Iako se razlika u praksi ne primjećuje lako, to znači da kada trebate ponovno pokrenuti oba poslužitelja, trebate ponovno pokrenuti jedan, pričekati dok se ne pokrene, a zatim pokrenuti drugi.

Važna napomena u vezi sigurnosnog kopiranja

Iako će se vaši podaci replicirati na dva diska, trebali biste replicirati svoje podatke najmanje tri puta. Iako su vaši podaci bolje zaštićeni od oštećenja podataka i slično, imajte na umu da su promjene trenutne i da ni na koji način nećete biti zaštićeni od ljudske pogreške. Kada uklonite sve datoteke na jednom disku, ove promjene će se odmah replicirati na drugi pogon, što znači da će vaši podaci biti izbrisani na obje instance.

Srećom, postoji više načina da se to izbjegne. Prije svega, preporučujem da omogućite sigurnosne kopije na samoj instanci u oblaku. Iako ove sigurnosne kopije ne uključuju podatke o blok memoriji, one će zaštititi podatke na samoj instanci.

Kada je riječ o sigurnosnom kopiranju podataka na samom bloku za pohranu, preporučam da pokrenete zasebnu instancu (na primjer SATA plan) kako biste, na primjer, svake večeri mogli pokrenuti sigurnosnu kopiju s jednog od dva priključena poslužitelja. Na taj će način vaši podaci biti sigurni na drugom zasebnom uređaju.

Pitanja

Mogu li povećati pohranu na disku?

Možete povećati veličinu blokova memorije s Vultr upravljačke ploče. Nakon toga trebate promijeniti veličinu diska unutar operativnog sustava, ali to je izvan dosega ovog članka.

Mogu li priključiti blok pohranu na više od dva poslužitelja?

Iako je ovaj vodič napisan za dva poslužitelja (dakle dva blok pogona za pohranu spojena na oba poslužitelja), ali moguće je uzeti ovaj vodič i koristiti ga i za više od dva poslužitelja. Postavka s više od dva poslužitelja / pogona mogla bi izgledati ovako za 6 poslužitelja, na primjer:

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

S obzirom na to da svi pogoni za pohranu blokova imaju kapacitet npr. 200 GB, dobili biste 200 * 4 / 4. Drugim riječima, korisni prostor je uvijek kapacitet jednog bloka za pohranu. To je zato što se jedan poslužitelj s priloženom blok pohranom tretira kao "master" od strane GlusterFS i replicira se na druge poslužitelje. Međutim, postava je napravljena tako da može preživjeti bez glavnog poslužitelja, što ga čini tako redundantnim i pouzdanim, stabilnim rješenjem.


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku

Kako instalirati Microweber na CentOS 7

Kako instalirati Microweber na CentOS 7

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati Mattermost 4.1 na CentOS 7

Kako instalirati Mattermost 4.1 na CentOS 7

Korištenje drugog sustava? Mattermost je open source alternativa Slack SAAS servisu za razmjenu poruka. Drugim riječima, s Mattermostom možete ca

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije

Omogućava šifriranje na Plesku

Omogućava šifriranje na Plesku

Upravljačka ploča Plesk ima vrlo lijepu integraciju za Lets Encrypt. Lets Encrypt je jedan od jedinih SSL pružatelja usluga koji u potpunosti izdaju certifikate

Omogućuje šifriranje na cPanelu

Omogućuje šifriranje na cPanelu

Lets Encrypt je tijelo za izdavanje certifikata posvećeno besplatnom pružanju SSL certifikata. cPanel je izgradio urednu integraciju tako da vi i vaš klijent

Kako instalirati Concrete5 na CentOS 7

Kako instalirati Concrete5 na CentOS 7

Korištenje drugog sustava? Concrete5 je CMS otvorenog koda koji nudi mnoge osebujne i korisne značajke koje pomažu urednicima u jednostavnoj proizvodnji sadržaja i

Kako instalirati ploču za pregled na CentOS 7

Kako instalirati ploču za pregled na CentOS 7

Korištenje drugog sustava? Review Board je besplatan alat otvorenog koda za pregled izvornog koda, dokumentacije, slika i još mnogo toga. To je web-bazirani softver

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

U ovom vodiču naučit ćete kako postaviti HTTP autentifikaciju za Nginx web poslužitelj koji radi na CentOS 7. Zahtjevi Da biste započeli, trebat će vam

Kako instalirati YOURLS na CentOS 7

Kako instalirati YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je aplikacija za skraćivanje URL-ova otvorenog koda i analizu podataka. U ovom članku ćemo pokriti proces instalacije

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je

Korištenje Etckeepera za kontrolu verzija /etc

Korištenje Etckeepera za kontrolu verzija /etc

Uvod Direktorij /etc/ igra ključnu ulogu u načinu na koji Linux sustav funkcionira. Razlog tome je što je gotovo svaka konfiguracija sustava

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Mnogi administratori sustava upravljaju velikim količinama poslužitelja. Kada se datotekama treba pristupiti na različitim poslužiteljima, prijava na svaki pojedinačno ca

Postavljanje poslužitelja Half Life 2 na CentOS 6

Postavljanje poslužitelja Half Life 2 na CentOS 6

Ovaj vodič će pokriti proces instaliranja poslužitelja za igre Half Life 2 na sustavu CentOS 6. Korak 1: Instaliranje preduvjeta Kako biste postavili ou

Kako instalirati Laravel GitScrum na CentOS 7

Kako instalirati Laravel GitScrum na CentOS 7

Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više