Installer Linux -server i klynge med høy tilgjengelighet

Innholdsfortegnelse

Hvor mange ganger har vi krevd å ha tjenestene våre, eller rettere sagt, holde tjenestene våre alltid tilgjengelige, og hvor mange ganger har det skjedd med oss ​​at harddisken til serveren vår er skadet og vi ikke har sikkerhetskopiering, vel, tenker på dem omstendigheter, har jeg bestemt meg for å lage dette opplæring for å sikre at våre servere eller rettere sagt våre tjenester alltid er online.

Tatt i betraktning at opplæringen er designet for avanserte mennesker i Linux, vil jeg ikke berøre temaer som installasjon av basissystemet som jeg vil bruke denne gangen CentOS 6 64 bit i den siste oppdateringen. På samme måte vil jeg bare nevne det som er strengt nødvendig for driften av klyngen (servere med høy tilgjengelighet).

Jeg kommenterer også at denne veiledningen er rettet mot behovet for å holde webtjenesten alltid aktiv, selv om jeg har brukt den med andre tjenester, tror jeg at som en start eller bedre sagt, som en start, er det enkleste å opprette en server cluster web.

Uten videre må vi gå videre til de gode tingene.

Systemkrav.1. RAM -minne 1 GB
2. Harddisk 80 GB
3. Celeron -prosessor
4. Datapartisjon for klyngen (uansett størrelse du vil opprette)
5. CentOS 6 -operativsystem (i den siste oppdateringen)

Hvis du oppfyller kravene, la oss starte Linux cluster installasjon.

Den neste tingen er å installere DRBD for synkronisering av partisjonene på begge serverne, for dette er det nødvendig kjør in -shell følgende instruksjoner:

1. Legg til ELRepo i listen over systemlagre

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

2. Installer drbd (Distributed Replicated Block Device) -verktøy og kmod -pakker

 [root @ node1 ~] yum install -y kmod-drbd83 drbd83-utils
(Personlig bruker jeg 8.3 siden 8.4 ga meg problemer med noen distribusjoner)

3. Drbd legges til eller settes inn i systemkjernen

 [root @ node1 ~] modprobe drbd

4. Ressursfilen for drbd må opprettes
Det ligger på /etc/drbd.d/mydrbd.res; hvor mydrbd.res er navnet på filen, og dette kan endres av hvem vi vil, så lenge vi beholder utvidelsen .res; Denne filen bør opprettes på begge serverne, eller, når filen er konfigurert riktig, kopieres den til den andre noden; konfigurasjonen vil være mer eller mindre følgende:

 ressurs mydrbd {#dette er navnet på protokoll C -ressursen; oppstart {wfc-timeout 180; degr-wfc-timeout 120;} # 180 sekunder med ventetid på slaveenheten, 120 sekunder, hvis den ikke svarer blir den degradert og forblir som sekundær disk {on-io-error losse; } netto {cram-hmac-alg "sha1"; delt-hemmelig "hemmelig nøkkel";} #I denne delen er en nøkkel med sha1-kryptering spesifisert, denne nøkkelen er for kommunikasjon mellom de to nodene. syncer {rate 100M;} #synkroniseringshastighet, det spiller ingen rolle at vi har et Gigabit nettverkskort, det fungerer ikke på 1000M, maksimal anbefalt hastighet er 100M (jeg har installert det med 10M og det fungerer bra, litt tregt den første synkroniseringen, men da ser du ikke forskjellen) på node1 {device / dev / drbd0; # her spesifiserer vi hvilken enhet som er reservert for drbd, vi kan ha flere enheter for forskjellige data eller forskjellige tjenester, for eksempel SAMBA, MySQL, blant annet disk / dev / md2; #spesifiser partisjonen som skal brukes til drbd -adresse 172.16.0.1:7788; # Vi angir en IP utenfor rekkevidden til nettverket vårt. Det er verdt å nevne at nettverkskabelen må være koblet direkte mellom servere, uten å gå gjennom en switch eller hub, hvis de er nyere modell nettverkskort, er en crossover -kabel ikke nødvendig. metadisk intern; } på node2 {# spesifikasjonene til den andre må være de samme som i den første, bare ip -adressen endres, den må være den samme porten, dette er fordi hvis vi har to klynger sammen, vil de komme i konflikt og vil ikke fungere hensiktsmessig, hvis vi ønsker å ha flere klynger, anbefales det å bruke forskjellige porter. Det sier seg selv at disse portene må være like på begge noder. enhet / dev / drbd0; disk / dev / md2; adresse 172.16.0.2:7788; metadisk intern; }}

FORSTØRRE

5. Det følgende er vertsfilkonfigurasjonenDette er slik at serverne søkes gjennom synkroniserings -IP og ikke av IP -en til det lokale nettverket, og dermed unngår vi konflikter med tjenestene:

 / etc. nettverkssegment

6. Lagringsenheten for drbd initialiseres

 [root @ node1 ~] drbdadm create-md disk1

7. Drbd -tjenesten eller deamon starter

 /etc/init.d/drbd start

8. I noden som vi ønsker å være den primære, utfører vi følgende kommando

 drbdadm--overskrive-data-av-node-primærdisk1

9. Vi overvåker synkroniseringen av begge nodene
For dette utfører vi:

 cat / proc / drbd
Svaret fra kommandoen ovenfor er omtrent som følgende:
 versjon: 8.3.15 (api: 88 / proto: 86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build av phil @ Build32R6, 2012-12-20 20:23:49 1: cs: SyncSource ro: Primary / Secondary ds: UpToDate / Inkonsekvent 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 [===== =============>.] synkronisert: 97,3% (31424/1048508) K mål: 0:00:01 hastighet: 21 240 (15 644) K / sek # Her kan vi se at synkroniseringen går til 97,3%, og det er spesifisert at dette er den primære noden og den sekundære noden fremstår som inkonsekvent siden synkroniseringen ikke er ferdig ennå. #Når vi er ferdige, kjører vi cat / proc / drbd igjen, og vi har følgende: versjon: 8.3.15 (api: 88 / proto: 86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build av phil @ Build32R6, 2012-12-20 20: 23: 49 1: cs: Tilkoblet ro: Primær / Sekundær 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 # Ved å returnere UpToDate -meldingen, er vi klar over at synkroniseringen er fullført og drbd -partisjonene er nøyaktig de samme.

10. Det neste er å formatere enheten drbdFor det utfører vi:

 mkfs.ext3 / dev / drbd1
Jeg bruker ext3 fordi det har gitt meg god stabilitet, men vi kan også bruke ext4, jeg anbefaler ikke å bruke noen form for partisjon under ext3.

Så langt er vi allerede i stand til å montere / dev / drbd1 -partisjonen manuelt i et hvilket som helst monteringspunkt i systemet, i mitt tilfelle bruker jeg / home for montering siden hver av brukerne som er registrert i begge nodene har sine egne kataloger for websider, derfor Jeg løper:

 mount -t ext3 / dev / drbd1 / home
Og jeg begynner å lage brukerne for datareplikasjon på begge serverne, følgende er installasjon av hjerteslag, applikasjon som brukes til å overvåke serverne seg imellom og hvem som skal ha ansvaret for å gjøre de aktuelle endringene hvis primæren faller av en eller annen grunn og gjør den sekundære til primær for å sikre funksjonaliteten til systemet.

For installasjon av hjerteslag bare følgende trinn bør følges. Depotet er installert for nedlasting med følgende kommando:

 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Rediger filen:
 epel.repo /etc/yum.repos.d/epel.repo 
endre linje # 6 ‘Enable = 1 by enable = 0’; du kan bruke vi- eller nano -redaktørene, som du vil.
 [epel] name = Extra Packages for 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 aktivert = 0 # Dette er linjen vi må redigere Installer hjerteslaget med følgende kommando: yum -enablerepo = epel install heartbeat Når installasjonen er fullført vil den fortelle oss noe lignende til: Installert: hjerterytme .i686 0: 3.0.4-1.el6 Fullført! 
Når installasjonsprosessen er fullført, er det neste å gjøre å redigere de 3 viktige filene for at hjerterytmen skal fungere; ligger i /etc/ha.d
  • authorkeys
  • ha.cf
  • harekilder

Vi åpner filen authorkeys med følgende kommando:

 vi /etc/ha.d/authkeys
Følgende linjer legges til:
 auth 1 1 sha1 -nøkkel for forbindelse mellom hjerteslag # I denne linjen definerer vi hvilken som vil være nøkkelen for hjerteslagene til hver node for å kommunisere med hverandre, den kan være den samme som den som ble brukt i drbd eller annerledes.
Vi endrer filtillatelsene authorkeys slik at den bare kan leses med rot:
 chmod 600 /etc/ha.d/authkeys
Nå redigerer vi den andre filen:
 vi /etc/ha.d/ha.cf
Vi legger til følgende linjer:
 logfile / var / log / ha-log # systemlogg er aktivert for fremtidige feil logfacility local0 keepalive 2 dødtid 30 # systemet venter 30 sekunder med å erklære node1 som ubrukelig initdead 120 # systemet venter 120 sekunder på at node starter å vente på den andre . bcast eth0 # er spesifisert Ethernet -kortet som kommunikasjonen mellom servere skal overføres gjennom. Det er veldig viktig å være oppmerksom siden vi her definerer hvilket nettverkskort som går til det lokale nettverket og som skal synkroniseres direkte utpport 694 # synkroniseringsporten er spesifisert Som i drbd kan vi ha flere servere og hvert par med sin respektive port definert auto_failback av # ved å markere den som av. # vi spesifiserer navnene på begge nodene. 

FORSTØRRE

For å fullføre konfigurasjonen må vi redigere haresources -filen med kommandoen:

 vi /etc/ha.d/haresources
Legg til følgende linjer:
 node1 192.168.1.10/24/eth0 drbddisk :: mydrbd Filsystem ::/ dev/ drbd0 ::/ home :: ext3 #denne linjen er ansvarlig for montering av datapartisjonen på noden referert til som primær node1 192.168.1.10/24/ eth0 httpd #denne linjen er ansvarlig for å definere apache -tjenesten eller webserveren mot noden det refereres til som primær

FORSTØRRE

De 3 filene må kopieres til node2, følgende kommando tar seg av det:

 scp -r /etc/ha.d/root@node2:/etc/
Filen må redigeres httpd.conf slik at den lytter etter forespørsler fra den virtuelle ip, i dette tilfellet 192.168.1.10:
 vi /etc/httpd/conf/httpd.conf
Linjen er lagt til eller endret Lytt til 192.168.1.10:80
Den endrede filen kopieres til den andre serveren:
 scp /etc/httpd/conf/httpd.conf root @ node2: /etc /httpd /conf /
Vi starter hjerteslagstjenesten på begge noder:
 /etc/init.d/heartbeat start
Med dette har vi vår server med høy tilgjengelighet klar, det er bare å gå inn i nettleseren vår og sette ip 192.168.1.10 eller installere et panel du ønsker for domeneadministrasjon og generere de tilsvarende brukerne for å få tilgang til sidene eller domenene som er registrert på serveren.

Serveren med høy tilgjengelighet kan brukes som allerede nevnt i begynnelsen av denne opplæringen som: e -postserver, webserver, databaseserver, samba server blant andre; På samme måte hjelper det oss med å forhindre tap av informasjon på grunn av maskinvarefeil, og vi kan forsterke det mer med raid på diskenhetene, enten ved maskinvare eller programvare, det er aldri for mye å ha disker i raid for å vedlikeholde systemet.

Serveren med høy tilgjengelighet er imidlertid ikke unntatt fra problemer eller feil. Når en node er degradert, kan vi gå til hjerteslagloggen for å se hva som skjedde, dette oppnås ved å få tilgang til filen som er tilordnet i harekildekonfigurasjonen i /etc/ha.d

På samme måte kan det skje at når du starter begge serverne på nytt av en eller annen grunn, starter de ikke som primær / sekundær og starter som primær / uvitende og ukjent / sekundær.

FORSTØRRE

For å løse dette må vi følge følgende trinn.

I skallet til den falne noden skriver vi:

 drbdadm sekundær ressurs
I ettertid:
 drbdadm koble fra ressursen
Og så:
 drbdadm---discard-my-data connect resource
Til slutt skriver vi i den overlevende noden eller primæren:
 drbdadm koble ressurs
Nå vil den starte resynkroniseringen av nodene fra den overlevende noden til den falne noden, dette starter umiddelbart når du trykker på tasten "Tast inn" i instruksjon 4.

Det som skjedde her er kjent som en Split-hjerne, dette skjer når den primære noden av en eller annen grunn mislykkes og degraderes. Når dette skjer, anbefales det på det sterkeste å gjennomgå og analysere den fallne noden grundig, og før den innlemmes i klyngen for å løse eksisterende problemer, kan det også være nødvendig for å installere hele operativsystemet til denne noden på nytt, og uten problemer, innlemme det i klyngen som sekundær for synkronisering, og hvis det var tilfelle, en gang synkronisert, endre det til primær.

Til slutt vil jeg understreke regelmessig gjennomgang av klyngehelseVi vet godt at for høy ytelse er det alltid godt å være et skritt foran datakatastrofer; Siden vi som IT -personell, påhviler ansvaret for å ta vare på dataene til selskapet eller selskapene vi tilhører, som en ekstra merknad, er det verdt å anbefale å alltid ha en sikkerhetskopi i en alternativ enhet til nodene og dermed ha sikkerheten til informasjonen garantert.

Installer og konfigurer Ubuntu Server

Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave