Curs 5 - Redundanta si load balancing -...

53
Curs 5 Redundant , ˘ as , i load balancing Servicii avansate pentru ISP 20 martie 2017 SAISP Curs 5, Redundant as ,i load balancing 1/53

Transcript of Curs 5 - Redundanta si load balancing -...

Page 1: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Curs 5Redundant, a s, i load balancing

Servicii avansate pentru ISP

20 martie 2017

SAISP Curs 5, Redundant,a s,i load balancing 1/53

Page 2: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 2/53

Page 3: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Load balancing (LB)

I distribuirea ıncarcarii pe mai multe sisteme

I scalabilitate

I monitor pentru raportarea ıncarcarii pe un sistem dat

I load balancer (adresa publica)

I workers

I VIP (Virtual IP) – partajat de load balancer s, i workers

I exemplu: round-robin DNS – mai multe intrari de tip A

SAISP Curs 5, Redundant,a s,i load balancing 3/53

Page 4: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Layer-2 Load Balancing

I link aggregation, port aggregation, etherchannel, link bundlingetc.

I LAG – Link Aggregation, IEEE 802.1AX-2008

I legarea a doua sau mai multe legaturi fizice ıntr-o legaturalogica mai puternica

I redundant, a, tolerant, a la defecte

I Linux bonding driver (throughput, fault tolerance)

I LACP (Link Aggregation Control Protocol)

SAISP Curs 5, Redundant,a s,i load balancing 4/53

Page 5: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Layer-4 Load Balancing

I distribut, ie de cereri la nivelul transport (TCP)

I client, ii vad o singura adresa IP

I load balancer-ul distribuie conexiunile client, ilor catre serverelecare lucreaza s, i raspund efectiv cererii

I IPVS (partea a LVS – Linux Virtual Server)

SAISP Curs 5, Redundant,a s,i load balancing 5/53

Page 6: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Layer-7 Load Balancing

I application-level load balancing

I parsarea cererilor la nivel aplicat, ie

I distribuirea cererilor catre servere pe baza cont, inutuluiacestora

I overhead important de parsareI KTCPVS (parte a LVS)

I folosibil de Apache, Lighttpd, nginx (cu modulelecorespunzatoare)

SAISP Curs 5, Redundant,a s,i load balancing 6/53

Page 7: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Cluster

I loosely coupled computers

I lucru la comun

I de obicei conectate prin ret, ele de mare viteza

I viteza de acces/furnizare de servicii, fiabilitate

I cost-effective

I scale out (pe orizontala, mai multe sisteme)

I scale up (pe verticala, sisteme mai scumpe)

I Amazon, Yahoo!, Google

SAISP Curs 5, Redundant,a s,i load balancing 7/53

Page 8: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

High availability (HA)

I fiabilitate

I ment, inerea serviciilor active

I sisteme redundante

I heartbeat exchange – I’m still alive

I failover procedure – substituirea unui sistem nefunct, ional cuunul nou

I combinata, ın general, cu load balancing

SAISP Curs 5, Redundant,a s,i load balancing 8/53

Page 9: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 9/53

Page 10: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Linux Virtual Server

I suport ın nucleul LinuxI netfilter framework

I IPVS – IP Virtual Server

I module: ip_vs, ip_vs_rr, ip_vs_*

I load balancer: director, server virtual

I directorul dirijeaza cererile catre workers

I ipvsadm pentru administrare (utilitar user space)

SAISP Curs 5, Redundant,a s,i load balancing 10/53

Page 11: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Terminologie

I IPVS (ip_vs) – codul aferent directorului (ın nucleul Linux)

I LVS (Linux Virtual Server) – director s, i realservers

I director – sistemul/nodul ce ruleaza codul ipvs; similar unuiruter

I realservers – nodurile ce ofera servicii (workeri)

I client, i

I metoda de forwarding – LVS-NAT, LVS-DR, LVS-Tun

I planificare (ipvsadm) – algoritmul folosit de director pentruselectarea unui realserver care sa serveasca un client

SAISP Curs 5, Redundant,a s,i load balancing 11/53

Page 12: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Terminologie LVS

SAISP Curs 5, Redundant,a s,i load balancing 12/53

Page 13: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Adrese IP

I CIP – client IP

I VIP – virtual IP (adresa IP folosita de client, i; vizibila client, ilorpe director)

I DIP – director IP (adresa IP a directorului vizibila ın ret, eauaDRIP

I RIP – real servers IP

SAISP Curs 5, Redundant,a s,i load balancing 13/53

Page 14: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Moduri de funct, ionare

I LVS-NAT – nat

I LVS-TUN – tunelare

I LVS-DR – direct routing

SAISP Curs 5, Redundant,a s,i load balancing 14/53

Page 15: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

LVS-NAT

I configurare simpla (necesita o stiva TCP/IP functionala)

I nu necesita modificari pe serverele reale

I adresa destinat, ie a pachetelor este modificata (VIP → RIP)

I reply-urile trec tot prin director

SAISP Curs 5, Redundant,a s,i load balancing 15/53

Page 16: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

LVS-NAT (2)

SAISP Curs 5, Redundant,a s,i load balancing 16/53

Page 17: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

LVS-DR

I direct routing

I pachetul este transmis de director ca pachet de nivel 2 catrerealserver

I clientul se conecteaza la director (VIP)

I default gateway-ul pentru realservers nu trebuie sa fiedirectorul

SAISP Curs 5, Redundant,a s,i load balancing 17/53

Page 18: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

LVS-DR (2)

SAISP Curs 5, Redundant,a s,i load balancing 18/53

Page 19: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

LVS-TUN

I pachetul init, ial (CIP → VIP) este ıncapsulat ıntr-un pachetDIP → RIP

I realserver-ul primes, te pachetul pe o interfat, a tunel s, i ıldecapsuleaza

I permite folosirea de servere aflate la distant, a unele de celelalte

SAISP Curs 5, Redundant,a s,i load balancing 19/53

Page 20: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

LVS-TUN (2)

SAISP Curs 5, Redundant,a s,i load balancing 20/53

Page 21: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

ipvsadm

1 # activare load balancing2 ipvsadm -A -t 10.0.0.1:22

3

4 # configurare servere reale (-g LVS-DR)5 ipvsadm -a -t 10.0.0.1:22 -r 10.0.0.20:22 -g

6 ipvsadm -a -t 10.0.0.1:22 -r 10.0.0.30:22 -g

7

8 # dezactivare load balancing9 ipvsadm -D -t 10.0.0.1:22

SAISP Curs 5, Redundant,a s,i load balancing 21/53

Page 22: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

ipvsadm scheduler

1 ipvsadm -A -t 10.0.0.1:80

2 ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.20:80 -g

3 ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.30:80 -g

4

5 # activare scheduler de tip round-robin6 ipvsadm -E -t 10.0.0.1:80 -s rr

7 ipvsadm -e -t 10.0.0.1:80 -r 10.0.0.20:80 -x 2

8 ipvsadm -e -t 10.0.0.1:80 -r 10.0.0.30:80 -x 2

SAISP Curs 5, Redundant,a s,i load balancing 22/53

Page 23: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 23/53

Page 24: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Linux High Availability

I Linux-HA

I Linux, *BSD, Solaris

I RAS (Reliability, Availability, Serviceability)

I high availability cluster systems

I Heartbeat infrastructure layer – semnalizeazaprezent, a/absent, a peerilor

I Cluster resource manager (CRM) – pornirea/oprirea serviciilor

I GUI

I monitoring, fencing

SAISP Curs 5, Redundant,a s,i load balancing 24/53

Page 25: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Hearbeat

I daemon care asigura interfat, a de comunicare

I transmite client, ilor informat, ii legate de prezent, a sau absent, aserviciilor/sistemelor

I combinat cu un CRM (pentru oprire/pornire)

I messaging layer

I pana la versiunea 2.1.4 toate aplicat, iile erau integrate ınpachetul heartbeat

I acum aplicat, iile sunt distincte – Heartbeat: messaging layer

SAISP Curs 5, Redundant,a s,i load balancing 25/53

Page 26: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Resource Agents

I interfat, a standardizata pentru o resursa din cluster

I traduce un set standard de operat, ii ın operat, ii specializateI operat, ii

I start: activarea sau pornirea unei resurseI stop: opres, te sau dezactiveaza o resursaI status, monitorI validateI meta-data: informat, ii despre resource agent

SAISP Curs 5, Redundant,a s,i load balancing 26/53

Page 27: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Cluster Glue

I set de biblioteci, utilitare pentru Linux HA

I ceea ce nu este cluster messaging layer (Heartbeat) sauResource Agent sau cluster resource manager (Pacemaker)este Glue

I Cluster Plumbing Library – intra-cluster communication

I STONITH (Shoot The Other Node In The Head) – nodefencing

I Local Resource Manager – interfat, a ıntre CRM s, i ResourceAgents

I hb report – aplicat, ie pentru raportarea erorilor

SAISP Curs 5, Redundant,a s,i load balancing 27/53

Page 28: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Pacemaker

I pornes, te/opres, te serviciile

I init, ial parte din suita heartbeat

I acum proiect separat (din 2007)

I suport pentru mai multe configurat, ii de redundant, a

I storage agnostic, resource agnostic (anything that can bescripted can be clustered)

I foloses, te fie OpenAIS, fie Heartbeat

SAISP Curs 5, Redundant,a s,i load balancing 28/53

Page 29: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

OpenAIS

I implementare Application Interface Specification

I dezvoltare de aplicat, ii care raman active ın momentul ın careexista caderi

I modul pentru Corosync Cluster Engine

SAISP Curs 5, Redundant,a s,i load balancing 29/53

Page 30: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 30/53

Page 31: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD

I Ce este?I solutie software de mirroring la nivelul unui clusterI DistributedI ReplicatedI Block-Device

I CaracteristiciI real-timeI transparentI sincron / asincronI shared-nothing

SAISP Curs 5, Redundant,a s,i load balancing 31/53

Page 32: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRDB - Componente

I modul kernel: drbd.koI utilitare userspace:

I drbdsetupI drbdmetaI drbdadm (wrapper, cel mai des folosit)

SAISP Curs 5, Redundant,a s,i load balancing 32/53

Page 33: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRDB - Arhitectura

SAISP Curs 5, Redundant,a s,i load balancing 33/53

Page 34: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Terminologie

I resursaI resource nameI drbd device - /dev/drbdX, major 147, minor XI disk configuration - data + metadataI network configuration

I rolI primary: poate face ”read / write”I secondary: nu poate face nici ”read”, nici ”write”I a nu se confunda cu active / passive la nivel de cluster

I replicare: real-time, parte a functionarii normale

I sincronizare: initiala sau dupa o cadere

SAISP Curs 5, Redundant,a s,i load balancing 34/53

Page 35: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Moduri de operare

I single-primaryI un singur nod poate fi primaryI folosit in clustere high-availabilityI orice sistem de fisiere: ext3, ext4, btrfs etc.

I dual-primaryI doua noduri pot avea acces concurent la dateI folosit in clustere cu load-balancingI sistem de fisiere cu lock distribuit: gfs, ocfs2 etc.

SAISP Curs 5, Redundant,a s,i load balancing 35/53

Page 36: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - I/O

I Toate operatiile de ”read” se fac local.

I Operatiile de ”write” sunt insotite de replicare.I Moduri de replicare

I Protocol A: asincronI Protocol B: semi-sincronI Protocol C: sincron

I Compromis intre protectie si latenta

I Cel mai des folosit: Protocol C

SAISP Curs 5, Redundant,a s,i load balancing 36/53

Page 37: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Networking

I Legatura fizicaI se recomanda cel putin un link Gigabit, dedicat, back to backI optimizari: 10 Gigabit, Etherchannel

I TransportI TCP (port ≥ 7788) peste IPv4, peste IPv6I SuperSocket

SAISP Curs 5, Redundant,a s,i load balancing 37/53

Page 38: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Split brain

I Split brain: pierderea totala a conectivitatii intre cele douanoduri

I Recuperare:I ManualaI Discard modifications on younger primaryI Discard modifications on older primaryI Discard modifications on primary with fewer changesI Graceful recovery: daca pe un nod nu s-au facut modificari

I Alegerea depinde foarte mult de serviciile rulate

SAISP Curs 5, Redundant,a s,i load balancing 38/53

Page 39: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Instalare

I Linux kernel ≥ 2.6.33

I apt-get install drbd8-utils

SAISP Curs 5, Redundant,a s,i load balancing 39/53

Page 40: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Fisiere de configurare

I /etc/drbd.confI /etc/drbd.d/

I global common.confI *.res

I Identice pe fiecare nod!

I Structura ”flat” sau ”multiple-file”

SAISP Curs 5, Redundant,a s,i load balancing 40/53

Page 41: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Exemplu configurare

1 global {2 usage-count yes;

3 }4 common {5 protocol C;

6 }7 resource r0 {8 on alice {9 device /dev/drbd1;

10 disk /dev/sda7;

11 address 10.1.1.31:7789;

12 meta-disk internal;

13 }14 on bob {15 device /dev/drbd1;

16 disk /dev/sda7;

17 address 10.1.1.32:7789;

18 meta-disk internal;

19 }20 }

SAISP Curs 5, Redundant,a s,i load balancing 41/53

Page 42: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Exemplu configurare

1 resource r0 {2 device /dev/drbd1;

3 disk /dev/sda7;

4 meta-disk internal;

5 on alice {6 address 10.1.1.31:7789;

7 }8 on bob {9 address 10.1.1.32:7789;

10 }11 }

SAISP Curs 5, Redundant,a s,i load balancing 42/53

Page 43: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Activare

1 # Create metadate2 drbdadm create-md r0

3

4 # Atasare resursa la block-device5 drbdadm attach r0

6 # Setare parametri sincronizare7 drbdadm syncer r0

8 # Conectare la peer9 drbdadm connect r0

10

11 # Alternativa la ultimele 3 comenzi12 drbdadm up r0

13

14 # Sincronizare initiala15 drbdadm --overwrite-data-of-peer primary r0

SAISP Curs 5, Redundant,a s,i load balancing 43/53

Page 44: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Dezactivare

1 # Deconectare de la peer2 drbdadm disconnect r0

3 # Deconectare de la block-device4 drbdadm detach r0

5

6 # Alternativa7 drdbadm down r0

SAISP Curs 5, Redundant,a s,i load balancing 44/53

Page 45: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Monitorizare

1 drbd-overview # Overview about all drbd devices2

3 cat /proc/drbd4

5 drbdadm cstate r0 # Connection state6 drbdadm role r0 # Role7 drbdadm dstate r0 # Disk state

SAISP Curs 5, Redundant,a s,i load balancing 45/53

Page 46: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Failover manual

1 # Become primary2 drbdadm primary r0

3

4 # Become secondary5 drbdadm secondary r0

SAISP Curs 5, Redundant,a s,i load balancing 46/53

Page 47: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

DRBD - Alte facilitati

I Stacking - DRBD over DRBD

I Online growing / shriking

I Integrare cu Heartbeat / Pacemaker

I Integrare cu LVM

I Integrare cu Xen

SAISP Curs 5, Redundant,a s,i load balancing 47/53

Page 48: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 48/53

Page 49: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

HSRP & friends

I Redundanta layer 3 pentru gateway

I HSRP, VRRP

I GLBP (asigura si load-balancing)

SAISP Curs 5, Redundant,a s,i load balancing 49/53

Page 50: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 50/53

Page 51: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Cuvinte cheie

I cluster

I load balancing

I scale out, scale up

I high availability

I redundant, a

I Linux Virtual Server

I IPVS

I director

I ipvsadm

I real servers

I LVS-NAT, LVS-DR,LVS-Tun

I CIP, VIP, DIP, RIP, DRIP

I CRM (Cluster ResourceManager)

I Heartbeat

I Pacemaker

I OpenAIS

I DRBD

I replicare

I HSRP

SAISP Curs 5, Redundant,a s,i load balancing 51/53

Page 52: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Link-uri utile

I http://www.austintek.com/LVS/LVS-HOWTO/

I http://www.linux-ha.org/wiki/Main_Page

I http://clusterlabs.org/

I http://www.openais.org/doku.php

I http://corosync.org/doku.php

I http://www.drbd.org/

I http://www.drbd.org/users-guide/

I http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf

SAISP Curs 5, Redundant,a s,i load balancing 52/53

Page 53: Curs 5 - Redundanta si load balancing - repository.grid.pub.rorepository.grid.pub.ro/cs/saisp/cursuri/curs-05.pdf · I IPVS (ip_vs) { codul aferent directorului (^ n nucleul Linux)

Outline

Introducere

Linux Virtual Server

Linux HA

DRBD

HSRP

Concluzii

Intrebari

SAISP Curs 5, Redundant,a s,i load balancing 53/53