Instalirajte Linux poslužitelj u klaster visoke dostupnosti

Sadržaj

Koliko smo puta zahtijevali da naše usluge, bolje rečeno, budu uvijek dostupne, i koliko nam se puta dogodilo da je tvrdi disk našeg poslužitelja oštećen, a mi nemamo sigurnosnu kopiju, pa, razmišljamo o tim okolnostima, odlučio sam stvoriti ovo vodič kako bismo osigurali da su naši poslužitelji, odnosno naše usluge uvijek na mreži.

Uzimajući u obzir da je udžbenik namijenjen naprednim ljudima u Linuxu, neću se doticati tema poput instalacije osnovnog sustava koji ću koristiti ovaj put CentOS 6 64 bit u svom posljednjem ažuriranju. Isto tako, samo ću spomenuti ono što je strogo potrebno za rad klastera (poslužitelji visoke dostupnosti).

Također dajem komentar da je ovaj vodič usmjeren na potrebu da web usluga bude uvijek aktivna, iako sam je uspješno koristio s drugim uslugama, mislim da je za početak ili bolje rečeno, kao početak, najjednostavnije stvoriti web klastera poslužitelja.

Bez odlaganja prijeđimo na dobre stvari.

Zahtjevi sustava.1. RAM memorija 1 GB
2. Tvrdi disk 80 GB
3. Celeron procesor
4. Podjela podataka za klaster (koju god veličinu želite stvoriti)
5. Operacijski sustav CentOS 6 (u najnovijem ažuriranju)

Ako ispunjavate uvjete, započnimo Instalacija Linux klastera.

Sljedeća stvar je instaliranje DRBD -a za sinkronizaciju particija na oba poslužitelja, za to je potrebno pokrenite in shell sljedeće upute:

1. Dodajte ELRepo na popis spremišta sustava

 [root @ node1 ~] rpm -ivh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm

2. Instalirajte pomoćne programe drbd (Distributed Replicate Block Device) i pakete kmod

 [root @ node1 ~] yum install -y kmod-drbd83 drbd83-utils
(Osobno koristim 8.3 jer mi je 8.4 zadao probleme s nekim distribucijama)

3. Drbd se dodaje ili umeće u jezgru sustava

 [root @ node1 ~] modprobe drbd

4. Datoteka resursa za drbd mora biti stvorena
Nalazi se na /etc/drbd.d/mydrbd.res; gdje je mydrbd.res naziv datoteke i to može izmijeniti svatko tko želi, sve dok zadržavamo ekstenziju .res; Ovu datoteku treba stvoriti na oba poslužitelja ili, ako je datoteka ispravno konfigurirana, kopira se u drugi čvor; konfiguracija bi bila otprilike sljedeća:

 resurs mydrbd {#to je naziv izvora protokola C; pokretanje {wfc-timeout 180; degr-wfc-timeout 120;} # 180 sekundi čekanja na slave uređaj, 120 sekundi, ako ne odgovori, degradirano je i ostaje kao sekundarni disk {on-io-error detach; } net {cram-hmac-alg "sha1"; shared-secret "tajni ključ";} #U ovom dijelu je naveden ključ sa sha1 enkripcijom, ovaj ključ služi za komunikaciju između dva čvora. syncer {rate 100M;} #brzina sinkronizacije, nije važno što imamo Gigabitnu mrežnu karticu, ne radi na 1000M, maksimalna preporučena brzina je 100M (instalirao sam je s 10M i radi odlično, malo sporo prva sinkronizacija, ali tada ne vidite razliku) na čvoru1 {device / dev / drbd0; # ovdje određujemo koji je uređaj rezerviran za drbd, možemo imati više uređaja za različite podatke ili različite usluge, poput SAMBA, MySQL, između ostalog disk / dev / md2; #navedite particiju koja će se koristiti za drbd adresu 172.16.0.1:7788; # Određujemo IP izvan dosega naše mreže, vrijedno je spomenuti da mrežni kabel mora biti spojen izravno između poslužitelja, bez prolaska kroz prekidač ili čvorište, ako se radi o mrežnim karticama novijeg modela, crossover kabel nije potreban. unutarnji meta-disk; } na node2 {# specifikacije drugog moraju biti iste kao i prve, samo se ip adresa mijenja, to mora biti isti port, to je zato što ako imamo 2 klastera zajedno, oni će se sukobiti i neće raditi prikladno, ako želimo imati više klastera, preporučuje se korištenje različitih portova, nije potrebno spominjati da ti portovi moraju biti isti na oba čvora. uređaj / dev / drbd0; disk / dev / md2; adresa 172.16.0.2:7788; unutarnji meta-disk; }}

POVEĆAJTE

5. Slijedi konfiguracija datoteke hostaTo je tako da se poslužitelji pretražuju putem sinkronizacijskog IP -a, a ne putem IP -a lokalne mreže, a time izbjegavamo sukobe sa uslugama:

 / etc / hosts 192.168.1.1 čvor1 #naziv čvora1 u segmentu lokalne mreže 192.168.1.2 čvor2 #naziv čvora2 u segmentu lokalne mreže 172.16.0.1 čvor1 #naziv čvora1 u segmentu mreže za sinkronizaciju 172.16.0.2 čvor2 #naziv iz čvora2 u sinkronizaciji segment mreže

6. Skladišna jedinica za drbd je inicijalizirana

 [root @ node1 ~] drbdadm create-md disk1

7. Pokreće se usluga drbd ili deamon

 /etc/init.d/drbd početak

8. U čvoru koji želimo biti primarni izvršavamo sljedeću naredbu

 drbdadm--overwrite-data-of-peer primarni disk1

9. Pratimo sinkronizaciju oba čvora
Za to izvršavamo:

 cat / proc / drbd
Odgovor iz gornje naredbe je otprilike sljedeći:
 verzija: 8.3.15 (api: 88 / proto: 86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil @ Build32R6, 2012-12-20 20:23:49 1: cs: SyncSource ro: Primarni / sekundarni ds: UpToDate / Nedosljedni C rn- ns: 1060156 nr: 0 dw: 33260 dr: 1034352 al: 14 bm: 62 lo: 9 pe: 78 ua: 64 ap: 0 ep: 1 wo: f oos: 31424 [===== =============>.] sinkronizirano: 97,3% (31424/1048508) K završetak: 0:00:01 brzina: 21,240 (15,644) K / s # Ovdje možemo vidjeti da sinkronizacija ide na 97,3%, a specificirano je da je to primarni čvor, a sekundarni čvor izgleda kao nedosljedan jer sinkronizacija još nije dovršena. #Kad završimo, ponovno pokrećemo cat / proc / drbd i imamo sljedeće: verzija: 8.3.15 (api: 88 / proto: 86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil @ Build32R6, 2012-12-20 20: 23: 49 1: cs: Povezano ro: Primarno / Sekundarno ds: UpToDate / UpToDate C r- ns: 1081628 nr: 0 dw: 33260 dr: 1048752 al: 14 bm: 64 lo: 0 pe: 0 ua: 0 ap: 0 ep: 1 wo: f oos: 0 # Vraćanjem poruke UpToDate svjesni smo da je sinkronizacija dovršena i da su drbd particije potpuno iste.

10. Sljedeća stvar je formatiranje našeg uređaja drbdZa to izvršavamo:

 mkfs.ext3 / dev / drbd1
Ja koristim ext3 jer mi je dao dobru stabilnost, ali mogli bismo koristiti i ext4, ne preporučujem korištenje bilo koje vrste particija ispod ext3.

Do sada smo već mogli ručno montirati / dev / drbd1 particiju u bilo koju točku montiranja sustava, u mom slučaju koristim / home za montažu budući da svaki od korisnika registriranih u oba čvora ima svoje direktorije za web stranice, stoga Trčim:

 mount -t ext3 / dev / drbd1 / home
I počinjem stvarati korisnike za replikaciju podataka na oba poslužitelja, u nastavku je instalacija otkucaja srca, aplikacija koja se koristi za međusobno nadgledanje poslužitelja i koja će biti zadužena za odgovarajuće promjene ako iz bilo kojeg razloga padne primarni i pretvori sekundarni u primarni kako bi se osigurala funkcionalnost Sustava.

Za instalacija otkucaja srca treba slijediti samo sljedeće korake. Spremište je instalirano za preuzimanje sa sljedećom naredbom:

 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Uredite datoteku:
 epel.repo /etc/yum.repos.d/epel.repo 
promijenite redak # 6 ‘Enable = 1 by enable = 0’; možete koristiti vi ili nano uređivače, kako želite.
 [epel] name = Dodatni paketi za Enterprise Linux 6 - $ basearch # baseurl = http: //download.fedoraproject.org/pub/epel/6/$basearch mirrorlist = http: //mirrors.fedoraproject.org/metalink? repo = epel -6 & arch = $ basearch failovermethod = prioritet omogućen = 0 # Ovo je redak koji moramo urediti Instalirajte otkucaje srca sa sljedećom naredbom: yum -enablerepo = epel install heartbeat Kad instalacija završi, reći će nam nešto slično do: Instalirano: otkucaji srca .i686 0: 3.0.4-1.el6 Dovršeno! 
Nakon što instalacijski proces završi, sljedeće što trebate učiniti je urediti 3 bitne datoteke za rad otkucaja srca; koji se nalazi u /etc/ha.d
  • authkeys
  • ha.cf
  • zajmovi

Otvaramo datoteku authkeys sa sljedećom naredbom:

 vi /etc/ha.d/authkeys
Dodaju se sljedeći redovi:
 auth 1 1 sha1 ključ za povezivanje otkucaja srca # U ovom retku definiramo koji će biti ključ za međusobno komuniciranje otkucaja srca svakog čvora, može biti isti kao onaj koji se koristi u drbd -u ili različit.
Mijenjamo dopuštenja za datoteke authkeys tako da se može čitati samo putem root -a:
 chmod 600 /etc/ha.d/authkeys
Sada uređujemo drugu datoteku:
 vi /etc/ha.d/ha.cf
Dodajemo sljedeće retke:
 logfile / var / log / ha-log # sistemski zapisnik je omogućen za buduće pogreške logfacility local0 keepalive 2 deadtime 30 # sustav čeka 30 sekundi da proglasi čvor1 neoperativnim initdead 120 # sustav čeka 120 sekundi da pokretanje čvora čeka drugo . bcast eth0 # je navedena Ethernet kartica putem koje će se prenositi komunikacija između poslužitelja, vrlo je važno obratiti pažnju budući da ovdje definiramo koja mrežna kartica ide u lokalnu mrežu, a koja za usmjeravanje sinkronizacije udpport 694 # naveden je ulaz za sinkronizaciju , kao u drbd -u možemo imati više poslužitelja, a svaki par sa svojim ulazom definiranim auto_failback off # označavanjem kao isključen sprječavamo da se čvor1 jednom oštećen i degradiran vrati kao primarni ili da se pokuša vratiti tako stvarajući sukob s drugim čvorom čvor čvor1 čvor2 # navodimo imena oba čvora. 

POVEĆAJTE

Da bismo dovršili konfiguraciju, moramo urediti datoteku haresources s naredbom:

 vi /etc/ha.d/haresources
Dodajte sljedeće retke:
 node1 192.168.1.10/24/eth0 drbddisk :: mydrbd Datotečni sustav ::/ dev/ drbd0 ::/ home :: ext3 #ova je linija odgovorna za montiranje particije podataka na čvor koji se naziva primarni čvor 192.168.1.10/24/ eth0 httpd #ova linija odgovorna je za definiranje apache usluge ili web poslužitelja prema čvoru koji se navodi kao primarni

POVEĆAJTE

Tri datoteke moraju se kopirati u čvor2, za to će se pobrinuti sljedeća naredba:

 scp -r /etc/ha.d/root@node2:/etc/
Datoteka se mora urediti httpd.conf tako da sluša zahtjeve iz virtualnog ip -a, u ovom slučaju 192.168.1.10:
 vi /etc/httpd/conf/httpd.conf
Redak se dodaje ili mijenja Slušajte 192.168.1.10:80
Izmijenjena datoteka kopira se na drugi poslužitelj:
 scp /etc/httpd/conf/httpd.conf root @ čvor2: /etc /httpd /conf /
Pokrećemo uslugu otkucaja srca na oba čvora:
 /etc/init.d/heartbeat start
S ovim imamo spreman poslužitelj visoke dostupnosti, samo je pitanje ući u naš internetski preglednik i staviti ip 192.168.1.10 ili instalirati ploču po vašem izboru za administraciju domene i generirati odgovarajuće korisnike za pristup stranicama ili domenama registriranim u poslužitelju.

Poslužitelj visoke dostupnosti može se koristiti kao što je već spomenuto na početku ovog vodiča kao: poslužitelj e -pošte, web poslužitelj, poslužitelj baze podataka, samba poslužitelj između ostalih; Isto tako, pomaže nam spriječiti gubitak podataka zbog hardverskih kvarova, a možemo ga dodatno pojačati napadima na disk jedinice, bilo hardverskim ili softverskim, nikad nije previše imati diskove u raidu za održavanje sustava.

Međutim, poslužitelj visoke dostupnosti nije izuzet od problema ili pogrešaka, kada je čvor degradiran, možemo otići u dnevnik otkucaja srca da vidimo što se dogodilo, to se postiže pristupom datoteci dodijeljenoj u konfiguraciji zajma u /etc/ha.d

Na isti način, može se dogoditi da iz ponovnog pokretanja oba poslužitelja iz nekog razloga ne počnu kao primarni / sekundarni i počnu kao primarni / nepoznati i nepoznati / sekundarni.

POVEĆAJTE

Da bismo to riješili, moramo slijediti sljedeće korake.

U ljusku palog čvora upisujemo:

 drbdadm sekundarni resurs
Nakon toga:
 drbdadm resurs za prekid veze
I onda:
 drbdadm---discard-my-data resource resource
Konačno, u preživjeli čvor ili primarno upisujemo:
 drbdadm resurs povezivanja
Sada će započeti resinkronizacija čvorova sa preživjelog čvora na pali čvor, koji počinje odmah pritiskom na tipku "Unesi" u uputama 4.

Ono što se ovdje dogodilo poznato je kao a Split-mozak, to se događa kada iz nekog razloga primarni čvor ne uspije i degradira se, kada se to dogodi, preporučuje se da se dubinski pregleda i analizira pali čvor, a prije ponovnog uključivanja u klaster radi rješavanja postojećeg problema, to bi također moglo biti potrebno za ponovnu instalaciju cijelog operacijskog sustava ovog čvora i bez ikakvih problema ugraditi ga u klaster kao sekundarni za sinkronizaciju, a ako je to slučaj, nakon sinkronizacije promijenite ga u primarni.

Na kraju, želio bih naglasiti redoviti pregled zdravlja klasteraZnamo dobro da je za visoke performanse uvijek dobro biti korak ispred računalnih katastrofa; Budući da kao informatičko osoblje odgovornost za brigu o podacima tvrtke ili tvrtki kojima pripadamo pada na nas, kao dodatna napomena, mislim da je vrijedno preporučiti da uvijek imate rezervnu kopiju u nekoj zamjenskoj jedinici na čvorovima i tako zajamčena sigurnost podataka.

Instalirajte i konfigurirajte Ubuntu poslužitelj

Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave