PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Festplatten/Raid/Lvm im Server



psych
13.03.06, 20:18
Also für den Server den ich im Moment plane hatte ich bisher entweder mit vier 73 GB Scsi Platten im Raid 5 oder mit 2 x 2 73 GB Scsi Platten im Raid 1.
So langsam bin ich aber unsicher, vorallem da jetzt auch noch LVM (was ich bisher noch nie benutzt habe) ins Spiel kommt.

Ich weiß jetzt weder was für ein Raid System ich verwenden möchte, noch wie ich das ganze dann partitioniere und unter LVM benutze.

Im allgemeinen haben wir eine deutlich höhere Lese als Schreibrate also sollte ein Raid 5 nicht verkehrt sein, oder?

Wenn in einem Raid 5 mit 4 Platten mal eine ausfällt und ich eine neue Einsätze ist das System auch während der Spiegelung auf die neue Platte vernünftig benutzbar?

Wie Partitioniere ich das ganze denn nun am sinnvollsten?
Hatte bisher vor seperate Partitionen für / /boot /var /home und /daten mit xfs einzurichten (bis auf /boot mit ext2).
Aber da ja jetzt auch noch Lvm dazwischen habe frage ich mich wie ich nun eine möglichst hohe Ausfallsicherheit bei möglichst großer Flexibilität und Geschwindigkeit erreiche....
Bitte um eure Hilfe!

Gruß
Psych

bla!zilla
13.03.06, 20:41
Also für den Server den ich im Moment plane hatte ich bisher entweder mit vier 73 GB Scsi Platten im Raid 5 oder mit 2 x 2 73 GB Scsi Platten im Raid 1.
So langsam bin ich aber unsicher, vorallem da jetzt auch noch LVM (was ich bisher noch nie benutzt habe) ins Spiel kommt.


Solche Fragen führe ich regelmäßig mit Kunden. Nicht das ich mich darüber beschweren würde, es ist sogar sehr wichtig das dieses Thema behandelt wird.



Ich weiß jetzt weder was für ein Raid System ich verwenden möchte, noch wie ich das ganze dann partitioniere und unter LVM benutze.


Dann schaffen wir da Abhilfe.



Im allgemeinen haben wir eine deutlich höhere Lese als Schreibrate also sollte ein Raid 5 nicht verkehrt sein, oder?


Dieser Aussage will ich grundsätzlich zustimmen. Ab einem Verhältnis von 70% / 30% (Read-I/O / Write-I/O) kann man über RAID 5 nachdenken. Aber man kann RAID Level ja auch kombinieren. Wenn man nun eine Datenbank hat und Platten sparen muss, kann man auch über RAID 50 nachdenken. Oder bei Sicherheit über RAID 51. In deinem Fall hast du bei 4x 72GB im RAID 5 (ohne Spare-Disk) ca. 210GB netto. Bei einem RAID 1 (oder 1+0) 144GB netto. Ich würde übrigens statt zwei RAID 1 ein RAID 1+0 aufbauen (HP SmartArray Controller machen 1+0, nicht 0+1).



Wenn in einem Raid 5 mit 4 Platten mal eine ausfällt und ich eine neue Einsätze ist das System auch während der Spiegelung auf die neue Platte vernünftig benutzbar?


Jein. Grundsätzlich ist ein RAID 5 beim Verlust einer Platte degeneriert, also verwundbar. In dem Fall (egal ob sofort eine Spare-Disk einspringt oder nicht) hat der Controller (oder die CPU bei einem Software-RAID) gut zu tun, da es ja die verlorenen Daten aus den vorhandenen Blöcken und der vorhandenen Parität wiederherstellen muss. Mit der vollen Leistung ist da nicht zu rechnen. Benutzbar ja, performant ist etwas anderes.



Wie Partitioniere ich das ganze denn nun am sinnvollsten?
Hatte bisher vor seperate Partitionen für / /boot /var /home und /daten mit xfs einzurichten (bis auf /boot mit ext2).
Aber da ja jetzt auch noch Lvm dazwischen habe frage ich mich wie ich nun eine möglichst hohe Ausfallsicherheit bei möglichst großer Flexibilität und Geschwindigkeit erreiche....


Gute Frage. LVM ist natürlich wieder eine Abstaktionsschicht die _immer_ etwas Leistung kostet. Nun kann Linux, anders als z.B. HP-UX auch komplett ohne LVM arbeiten. Ich würde dir grundsätzlich dazu raten LVM auf das Nötigste zu beschränken, also alle Platten normal partitionieren und nur die ein LV für die Datenbank. Denk daran das in der gesamten VG doppelt soviel Platz vorhanden sein muss (wegen des Snapshots).

psych
13.03.06, 21:06
Jein. Grundsätzlich ist ein RAID 5 beim Verlust einer Platte degeneriert, also verwundbar. In dem Fall (egal ob sofort eine Spare-Disk einspringt oder nicht) hat der Controller (oder die CPU bei einem Software-RAID) gut zu tun, da es ja die verlorenen Daten aus den vorhandenen Blöcken und der vorhandenen Parität wiederherstellen muss. Mit der vollen Leistung ist da nicht zu rechnen. Benutzbar ja, performant ist etwas anderes.


Macht nichts... hauptsache der Geschäftsbetrieb kann weiter gehen. Ob die dann auf ne Anfrage statt einer halben Sekunden mal 10 Sekunden warten müssen ist nicht wirklich relevant solange es sich um einen geringen Zeitraum handelt.



Gute Frage. LVM ist natürlich wieder eine Abstaktionsschicht die _immer_ etwas Leistung kostet. Nun kann Linux, anders als z.B. HP-UX auch komplett ohne LVM arbeiten. Ich würde dir grundsätzlich dazu raten LVM auf das Nötigste zu beschränken, also alle Platten normal partitionieren und nur die ein LV für die Datenbank. Denk daran das in der gesamten VG doppelt soviel Platz vorhanden sein muss (wegen des Snapshots).

Ich bin grade davon ausgegangen praktisch das ganze System auf Lvm aufzubauen was natürlich eigentlich unnötig ist.:rolleyes:

Danke...

Gruß
Psych

bla!zilla
13.03.06, 21:09
Ich bin grade davon ausgegangen praktisch das ganze System auf Lvm aufzubauen was natürlich eigentlich unnötig ist.:rolleyes:


Kann man machen, muss man aber nicht. Wenn / mal zu klein werden sollte, hat man eh schlech gesized. ;) Sinnvoll ist LVM halt für /home, evtl. für /var. Ich hatte mal /var, /var/cache/squid und /home auf meiner Workstation auf LVs gelegt. War ganz okay.

werkzeugprofi
16.03.06, 21:17
Hi psych,

bei uns haben wir das so gemacht:
6 x 73er HD jeweils als 3 x Raid 1 = md1, md2 und md3, und darauf den LVM.

Hintergrund:
So können theoretisch max. drei Platten ausfallen = 50% und das System läuft immer noch.

Den LVM deshalb, weil wir so das LV bei Bedarf ohne Datenverlust oder riesige Kopieraktionen vergrössern können und das sogar mit einem weiteren Raid 1.

......................LVM
.........................|
..........sda1--- md1---sdd1
.........................|
..........sdb1--- md2---sde1
.........................|
..........sdc1--- md3---sdf1

Wir haben dann noch jeweils drei der Platten im sep. Gehäuse neben dem Server stehen und jeden Stapel mit eigenem Controller angeschlossen, wegen evtl. Netzteil und Controllerdefekten.

Wichtig ist nur, dass Du dieses Utility, welches Dir die SCSI-Devicezuordnungen festschreibt, implementierst sonst verschiebt es Dir bei Einbau von weiteren Platten diese Zuodnungen. Der Name fällt mir im Moment nicht mehr ein, ich bin zur Zeit selber auf der Suche dannach, aber google wird´s schon richten.

Gruss

Rainer

werkzeugprofi
16.03.06, 21:44
Hi psych,

hab es gefunden:

http://www.garloff.de/kurt/linux/scsidev/

Gruss

Rainer

bla!zilla
17.03.06, 07:26
6 x 73er HD jeweils als 3 x Raid 1 = md1, md2 und md3, und darauf den LVM.

Hintergrund:
So können theoretisch max. drei Platten ausfallen = 50% und das System läuft immer noch.

Man nannte es auch RAID 1+0. ;) Weitere Vorteile gegenüber RAID 0+1 ist der geringere Aufwand zum wiederherstellen eines RAID 1. Es ist halt ein Unterschied ob ich drei Platten neu spiegeln muss, oder nur eine Platte.

psych
20.03.06, 15:38
Raid 1+0 = Raid 10 ?

Da der LVM afaik doch einiges an performance frisst möchte ich nur den Daten Teil auf den LVM packen bei dem ich den lvm auch nutze.

Dabei schwanke ich jetzt immer noch zwischen drei Varianten

Erstens: einem großen Raid 5 aus 6 Platten. Was allerdings z.b. beim erstellen eines Snapshots auf Grund der schlechten Schreibwerte eines Raid5 das ganze System runterziehen könnte.

Zweitens: Ein Raid 1 (2 Platten) fürs System und ein Raid 5 (4 Platten) für die Daten. Hätte den Vorteil, das andere Systemkomponenten von einem evtl. ausgelasteten Raid5 nicht betroffen sind.

Drittens: Dieses Raid 10 oder auch 1+0 ! Wobei ich mir da nicht ganz sicher bin wie das da mit der Ausfallsicherheit und der Geschwindigkeit tatsächlich aussieht. Außerdem weiß ich nicht welche Raidcontroller das können.

Achja ich hab da noch ne Idee. Das WWS ist ja Dateibasiert. Ich muss nochmal nachsehen aber meines Wissens nach war das ganze in mehrere einzelne Dateien gesplittet, also eine für die Kundendatenbank eine für die Artikel usw...
Wäre es nicht evtl möglich das ganze in einem virtuellem Dateisystem im Ram zu verwenden. Also praktisch einen Cache zu schaffen um Backups im Betrieb möglich zu machen?

Tausende von Möglichkeiten... Fragen über Fragen :ugly:

Gruß
Psych

bla!zilla
21.03.06, 07:15
RAID 10 = 1+0
RAID 01 = 0+1
RAID 1+0 != 0+1

Es ist ein Unterschied ob ich striped Mirrors (RAID 1+0) oder mirrored Stripes (RAID 0+1) habe. IMHO würde ich aus den 6 Platten ein RAID 1 mit zwei Disks und ein RAID 5 mit drei Disks machen. Je nach RAID Controller kannst du die sechste Platte in beide RAID Arrays als Spare-Disk stecken. Du kannst ja einen Teil des RAID 5 z.B. als ReiserFS oder XFS formatieren und den Rest für LVM nehmen (das wird dann das Physical Volume, das ist Mitglied in der VolumeGroup und aus dem Pool schneidest du dann ein Logical Volume - das wird dann mit einem Filesystem versehen und gemountet). Denk daran das du noch Platz in der VG für den Snapshot brauchst, du solltest daher nur 50% des verfügbaren Platzes in der VG für das LV nehmen.

psych
21.03.06, 13:34
Gut Danke... also wird es wohl ein Raid1 und ein Raid5 werden.
Wie sieht es mit den Raidcontrollern aus?

Ein Raid Controller der ein Raid1 und ein Raid5 gleichzeitig unterstützt und dabei eine Spare-Disk automatisch einsetzen kann?

Gruß
Psych

bla!zilla
21.03.06, 14:16
HP SmartArray 6i. Der ist z.B. beim ProLiant DL380 direkt onboard.

psych
21.03.06, 15:25
Ich suche mehr nach einem Server im Tower.... gibt es bei der ML Reihe von HP was vergleichbares?

bla!zilla
21.03.06, 15:33
Der Smart Array 641 ist für die ML-Serie erhältlich. Die sind i.d.R. mit dabei, zumindest bei den SCSI Modellen.

psych
27.03.06, 12:16
So und schon wieder hab ich ne Frage!

Wie sieht es eigentlich mit externen Speicherlösungen aus?
Es geht darum mit hoher Geschwindigkeit von mehreren Servern aus auf ein Speichersystem zugreifen zu können.

Außerdem ist in meiner Vorstellung(:rolleyes: ) ein solches Speichersystem doch recht einfach zu benutzen und man ist unabhängig von den Geräten die man im Endeffekt dran hängt.

Ich mach mir darüber Gedanken, da wir eigentlich nur möglichst sicheren und schnellen Speicher benötigen. Rechenintensive Anwendungen sind keine vorhanden, also reicht ein absoluter Einstiegsserver theoretisch aus. Bloß bieten solche Server nicht die notwendige Ausfallsicherheit und Festplattenkapazität!

Ist die Möglichkeit ein externes Storage System (angebunden über SCSI, ISCSI oder sonstwas) mit einem bzw. mehreren kleinen Servern zu verbinden für diesen Bereich vollkommen aus der Luft gegriffen oder evtl. sinnvoll?

Gruß
Psych