PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Filesystem infrastruktur in einem SAN



torgum
01.09.08, 13:13
Hi,

ich hab hier zwei Server (SLES 10 SP 2) an nem SAN und auf Server 1 einige RAIDs und VGs definiert...

Nach Rescan usw. kann ich die rohdevices auf dem Server 2 auch sehen, auch dass eine rohe Partition drauf ist. Leider bleibt mir die Tatsache, dass da Raids dabei sind bis zum Reboot verborgen. Da ich aber persönlich kein freund von reboots bin, wenn sie nicht unbedingt notwendig sind, suche ich eine andere Möglichkeit. Da ich produktive Raids auf dem Server auch laufen habe, möchte ich auch ungern irgendwelche Dienste durchstarten.

Frage wäre halt, ich meine MD-Devices auch mittels eines "erinnerns" an einen Dienst finden kann :)

torgum
01.09.08, 14:04
natürlich klappt es nur dann nach einem reboot, wenn man vorher die /etc/mdadm.conf gepflegt hat auf dem zweiten Server.

Trotzdem wird es doch sicherlich eine Variante geben, das neue Raid dem zweiten Server irgendwie zu aktivieren oder?

Nach Eintragen in die mdadm.conf bekomme ich mit mdadm -a /dev/mdx auf jeden Fall die Meldung, dass das device nicht aktiv ist. Schonmal mehr als vorher. Aber wie krieg ich`s aktiv? :)

Stephanw
04.09.08, 11:28
Beim besten Willen, und vielleicht bin ich einfach blöd, verstehe ich den Sachverhalt nicht. Du hast 2 Server; sehen die jetzt beide die selben SAN-Volumes ; sprich sollen die beide die Filesysteme wechselseitig übernehmen können?

Gruß Stephan

torgum
06.09.08, 20:57
Das ist richtig.

Ich erstelle auf Server 1 auf den SAN-Volumes ein RAID-Device aus LUNs, die auch Server 2 sehen kann.
Innerhalb dieses RAID kommt dann noch ne VG mit nem LVOL rein.

Damit nun Server 2 die Infrastruktur übernehmen kann, muss er nicht nur die LUNs präsentiert bekommen, sondern er muss ja auch die Metadaten irgendwie bekannt gemacht bekommen. Dazu muss ich bisher die /etc/mdadm.conf um die IDs der /dev/mdx-devices ergänzen UND dann.. weiß ich nicht.. bisher hilft ein reboot. Der Server kann mit dem Sehen der md-devices auch erkennen, dass da filesysteme usw. drauf sind. Aber es muss doch gehen, dem Server die MDs unterzuschieben, ohne ihn zu rebooten. Darum geht's mir :)

giotto
06.09.08, 22:09
Hi

mdadm --assemble mit den nötigen Parametern sollte dein Problem lösen. man mdadm ist hier dein Freund.

Allerdings solltest Du hier sehr vorsichtig sein, denn md ist von haus aus nicht clusterfähig!

Wenn Du ein Spiegel (RAID 1) auf beiden Seiten hochfährst, kann das zu Datenkorruption führen.

Gruss, Giotto

torgum
08.09.08, 09:18
Hm. Solang ich die VG nur auf einer seite aktiviere sollte doch eigentlich alles gut gehen oder?

giotto
08.09.08, 17:22
Ich rate dir schwer davon ab... stell dir mal vor, md startet auf beiden seiten gleichzeitig einen Resync, das kann ja nur schief gehen!

Sobald unabgesprochen (also nicht gelockt mit einem Cluster) write IO von beiden Seiten her gemacht werden, kann das zu massiven problemen fuehren!

Wir haben das so geloest, dass im Clusterpaket startscript die md arrays assembliert werden und bei einem Stop des Pakets wieder gestoppt werden.

Gruss, giotto

bla!zilla
08.09.08, 21:04
OCFS2 ode GFS sind deine Freunde, dann kannst du beiden Servern die LUN samt Dateisystem zur Verfügung stellen. Ansonsten rate ich dir davon ab, gibt nur Ärger.

torgum
10.09.08, 10:00
Was ist mit EVMS? Das sollte diese Problematik doch ebenfalls beheben oder? Oder kommt die md-Schicht darunter?

Muss doch nen vergleichsweise gangbaren weg geben.

giotto
10.09.08, 17:07
EVMS ist vergleichbar mit LVM, dementsprechend kommt md einen Level darunter.

Was willst Du denn genau machen? Stripen oder Mirroren?

Habt ihr in eurer Umgebung die Möglickeit, eine Replikation auf Storageebene aufzusetzen?
Stichworte wie CA bei HP XP/EVA umgebungen oder SRDF in der EMC Welt...

Gruss, Giotto

torgum
11.09.08, 08:05
Ich hab im Grunde folgendes:
Zwei Evas
Zwei Server
Jede Eva präsentiert eine LUN
Die Luns werden beiden Servern präsentiert.
Dadurch 2 Devices
MD drüber
VG rein

Darauf dann entsprechend die Applikationssachen

Das problem ist wohl bei Mirroring auf Storageebene, dass man im Desasterafall irgendwas aktiv umschalten müsste. Das kann ich nun nicht beurteilen, wie sich das verhält.

Man möchte halt die Umgebung Hochredundant halte, im Falle, dass Entweder eine EVA oder ein Server komplett abraucht.

giotto
12.09.08, 20:49
Entweder assemblierst/desassemblierst Du mit einem Clusterpackages start/stop script mit mdadm --assemble und aktivierst Dann die Volumegruppe, oder du löst es wie schon angetönt mit einem CA.

Für MC/ServiceGuard gibt es eine Extension, die Nennt sich Metrocluster. Mit dem kann dann der Serviceguard wenn das Clusterpaket switcht über ein sogenanntes Commanddevice dem Storagearray mitteilen, dass der CA-Link gedreht werden muss, somit ist keine manuelle intervention notwendig.

Mit dem Locking hast Du aber auch hier deine lieben Probleme, es wird niemand daran gehindert, die Volumegruppe auf der Passiven seite zu aktivieren und filesysteme rw anzuschnallen oder Metadaten der VG zu verändern...

Dieses Thema ist meiner Meinung nach eines der grössten Mankos von Linux...

HP-UX löst dieses Problem beispielsweise mit einem Clusterflag im LVM, zusätzlich kann das Mirroring auch viel besser auf LVM level gemacht werden als mit Linux. Ich hoffe, da tut sich noch was im Linuxumfeld!

Gruess, giotto

Dellerium
19.09.08, 14:03
Nur noch mal kurz zum Verständnis:

Ihr habt zwei EVA's und fahrt dann über beide EVA's nen Raid1 damit beiden den gleichen Stand besitzen?
Wenn ihr schon so schöne Spielzeuge habt (ich habe schon Probleme nur eine genehmigt zu bekommen), wieso nutzt ihr dann nicht die EVA Features und spieget die EVA's direkt? Afaik können die das doch im Controller...

Gruß Dellerium

cane
19.09.08, 15:31
@Dellerium:

Hier gibts oft sehr günstige EVAs: http://www.siconet-it.de/

mfg
cane