Bekijk Volledige Versie : Linux Cluster
Patrick_st
14/02/16, 17:18
Ik wil een cluster gaan maken van twee servers die elkaars VM's overnemen als er iets met een server aan de hand is.
Mijn voorkeur gaat uit naar een active-active omgeving, zodat de VM's tijdens normale omstandigheden gebruik kunnen maken van beide servers. Bij het overschakelen naar 1 server zullen ze genoegen moeten nemen met wat minder processor kracht.
Ik heb hier nog helemaal geen ervaring mee en ik ben druk op zoek naar documentatie hierover.
Nu kom ik genoeg documentatie tegen maar iedere site praat weer over andere componenten/opzet.
Veel sites zijn ook verouderd.
Weet iemand een mooie handleiding wat ik als uitgangspunt kan gebruiken?
Ik lees veel over Redhat maar mijn voorkeur gaat eigenlijk naar Debian. (slechte ervaring met yum in het verleden)
Ik lees veel over Pacemaker/Corosync/drbd. Dat lijkt me een mooi uitgangspunt. Klopt dat?
Welk bestandssysteem is beter? ocfs2 of gfs2? Of iets heel anders?
De VM's gaan op KVM draaien.
Alle info is welkom!
Ik zou er niet aan beginnen als ik het zo lees. Het vereist best wat kennis om dit goed aan te leggen en te onderhouden.
Maargoed, je moet in ieder geval het volgende bouwen/overdenken:
Loadbalancing
Hoe wil je dat gaan doen? Heb je één / enkele websites kan je misschien nog uit met het aanmaken van twee A-records in de DNS. Eigenlijk is de mooiere oplossing om twee loadbalancer te gebruiken. Je kunt bijvoorbeeld HAProxy i.c.m. Keepalived gebruiken voor dit doel. Dit kan eventueel ook op de 2 webservers (maar twee losse servers/vm's is mooier). Vergeet niet de juiste sysctl flags te gebruiken.
Bestandsdeling
Bij twee servers zou je nog wel uit de voeten kunnen met het synchroniseren van data met behulp van bijvoorbeeld DRBD. Bij meer dan dat
raad ik aan gebruik te maken van een centrale fileserver en koppel je die met (bijvoorbeeld) NFS. Let wel op: DRBD opzetten moet zorgvuldig gebeuren, anders gaat het stuk!
Database
Heb je ook een database nodig? In dat geval moet je dus eigenlijk een master-slave of master-master (Galera?) set-up bouwen. Master-master moet je applicatie wel mee overweg kunnen, dus master-slave is makkelijker. Vereist echter wel weer kennis, hoe ga je de failover regelen bijvoorbeeld? Hoe ga je om met het purgen van binary logs, etc.
En zo kan ik nog wel even doorgaan ;)
Patrick_st
14/02/16, 19:10
Ik denk dat we het niet helemaal over hetzelfde hebben. Ik wil geen website of database HA maken, ik wil 6 tot 8 virtuele servers hierop draaien, die over moeten schakelen naar de andere server zodra er iets mis is met 1 van de 2 servers.
Het wordt geen produktie omgeving hoor, puur een test omgeving om dit uit te zoeken en mijn kennis uit te bereiden. Als ik er niet aan begin ga ik het ook nooit leren...
MarkKapitein
14/02/16, 23:45
Uit jouw verhaal heb ik zelf nog geen virtualisatiesysteem gelezen?
Als ik je een optie mag aanbieden(om mee te testen)
https://pve.proxmox.com/wiki/High_Availability_Cluster
Proxmox nodes hang je aan elkaar en kan je laten failoveren
Maar hierbij is ook wel een soort van centrale storage vereist( NFS share, ISCSI target.)
Als het goed is werkt proxmox ook samen met GlusterFS, mogelijk dat je hiermee een HA setupje kan bouwen.
Guys, Correct me i am wrong
Uit jouw verhaal heb ik zelf nog geen virtualisatiesysteem gelezen?
Ik anders wel ;) zie quote hieronder.
De VM's gaan op KVM draaien.
Als ik je een optie mag aanbieden(om mee te testen)
https://pve.proxmox.com/wiki/High_Availability_Cluster
Proxmox nodes hang je aan elkaar en kan je laten failoveren
Maar hierbij is ook wel een soort van centrale storage vereist( NFS share, ISCSI target.)
Als het goed is werkt proxmox ook samen met GlusterFS, mogelijk dat je hiermee een HA setupje kan bouwen.
Guys, Correct me i am wrong
Proxmox is zeker een aanrader, alleen zou ik het dan wel even op ceph zetten wat ook ingebouwd zit, alleen geen idee hoe goed dat gaat werken met maar 2 nodes.
Ik zou zeker deze link: https://pve.proxmox.com/wiki/Proxmox_VE_4.x_Cluster even door nemen aangezien MarkKapitein zijn link nog voor proxmox 2.x releases is.
mgielissen
15/02/16, 10:07
Met Proxmox 4.1 is het zeer eenvoudig om HA te activeren, standaard gebruiken ze een software watchdog maar je kunt ook hardware fencing doen. Om te zorgen dat de vm images gemirrord worden over de 2 nodes kun je DRBD gebruiken of lokaal een glusterfs server installeren.
PimEffting
15/02/16, 10:36
Nog een advies: als je een high-availability systeem voor storage gaat draaien (maakt niet zoveel uit welke), zorg dan voor een oneven aantal nodes.
Bij een even aantal nodes kunnen beide omgevingen als "master" worden aangemerkt.
Dit fenomeen heet "split brain" en wil je echt voorkomen. Tenzij je het leuk vindt om datarecovery te doen.
Cheph gaat wel goed werken met 2 nodes maar Proxmox niet.
Het wordt bijna een spreekwoord: Twee nodes maken geen cluster.
Ik zou er drie nemen met Proxmox en Ceph. Wij bouwen ze tegenwoordig ook op die wijze op.
De voordelen zijn dat je "maar" drie machines hoeft aan te schaffen en gelijk een cluster hebt voor je VM's én centrale storage zonder dat je 3 nodes moet kopen en een oplossing moet verzinnen voor een reduntante storage oplossing.
Het bouwen kun je ook laten doen natuurlijk.
Ceph gaat helemaal niet goed werken met 2 nodes. Hoe wilde je een quorum gaan regelen met 2 monitors?
SF-Jeroen Ceph met 3 nodes is beter, daar is geen twijfel over mogelijk, maar het kan zelfs met 1 node draaien.
Maar twee kan ook :-)
ceph -w
cluster 547d39cc-3ff4-4c68-ba60-affb8fedb93d
health HEALTH_OK
monmap e2: 2 mons at {testnode1=10.10.8.1:6789/0,testnode2=10.10.8.2:6789/0}
election epoch 4, quorum 0,1 testnode1,testnode2
osdmap e27: 4 osds: 4 up, 4 in
pgmap v159: 128 pgs, 1 pools, 2608 MB data, 652 objects
7270 MB used, 132 GB / 139 GB avail
128 active+clean
Kwestie van configureren.
Wellicht ten overvloede:
Ga voor drie nodes en niet voor twee. Neem liever dan drie wat lichtere nodes i.p.v. twee nodes die ieder alles kunnen draaien. Qua hardware kosten ben je niet veel meer kwijt en het kost je 1 U extra ruimte en wellicht wat huur aan switchpoorten.
Want als iets kan wil dat niet zeggen dat het fraai is.
Maar ik snap nog niet wat je bedoeld met "kwestie van configureren" , want met maar 2 nodes heb je OF een split brain wanneer de verbinding tussen de nodes uitvalt OF je hele storage valt uit wanneer er 1 node stukgaat. Dus misschien kun je dat nog even toelichten?
We zijn net aan het "spelen" met twee nodes om te kijken wanneer het stuk gaat en kijken wat je moet doen om het dan weer aan de praat te krijgen als de stekker uit 1 node getrokken wordt.
Maar het gaat inderdaad stuk.
Dus voor dit verhaal: 3 nodes. Sowieso nodig voor clustering van VPS-en met HA en voor Ceph is het sowieso beter als je geen uitval wil wanneer ijzer het begeeft.
Ceph met 2 nodes? Daar komen we nog op terug :D