Hallo Linux-Freunde,
Ich suche seit längerem schon eine stabile Lösung für folgendes Problem :
Ausgangssituation : Mehrere Webserver bilden zusammen einen Cluster - Loadbalancing wird über LVS geregelt und funktioniert auch gut (auch der director ist redundant ausgelegt - das klappt alles)
Jetzt mein Problem - bei meinem 1sten Cluster habe ich noch mit rsync+ssh gearbeitet - immer einen Cluster-Backend als "Master" ausgewählt und die anderen Server auf Grundlage dessen Datenbestand alle 2min abgeglichen.
Jedoch nimmt inzwischen der Abgleich immer mehr Zeit in Kauf und kostet auch immer mehr CPU-Cycles - Ich bräuchte also eine Lösung für ein verteiltes, fehlertolerantes Dateisystem...
Ich dachte mitunter schon an gnbd ( da bin ich grad dran, zusammen mit gfs, oder ocfs2) jedoch ist mir hier die Abstraktion noch nicht ganz klar - vor allen Dingen nicht, wie ich daraus jetzt ein raidset z.B. baue - in den Howtos steht immer nur was von einer Volume-groups und ich war mir sicher, das LVM nicht mit Redundanten Daten bzw. eine Art raid5/6 verwalten kann...
So kam ich auf immer merkwürdigere Gedanken :
1) Jeder Server ist iSCSI initiator + target zugleich und per Multipath wird jedes exportierte device (lokal steht auf jedem Server ein md - (raid1) Device zur Verfügung) jeweils zusammen in ein neues Device übernommen -> z.B. 3 Server exportieren per iscsi ihr mdX und ich bilde aus iscsi1 iscsi2 iscsi3 ein raid5 Spiele dann ein ocfs2 drauf ( damit wir ordentliches Locking etc. haben ) und kann dann auf jedem Server das an sich gleiche raid-set per ocfs2 mounten ... (Alternativ auch GFS ?)
2) Ich nehm lustre - wobei Lustrefs trotz vielem Lesen noch nicht wirklich offenbart hat, wie ich dort die Redundanz hinbekomme, obwohl es wohl durchaus möglich sein muss... .
3) Ich schau mir Coda bzw. AFS an - wobei coda schon ganz ok sein sollte - nur die Write - Performance ausserordentlich schlecht ....
Leider kommt aus finanziellen Gründen die Anschaffung eines SAN's nicht in Frage (zumindest zum jetzigen Zeitpunkt nicht) Die server sind per 100Mbit miteinander verbunden, jedoch wird, wenns absehbar ist, ein privates Netz mit gigabit parallel installiert...
Hat da jemand ein paar Tipps, oder Alternativen oder einen anderen Denkansatz - oder ein paar wirklich umfassende Dokus dazu ?
Ich steh momentan ein wenig auf dem Schlauch, hab auch leider nicht die Zeit wirklich jede Variante 100% Umzusetzen.
Die Server sind alles 1-Prozessor Maschinen mit SoftRaid1 1-2Gb Ram und AMD64 3X00+ Die Anzahl der Server ist momentan bei 4 Backend + 1 Reserve Server + 2LBS im aktiv/passiv
Danke schonmal & Grüsse, Malte