Re: Linux, network root filesystems

Autor: Markus Hochholdinger <Markus_at_Hochholdinger.net>
Datum: 10.01.2006
Hi,

Am Montag, 9. Januar 2006 17:09 schrieben Sie:
> Ich kenne noch das hier:
> http://www.drbd.org/

sehr guter Ansatz. Hast Du damit Erfahrung? Was mir daran nicht so gut gefällt 
ist dass man Heartbeat benötigt. Mir scheint das sehr kompliziert zu sein. 
Mir gefallen ausgereifte und einfache (transparente) Lösungen am meisten.

Gibt es hier sonst niemanden der Erfahrung mit so etwas hat?

Hier mal mein aktueller Stand:
Wie es ausschaut ist wohl iSCSI (das billige SAN) die Lösung der Wahl. Vor ca. 
3 Jahren war in dieser Richtung viel los. Aber irgendwie findet man nicht 
viele Erfahrungsberichte.
Vorteil ist, dass man bewährte Techniken kombiniert (SCSI mit IP). Umsetzen 
werde ich das wie folgt.
+ Storage Server
 * Viele IDE Festplatten (billig, ca. 50 MB/s pro Festplatte).
 * LVM bzw. CLVM über alle Festplatten per Striping (Geschwindigkeit gleich
   Summe der Geschwindigkeit der einzelnen Festplatten).
 * Export einzelner Partitionen des LVM (Volume Groups) per iSCSI.
 * Netzwerkanbindung über 1 GBit Ethernet. Damit ca. 100MB/s (OK, evtl. ein
   bischen weniger) möglich.
 * Zwei Storage Server in jeweils einem eigenen 1 GBit Netzwerk an die
   Hardware-Server angebunden. Hardware-Server benötigt somit 3 mal 1 GBit
   Netzwerkkarten.
+ Hardware-Server
 * Virtuelle Server
  - Einbinden der root iSCSI Geräte (Linux: initrd, Windows: möglich mit
    komerzieller Software). Jeweils ein iSCSI block device von je einem
    Storage Server.
  - Zusammenbauen eines Software-RAID1 über die zwei iSCSI Geräte
    (Ausfallsicherheit beginnt erst hier!).
  = Ab hier läuft ein System mit nativem Dateisystem auf block devices übers
    Netzwerk.
  - Datenpartition: Einbinden von iSCSI Geräten, jeweils RAID1 mit einem block
    device von Storage Server 1 und 2.
  - Mehrere RAID1 devices mit LVM zusammenfassen (Erweiterbarkeit).
  - Mount der Partition ( (2 x iSCSI = RAID1)+ = LVM ) ins Dateisystem.
 * Falls der Virtuelle Server kein iSCSI beim Boot unterstützen sollte kann
   auch alles (iSCSI, RAID1, LVM) auf dem Hardware-Server zusammengebaut
   werden und dem virtuellen Server als block device übergeben werden.
   Notlösung!

Nutzung:
+ Erweiterbarkeit des Storage Server. Wenn eine Festplatte im Storage Server
  kaputt geht kann Dank LVM auch eine größere Ersatzplatte eingebaut werden.
  Die Daten gehen dabei natürlich verloren (Striping) ist aber wegen der
  Ausfallsicherheit durch einen zweiten Storage Server irrelevant.
+ Genauso können einfach neue Festplatten dazu gesteckt werden.
+ Wenn die volle Ausbaustufe eines Storage Servers erreicht ist können neue
  Storage Server dazu gestellt werden. Sogar der Wechsel von "alten" "kleinen"
  Storage Servern auf "neue" "größere" kann somit ohne Ausfall (nur mit der
  Einschränkung kurzzeitig keine Ausfallsicherheit zu haben) durchgeführt
  werden.
+ Erweiterbarkeit der Datenpartition möglich. Einfach auf jedem Storage Server
  eine neue Partition freigeben, auf dem virtuellen Server als RAID1
  zusammenbauen und in den LVM auf dem virtuellen Server aufnehmen. Danach
  muss nur noch das Dateisystem entsprechend vergrößert werden. Viele
  Dateisystem erlauben das sogar im Betrieb.
+ Schwieriger wird die Vergrößerung der root Partition da hier jeweils die
  boot-Scripte angepasst werden müssten!

Was hier jetzt nicht angesprochen wurde ist: Wie kommt ein virtueller Server 
an seine Boot-Dateien heran?
Hierfür habe ich mir überlegt wäre GFS von Vorteil. Block-Devices von den 
Storage Servern können für GFS auf dem Hardware Server genutzt werden. Somit 
sind die Boot-Dateien auch auf allen Hardware-Servern verfügbar (dauerhafte 
(live) migration einfacher möglich) und trotzdem ausfallsicher.
Und wenn man es noch weiter spinnt, dann könnte man für legacy Systeme die nfs 
benötigen einen nfs-Server auf den Storage Servern einrichten, welcher 
Dateien vom GFS freigibt. Damit würde zwar beim Ausfall eines benutzen 
nfs-Servers dieses legacy System hängen, könnte aber ohne viel Zeit- und 
Datenverlust gegen den alternativen nfs-Server gestartet werden, welcher Dank 
GFS ja dieselben Daten hat.

Bei dieser Lösung ist dann auch live migration von virtuellen Servern auf 
andere Hardware möglich. Sozusagen hätte man damit die eierlegende 
Wollmilchsau (Ausfallsicherheit, live migration, Erweiterbarkeit).

Wo ich mir noch nicht ganz sicher bin: Was passiert wenn ein iSCSI Gerät 
"hängt". Wie reagiert das RAID1? Bleibt das auch "hängen"? Benötigt man evtl. 
dafür doch Heartbeat um zu erkennen wann ein iSCSI Gerät ausgefallen ist?

Naja, sobald ich diese Umgebung in Betrieb habe (wahrscheinlich innerhalb des 
ersten Quartals 2006) werde ich berichten...


-- 
Gruß
                                                          \|/
       eMHa                                              (o o)
------------------------------------------------------oOO--U--OOo--
 Markus Hochholdinger
 e-mail  mailto:Markus@Hochholdinger.net             .oooO
 www     http://www.hochholdinger.net                (   )   Oooo.
------------------------------------------------------\ (----(   )-
                                                       \_)    ) /
                                                             (_/


Received on Tue Jan 10 15:09:14 2006

Dieses Archiv wurde generiert von hypermail 2.1.8.
Zurück zur UUGRN-Homepage.