Installeer Linux-server in cluster met hoge beschikbaarheid

Inhoudsopgave

Hoe vaak hebben we onze services niet nodig, of liever gezegd, onze services altijd beschikbaar houden, en hoe vaak is het ons overkomen dat de harde schijf van onze server is beschadigd en we geen back-up hebben, nou ja, denkend aan die omstandigheden heb ik besloten om dit te creëren tutorial om ervoor te zorgen dat onze servers of liever onze services altijd online zijn.

Rekening houdend met het feit dat de tutorial is ontworpen voor gevorderde mensen in Linux, zal ik niet ingaan op onderwerpen zoals de installatie van het basissysteem dat ik deze keer zal gebruiken CentOS 6 64 bit in zijn laatste update. Evenzo zal ik alleen vermelden wat strikt noodzakelijk is voor de werking van het cluster (servers met hoge beschikbaarheid).

Ik maak ook de opmerking dat deze handleiding is gericht op de noodzaak om de webservice altijd actief te houden, hoewel ik het met succes met andere services heb gebruikt, denk ik dat om te beginnen, of beter gezegd, om te beginnen, het eenvoudigst is om maak een serverclusterweb.

Laten we zonder verder oponthoud verder gaan met de goede dingen.

Systeem vereisten.1. RAM-geheugen 1 GB
2. Harde schijf 80 GB
3. Celeron-processor
4. Gegevenspartitie voor het cluster (ongeacht de grootte die u wilt maken)
5. CentOS 6-besturingssysteem (in de laatste update)

Als u aan de vereisten voldoet, beginnen we met de Installatie van Linux-cluster.

Het volgende is om de DRBD te installeren voor de synchronisatie van de partities op beide servers, hiervoor is het noodzakelijk voer de in shell uit de volgende instructies:

1. Voeg ELRepo toe aan de lijst met systeemrepository's

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

2. Installeer drbd (Distributed Replicated Block Device) hulpprogramma's en kmod-pakketten

 [root @ node1 ~] yum install -y kmod-drbd83 drbd83-utils
(Persoonlijk gebruik ik 8.3 omdat 8.4 me problemen gaf met sommige distributies)

3. Drbd is toegevoegd aan of ingevoegd in de systeemkernel

 [root @ node1 ~] modprobe drbd

4. Het bronbestand voor de drbd moet worden aangemaakt
Het bevindt zich op /etc/drbd.d/mydrbd.res; waarbij mydrbd.res de naam van het bestand is en dit kan worden gewijzigd door iedereen die we willen, zolang we de extensie .res behouden; Dit bestand moet op beide servers worden aangemaakt of, als het bestand correct is geconfigureerd, naar het tweede knooppunt worden gekopieerd; de configuratie zou min of meer als volgt zijn:

 resource mydrbd {#dit is de naam van de protocol C-resource; opstarten {wfc-timeout 180; degr-wfc-timeout 120;} # 180 seconden wachten op het slave-apparaat, 120 seconden, als het niet antwoordt, wordt het gedegradeerd en blijft het als secundaire schijf {on-io-error detach; } netto {cram-hmac-alg "sha1"; shared-secret "geheime sleutel";} #In dit deel wordt een sleutel met sha1-codering gespecificeerd, deze sleutel is voor communicatie tussen de twee knooppunten. syncer {rate 100M;} #synchronisatiesnelheid, het maakt niet uit dat we een Gigabit-netwerkkaart hebben, het werkt niet op 1000M, de maximale aanbevolen snelheid is 100M (ik heb het geïnstalleerd met 10M en het werkt geweldig, een beetje traag de eerste synchronisatie maar dan zie je het verschil niet) op node1 {device / dev / drbd0; # hier specificeren we welk apparaat is gereserveerd voor de drbd, we kunnen meerdere apparaten hebben voor verschillende gegevens of verschillende services, zoals SAMBA, MySQL, onder andere schijf / dev / md2; #specificeer de partitie die zal worden gebruikt voor drbd-adres 172.16.0.1:7788; # We specificeren een IP buiten het bereik van ons netwerk, het is vermeldenswaard dat de netwerkkabel rechtstreeks tussen servers moet worden aangesloten, zonder via een switch of hub te gaan, als het recente model netwerkkaarten zijn, is een crossover-kabel niet nodig. metaschijf intern; } op node2 {# de specificaties van de tweede moeten hetzelfde zijn als die van de eerste, alleen het ip-adres verandert, het moet dezelfde poort zijn, dit komt omdat als we 2 clusters samen hebben, ze zullen conflicteren en niet zullen werken toepasselijk, als we meerdere clusters willen hebben, wordt het aanbevolen om verschillende poorten te gebruiken, het spreekt voor zich dat deze poorten op beide knooppunten hetzelfde moeten zijn. apparaat / dev / drbd0; schijf / dev / md2; adres 172.16.0.2:7788; metaschijf intern; }}

VERGROTEN

5. Het volgende is de configuratie van het hostbestand:Dit is zodat de servers worden doorzocht via het synchronisatie-IP en niet door het IP van het lokale netwerk en zo vermijden we conflicten met de services:

 / etc / hosts 192.168.1.1 knooppunt1 #naam van knooppunt1 op lokaal netwerksegment 192.168.1.2 knooppunt2 #naam van knooppunt2 op lokaal netwerksegment 172.16.0.1 knooppunt1 #naam van knooppunt1 op synchronisatienetwerksegment 172.16.0.2 knooppunt2 #naam van knooppunt2 synchroon netwerksegment

6. De opslageenheid voor de drbd is geïnitialiseerd

 [root @ node1 ~] drbdadm create-md disk1

7. De drbd-service of deamon begint

 /etc/init.d/drbd start

8. In het knooppunt dat we het primaire knooppunt willen zijn, voeren we het volgende commando uit:

 drbdadm - -overschrijf-gegevens-van-peer primaire schijf

9. We bewaken de synchronisatie van beide knooppunten
Hiervoor voeren wij uit:

 cat / proc / drbd
Het antwoord van de bovenstaande opdracht is zoiets als het volgende:
 versie: 8.3.15 (api: 88 / proto: 86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c gebouwd door phil @ Build32R6, 2012-12-20 20:23:49 1: cs: SyncSource ro: Primary / Secondary ds: UpToDatee / Inconsistent 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 [===== =============>.] gesynchroniseerd: 97,3% (31424/104858) K finish: 0:00:01 snelheid: 21.240 (15.644) K / sec # Hier kunnen we zien dat de synchronisatie gaat naar 97,3% en er wordt gespecificeerd dat dit het primaire knooppunt is en het secundaire knooppunt lijkt inconsistent omdat de synchronisatie nog niet is voltooid. #Eenmaal klaar, voeren we cat / proc / drbd opnieuw uit en hebben we het volgende: versie: 8.3.15 (api: 88 / proto: 86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build door phil @ Build32R6, 2012-12-20 20 : 23: 49 1: cs: Verbonden ro: Primair / Secundair 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 # Door het UpToDate-bericht terug te sturen, weten we dat de synchronisatie is voltooid en dat de drbd-partities precies hetzelfde zijn.

10. Het volgende is om ons apparaat drbd . te formatterenDaarvoor voeren wij uit:

 mkfs.ext3 / dev / drbd1
Ik gebruik ext3 omdat het me een goede stabiliteit heeft gegeven, maar we zouden ook ext4 kunnen gebruiken, ik raad het gebruik van een partitie onder ext3 af.

Tot nu toe zijn we al in staat om de / dev / drbd1-partitie handmatig te koppelen aan elk koppelpunt van het systeem, in mijn geval gebruik ik / home voor het koppelen, aangezien elk van de gebruikers die in beide knooppunten zijn geregistreerd, hun eigen mappen voor webpagina's hebben , daarom Ik ren:

 mount -t ext3 / dev / drbd1 / home
En ik begin de gebruikers te maken voor gegevensreplicatie op beide servers, het volgende is de: hartslag installatie, applicatie die wordt gebruikt om de servers onderling te bewaken en die verantwoordelijk is voor het aanbrengen van de relevante wijzigingen als de primaire om welke reden dan ook valt en de secundaire in de primaire verandert om de functionaliteit van het systeem te waarborgen.

Voor de hartslag installatie alleen de volgende stappen moeten worden gevolgd. De repository wordt geïnstalleerd om te downloaden met de volgende opdracht:

 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Bewerk het bestand:
 epel.repo /etc/yum.repos.d/epel.repo 
verander lijn # 6 'Inschakelen = 1 door inschakelen = 0'; je kunt de vi- of nano-editors gebruiken, zoals je wilt.
 [epel] name = Extra pakketten voor 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 = prioriteit ingeschakeld = 0 # Dit is de regel die we moeten bewerken Installeer de heartbeat met het volgende commando: yum -enablerepo = epel install heartbeat Zodra de installatie is voltooid, zal het ons iets soortgelijks vertellen naar: Geïnstalleerd: hartslag .i686 0: 3.0.4-1.el6 Voltooid! 
Zodra het installatieproces is voltooid, is het volgende dat u moet doen de 3 essentiële bestanden bewerken om de hartslag te laten functioneren; bevindt zich in /etc/ha.d
  • authkeys
  • ha.cf
  • haresources

We openen het bestand authkeys met het volgende commando:

 vi /etc/ha.d/authkeys
De volgende regels worden toegevoegd:
 auth 1 1 sha1 sleutel voor verbinding tussen hartslagen # In deze regel definiëren we welke de sleutel zal zijn voor de hartslagen van elk knooppunt om met elkaar te communiceren, het kan dezelfde zijn als die gebruikt in de drbd of anders.
We wijzigen de bestandsrechten authkeys zodat het alleen door root kan worden gelezen:
 chmod 600 /etc/ha.d/authkeys
Nu bewerken we het tweede bestand:
 vi /etc/ha.d/ha.cf
We voegen de volgende regels toe:
 logfile / var / log / ha-log # systeemlogboek is ingeschakeld voor toekomstige erres logfacility local0 keepalive 2 deadtime 30 # het systeem wacht 30 seconden om node1 als onbruikbaar te verklaren initdead 120 # het systeem wacht 120 seconden totdat het opstarten van het knooppunt op de andere wacht . bcast eth0 # is de Ethernet-kaart waarmee de communicatie tussen servers wordt verzonden, het is erg belangrijk om op te letten, omdat hier wordt gedefinieerd welke netwerkkaart naar het lokale netwerk gaat en welke de synchronisatie moet leiden udpport 694 # de synchronisatiepoort wordt gespecificeerd , zoals in de drbd kunnen we meerdere servers hebben en elk paar met zijn respectieve poort gedefinieerd auto_failback off # door het als off te markeren, voorkomen we dat node1 eenmaal beschadigd en gedegradeerd terugkeert als primair of probeert terug te keren, waardoor er een conflict ontstaat met een ander knooppunt node node1 node2 # we specificeren de namen van beide knooppunten. 

VERGROTEN

Om de configuratie te voltooien, moeten we het haresources-bestand bewerken met de opdracht:

 vi /etc/ha.d/haresources
Voeg de volgende regels toe:
 node1 192.168.1.10/24/eth0 drbddisk :: mydrbd Bestandssysteem :: / dev / drbd0 :: / home :: ext3 #deze regel is verantwoordelijk voor het koppelen van de gegevenspartitie op het knooppunt waarnaar wordt verwezen als primair knooppunt1 192.168.1.10/24/eth0 httpd #this line is verantwoordelijk voor het definiëren van de apache-service of webserver naar het knooppunt waarnaar wordt verwezen als primair

VERGROTEN

De 3 bestanden moeten naar node2 worden gekopieerd, het volgende commando zorgt ervoor:

 scp -r /etc/ha.d/root@node2:/etc/
Het bestand moet worden bewerkt httpd.conf zodat het luistert naar verzoeken van het virtuele IP-adres, in dit geval 192.168.1.10:
 vi /etc/httpd/conf/httpd.conf
De regel is toegevoegd of gewijzigd Luister 192.168.1.10:80
Het gewijzigde bestand wordt naar de tweede server gekopieerd:
 scp /etc/httpd/conf/httpd.conf root @ node2: / etc / httpd / conf /
We starten de hartslagservice op beide knooppunten:
 /etc/init.d/heartbeat start
Hiermee hebben we onze server met hoge beschikbaarheid klaar, het is alleen een kwestie van onze internetbrowser in te voeren en het ip 192.168.1.10 in te voeren of een paneel naar keuze te installeren voor domeinbeheer en de bijbehorende gebruikers te genereren om toegang te krijgen tot de pagina's of domeinen die zijn geregistreerd op de server.

De hoge-beschikbaarheidsserver kan worden gebruikt zoals reeds vermeld aan het begin van deze tutorial als: e-mailserver, webserver, databaseserver, samba-server onder andere; Evenzo helpt het ons om het verlies van informatie als gevolg van hardwarestoringen te voorkomen, en we kunnen het meer versterken met raids op de schijfstations, hetzij door hardware of software, het is nooit te veel om schijven in raid te hebben om het systeem te onderhouden.

De server met hoge beschikbaarheid is echter niet vrijgesteld van problemen of fouten, wanneer een knooppunt is gedegradeerd, kunnen we naar het hartslaglogboek gaan om te zien wat er is gebeurd, dit wordt bereikt door toegang te krijgen tot het bestand dat is toegewezen in de configuratie van haresources in /etc/ha.d

Op dezelfde manier kan het gebeuren dat wanneer u om de een of andere reden beide servers opnieuw start, ze niet als primair / secundair starten en als primair / onbekend en onbekend / secundair beginnen.

VERGROTEN

Om dit op te lossen moeten we de volgende stappen volgen.

In de shell van de gevallen knoop typen we:

 drbdadm secundaire bron
Vervolgens:
 drbdadm bron ontkoppelen
En dan:
 drbdadm - --discard-my-data connect resource
Ten slotte typen we in het overgebleven knooppunt, of primair:
 drbdadm verbindingsbron
Nu start het de hersynchronisatie van de knooppunten van het overlevende knooppunt naar het gevallen knooppunt, dit begint onmiddellijk bij het indrukken van de toets "Binnenkomen" bij instructie 4.

Wat hier gebeurde staat bekend als a Gespleten brein, dit gebeurt wanneer om de een of andere reden het primaire knooppunt faalt en wordt gedegradeerd. Zodra dit gebeurt, wordt het ten zeerste aanbevolen om het gevallen knooppunt grondig te bekijken en te analyseren en voordat u het opnieuw in het cluster opneemt om een ​​bestaand probleem op te lossen, kan het ook zijn nodig om het volledige besturingssysteem van dit knooppunt opnieuw te installeren en het zonder enig probleem in het cluster op te nemen als secundair voor synchronisatie en als dat het geval was, verander het dan na synchronisatie in primair.

Tot slot wil ik de nadruk leggen op de regelmatige beoordeling van clustergezondheidWe weten heel goed dat het voor hoge prestaties altijd goed is om computerrampen een stap voor te zijn; Aangezien wij als IT-personeel de verantwoordelijkheid hebben om te zorgen voor de gegevens van het bedrijf of de bedrijven waartoe wij behoren, op ons rust, en een aanvullende opmerking, denk ik dat het de moeite waard is om altijd een back-up te hebben in een alternatieve eenheid naar de knooppunten en dus de veiligheid van de informatie gegarandeerd.

Installeer en configureer Ubuntu Server

Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave