# [KVM-HA-Cluster] partitionable raid 5 + lvm2 + grub2

## marc2gentoo

Hallo zusammen,

da ich jetzt nach mehreren Tagen immer noch nicht genau den Zusammenhang verstanden habe, hoffe ich hier im gentoo-Forum auf Hilfe.

Es geht grundsätzlich darum, einen KVM-HA-Cluster zu bauen.

Natürlich muss man dazu ganz unten beginnen, und dazu noch am besten mit einer Distribution wie gentoo, bei der man die Dinge auch wirklich noch selbst machen muss, damit man auch wirklich versteht, was man da überhaupt tut.

1. Überlegung (RAID -> Ausfallsicherheit)

Da ich in einem F-Fall keine Lust habe, alles neu zu erstellen, liegt es nahe ein RAID aufzusetzen. In meinem Fall habe ich zunächst nur 3x Festplatte zur Verfügung. Also bietet sich ein RAID5 an. Da man sicher auch keine Lust an, dann auch noch die Partitionen einzeln anzulegen, macht man aus dem RAID5 ein "partitionable RAID" (/dev/md0p1)

2. Überlegung (LVM -> Flexibilität, Snapshots)

Um es später einfach zu haben, möchte man natürlich die Möglichkeit haben, einfach eine 4. oder 5. Festplatte zu ergänzen oder gleich ganz ein weiteres RAID aufzubauen, deshalb für mMn. kein Weg an LVM vorbei. Nicht zuletzt auch, deshalb, weil ich in der Lage sein will, die VM's darauf per Snapshots zu sichern (z.B. vor einer wesentlichen Änderung).

Das rootfs sollte natürlich auch gleich von diesen Vorteilen profitieren.

3. Überlegung (GRUB2 -> booten ohne Umwege und mit Superblocks 1.2)

Damit wir das ganze auch noch schön gestartet bekommen, wäre es natürlich praktisch direkt die z.B. /dev/vg0/lvroot anzusteuern.

Zusätzliche Schwierigkeit

In meinem Fall habe ich Festplatten mit AFT, also 4k blocks. Das richtige Alignment spielt also ein direkte Rolle für die spätere Performance der VM's.

Die Frage

Wie bekomme ich das alles unter einen Hut?

Oder habe ich vielleicht sogar Denkfehler da drin oder gibt es bessere Lösungen? btrfs verfolge ich natürlich mit großem Interesse, aber da es a) unstable und b) kein RAID5 hat, kommt es dafür wohl nicht in Frage.

Ich bin erstmal völlig erschlagen worden von den ganzen Abstraktionschichten (sowieso schlecht für HA) und der Recherche im Internet über dieses Thema.

VG

Marc

PS:

Ich bin momentan auf dem Stand, dass ich den grub2 in der chroot noch nicht einmal installiert bekomme (cannot find list of partitions). - mit Sicherheit ein Anfängerfehler.

----------

## yuhu

Hi,

ich würde die "partitionable RAID" weglassen und alles mit LVM aufteilen.

Soll Dein Cluster 24/7 in Betrieb sein?

cu

----------

## marc2gentoo

Hallo yuhu,

<stiller-gedanke>ich dachte schon... fast 100 Hits... und keine Antwort,

denn wer Gentoo benutzt, muss schon Ahnung haben was er tut.</stiller-gedanke>

Ja, das "partitionable RAID" ist nach meinem bisherigem Informationsstand die modernere und komfortablere Lösung. Durch die Tatsache, dass im Fehlerfall die entsprechende Disk wirklich nur ausgetauscht werden müsste. Maximal ein "mdadm -a /dev/sdX" dürfte erforderlich sein um das RAID wieder zu heilen.

Ich möchte im Fehlerfall schnell reagieren können. Soweit ich das Thema verstanden habe, ist es tatsächlich von ernormer Bedeutung alles so simpel wie möglich zu halten. Frei nach dem Prinzip, wo es nur einen Knopf gibt, kann man keinen Zweiten drücken und somit auch nichts kaputt machen.

Leider scheint aber tatsächlich das partitionable RAID dafür veranwortlich zu sein, dass ich den GRUB2 nicht installieren kann - oder ich habe in Linux/Gentoo immer noch zu wenig Ahnung. Aber das ist keine direkte Aufforderung zur Hilfe, da schrei ich schon noch (oder jemand weiß, dass es defacto z.Z. nicht funktionieren wird).

Mir geht es ja hauptsächlich darum, ob meine Thesen prinzipiell richtig sind.

Ja, es geht um 24/7.

Und nein, um der Frage vorzugreifen, es geht nicht um eine produktiv-Geschichte bei irgendwelchen Firmen oder Kunden. Das ist wirklich eine ganz private Sache. 

1. Ich möchte mit dem System mein Wissen über Linux weiter ausbauen - und das ist mMn. mit Gentoo und anspruchsvollen Cluster-Virtualisierungs-Lösung (die ich sowieso gut gebrauchen kann) am besten möglich. Ich brauche einfach den praktischen Bezug dazu.

2. In der "Infrastruktur-IT" bzw. "Server-IT" gibt es ja meistens nur Leute die jammern, wenn die Dienste mal nicht zu Verfügung stehen. Es geht also immer um Verfügbarkeit.

Deshalb bin ich der Meinung, dass es grundsätzlich keine schlechte Idee ist, sich damit näher zu befassen. (Wenn man sich mit Monitoring befasst hat, merkt man schnell, dass der nächste logische Schritt die HA ist.)

----------

## yuhu

ad: 24/7 - HA-Cluster 

Nur fürs "spielen" halte ich das für übertrieben.

Für "privat" würde ich eher auf einen möglichst niedrigen Stromverbrauch achten. Immerhin muss das auch jemand bezahlen.

ad: mögliche Konfiguration

1. Eine kleine Bootpartition auf einer Platte.

2. Nimm eine kleine Platte fürs System. VM's kannst Du dann immer noch im Raid5 / LVM betreiben.

3. Verwende einen Hardware Raid Controller.

Oder geht es Dir darum, dass es so wie du es beschrieben hast auch funktioniert?

----------

## marc2gentoo

Nur zum "spielen" ist es freilich nicht, ich würde schon einen Exchange/ActiveDirectory betreiben, achja und auf jeden Fall eine Monitoring-Instanz... Webserver, also nutzen würde es auf jeden Fall. ^^

Tja, der Stromverbrauch ist der Gag an der Sache. Ich habe z.Z. ohne Optimierungen einen Verbrauch von glatt 40W pro Node (QuadCore+16GB ECC), die restlichen 20W kommen durch andere Geräte (Modems,Switche). Wieviel die USV's brauchen (2200er APC) wollte ich schon einmal messen, dabei ist aber das Messgerät kaputt gegangen (vermutlich zu hoher Anlaufstrom, habe ich einfach nicht aufgepasst).

Aber ich bin optimistisch, dass es unter 150W im Schnitt, bzw. unter 100W Idle funktionieren könnte.

Eine Platte kommt nicht in Frage, dass steht im Gegensatz zum HA-Gedanken.

Der Hardwarecontroller möchte ich aus mehreren Gründen nicht:

1. Das mdraid ist performant genug und der Prozessor schafft das super locker.

2. Ich habe kein Problem einfach mal eine andere Hardware unterzuklemmen.

3. Der Stromverbrauch steigt wieder (und solche Controller brauchen wirklich viel).

4. Es kostet natürlich zusätzlich noch Kohle.

-> Aber was mich viel mehr interessiert, klappt das mit dem "partitionable RAID" nicht oder hat hier keiner Erfahrung damit (so wie es häufig bei grub2 ist)? -.-

-> Würde ich soetwas mal unternehmenstechnisch machen, kommt natürlich nur ein HW-Controller in Frage (zumindest bei einigen Herstellern kann man davon ausgehen, dass es mit einem neuen Controller nach 5 Jahren auch wieder funktioniert)

Allerdings hat man je nach Größe des Unternehmens auch keine Wahl, da gibts dann HP,Dell oder IBM und fertig.

----------

## marc2gentoo

Also ich habe dieses Szenario jetzt mal mit Ubuntu Server 11.04 ausprobiert - es funktioniert. Aber nicht ohne Tricks, man muss während der Installation das mdraid als partitionable RAID erstellen und danach im Setup darauf dann das LVM machen. Auch das starten mit grub2 funktioniert, allerdings auch nur wenn man den USB-Stick als vorübergehendes Bootmedium gebraucht. Wenn man danach den vorher installierten MBR vom USB-Stick auf die Festplatten kopiert funktioniert es. Möchte man direkt installieren, sagt er permanent, dass er die Partitionstabellen nicht finden kann. 

Vermutlich habe ich immer noch die grundlegensten Dinge nicht verstanden.

Meine jetzige Vermutung ist, dass ich vergessen habe die Partitionstabellen anzulegen (also ihm quasi zu sagen, dass er ein Basisdatenträger ist).

Ich bin nämglich folgend vorgegangen:

1. Partitionable RAID erstellt #> mdadm --create /dev/md0 --metadata=1.2 --auto=mdp --chunk=512 --raid-devices=3 --level=5 --bitmap=internal /dev/sd[abc]

2. Auf md0p1 das LVM VG mit den LV's mit /boot + swap + / erstellt

3. grub-install -> und das klappte dann nicht mehr.

Dabei habe ich ein Verständnisproblem, weil er doch eigentlich im RAID läuft?!

EDIT:

-> der MBR liegt ja gar nicht mit im RAID, weil der Offset ja bei 2048 Block liegt und dann meint er, er hätte eine blanke Festplatte... habe ich es jetzt verstanden? Ich muss vermutlich heute Abend noch mal ran an die Sache.   :Rolling Eyes: 

----------

## marc2gentoo

Mittlerweile habe ich herausgefunden, warum sich grub2 nicht installieren will... er findet einfach keinen Platz.

Bei GPT muss man nämlich ein bissal aufpassen, und zwar dann wenn folgendes zusammentrifft:

1. BIOS-System (nicht EFI)

2. GPT Partitionstabelle

3. grub2

Man braucht dann eine sogennante BIOS-Boot-Partition. Bei der GPT fehlt dieser Platz sonst... der GPT kann dem grub2 aber verraten wo er sich installieren darf.

Jetzt muss ich nur noch herausfinden, wie das mit einem "partitionable" bzw. "partitioned" RAID zusammen funktioniert, vorallem bei RAID5.

----------

