Archiv verlassen und diese Seite im Standarddesign anzeigen : LVM Beispiel
waxolunist
04.07.06, 12:19
Hallo, nachdem ich doch nicht ganz zufrieden bin mit der Performance meines LVMs und ich, in dieser Hinsicht sehr unerfahren bin, wollte ich hier mal nach einer guten Beispielkonfiguration fragen. In allen HOWTOs wird zwar das wie erklärt, aber nicht was eine gute Konfiguration ist.
Ich habe 2 73GB-Platten auf denen das LVM laufen soll. Von diesen soll auch gebootet werden.
Jetzt ist meine Frage auch, muss die SWAP-Partition im LVM liegen oder ausserhalb des LVMs? Was ist eine gute Größe?
Die Boot-Partition muss ausserhalb liegen. Was ist eine gute Größe?
Bisher habe ich mein LVM wie mein gewohntes RAID (auf Workstations 0, auf Servern 1 bzw. 10) gehandhabt, was nicht so toll war.
sda1 - 1 GB - /boot
sda2 - 1 GB - Swap
sdb1 - 1 GB - /leer
sdb2 - 1 GB - Swap
Rest LVM
Bei Suse gibt es noch die Möglichkeit im Yast Stripes einzustellen unter dem Punkt Create Logical Volume bei LVM. Gibt dieses Stripes die Anzahl der Festplatten an, auf die es schreiben soll? Was, wenn diese Festplatten nicht gleich groß sind? Ich habe hier nur den voreingestellten Wert von 1 belassen, da ich dachte ... keine Ahnung eigentlich. Hab mich einfach nicht getraut was anderes einzustellen. Wenn es die Anzahl der HDs angibt, sollte ich hier 2 eintragen?
Wie kann ich mein LVM besser machen? Mich stört vor allem der verschwendete GB (/leer) aufgrund der Symmetrie. Bitte um Hilfe. Ich werde heute abend, nachdem ich Suse 10.1 ausführlich getestet und für gut befunden habe, neu aufsetzten, da ich sehr viele Pakete installiert habe und ich es nun als weniger Zeitaufwand empfinde, es neu aufzusetzen als auszumisten und vor allem eben stört mich eben mein verstörtes LVM.
mfg, Christian
waxolunist
04.07.06, 15:09
Ich hab mir nun mal folgende Partitionierung überlegt.
Wie findet ihr diese?
/boot 32MB - RAID1
/swap 4GB - RAID0 - also 2 GB pro HD (bei 2GB-RAM)
/ 4GB - RAID1
Rest als LVM über 2 HD also mit 2 Stripes, das sind ungefähr 68GB pro HD
Als filesystem immer ext3
Ist das sinnvoll?
Ich will gute Performance durch Striping. Die Systemrelevanten Teile sollten doch gesichert sein. Den Rest sichere ich ohnehin regelmäßig mittels tar auf eine externe HD.
mfg, Christian
/boot brauchst Du nicht mirrorn. 4GB Swap sind IMHO auch ein bisschen Overkill. 2x1GB oder auch nur 2x512MB reichen da IMHO aus. Du kannst im Uebrigen in der fstab mit pri=0 im Optionsfeld der Swappartitionen diesen gleiche Prioritaeten zuweisen, also gewissermassen ein RAID0 erstellen. Die Swappartitionen muessen auch nicht zwangslaeufig im LVM liegen. Was kommt in den Rest? Dein $HOME? Da sehe ich keine grossen Geschwindigkeitszuwaechse durch RAID0. Und wenn Du ab und an Deine System-Konfigurationsdateien wegsicherst, brauchst Du auch kein RAID1 fuer /.
'cuda
waxolunist
04.07.06, 16:25
Danke
Also wäre folgendes sinnvoll:
Als Rest (sry, vergessen) meinte ich /home, /opt, /var, /usr
Wenn ich jetzt deine Vorschläge hernehme, komme ich auf folgendes:
/boot 32MB - RAID0 (oder nur auf einer HD und dann keine Symmetrie mehr?)
/swap 2GB - also 1 GB pro HD (bei 2GB-RAM) mit pri=0 in der fstab ohnehin nicht im LVM
kommt / ins LVM oder extern auf einer HD und wieder keine Symmetrie?
Rest als LVM über 2 HD also mit 2 Stripes, das sind ungefähr 69GB pro HD
waxolunist
04.07.06, 17:08
Hab mich jetzt mal bei unseren Gentoo-Freunden einer guten Konfiguration bedient: http://www.gentoo.org/doc/de/lvm2.xml
Die ist zwar nicht symmetrisch, wie ich es gewohnt bin, aber LVM stört das nicht.
hda1 - /boot - 64MB
hda2,hdb1 - swap - je 1GB mit pri=0 in fstab (thx to HEMIcuda)
hda3 - / - 1GB
hda4,hdb2 - LVM (2 Stripes)
darauf: /usr - 10GB
/opt - 5GB
/var - 10GB
/tmp - 2GB
/home - 118GB
FS jeweils ext3.
Spricht da irgendwas dagegen? Würdet ihr etwas anders machen?
mfg, Christian
ext3 fuer /boot ist eigentlich ziemlich unsinnig. Ansonsten sieht das nicht unbedingt verkehrt aus, wobei Du unter Suse die 10GB fuer /var nicht benoetigen wirst (da schmeisst Gentoo die Sourcen hin). 1GB fuer /var und die restlichen 9GB zu /home hinzufuegen sollte wunderbar funktionieren.
'cuda
waxolunist
05.07.06, 08:57
Gut, thx. Was nimmt man denn für boot?
waxolunist
05.07.06, 09:34
Also hier noch einmal die Zusammenfassung, falls jemand vor einem ähnlichen Problem steht, 2 Festplatten hat und nicht genau weiß, was er damit anfangen soll.
hda1 - /boot - 64MB, ext2
hda2,hdb1 - swap - je 1GB mit pri=0 in fstab
hda3 - / - 1GB, ext3
hda4,hdb2 - LVM (2 Stripes)
darauf: /usr - 10GB, ext3
/opt - 5GB, ext3
/var - 1GB, ext3
/tmp - 2GB, ext3
/home - Rest, ext3
Bei mir ist es eine Suse 10.1 Installation und ich bin sicher, dass eine ähnliche Konfiguration für die meisten anderen Distris auch zutreffen mag. Gentoo nicht, haben wir gerade gelernt.
mfg, Christian
Hallo,
hda4,hdb2 - LVM (2 Stripes) finde ich ganz schön mutig, weil LVM nur ein RAID0 kann. Wenn dir eine Platte ausfällt, dann ist /usr /opt /var /tmp /home völlig Schrott.
Ich empfehle aus hda4 + hdb2 ein Soft-RAID mit RAID1 und darauf dann das LVM aufsetzen. Das läuft bei mir problemlos.
Falls du DVDs brennst und das Image in /tmp zwischengespeichert werden soll, werden dir 2 GB nicht reichen.
Gruß
Stefan
waxolunist
05.07.06, 13:27
Tja, ich möchte eigentlich auch nur ein RAID0. Das mit dem DVD-Brennen ist allerdings richtig. Da sollte man IMHO vielleicht doch auf 6GB erhöhen und das von home abziehen.
Ich ziehe allerdings regelmäßig Backups auf einen anderen Rechner, die ich dort in einem tar-Verzeichnis speichere. 2 Backups haben ohne gröbere Probleme dort Platz, selbst wenn er nicht allzu viel packen kann, das geht automatisch über Nacht vorm Ausschalten und hat bei meinem Suse 9.2, Gott hab es selig nie Probleme gemacht.
Noch eine Frage zu deinem Vorschlag: Wird der Overhead da nicht größer, wenn ich ein Raid1 habe und darauf noch ein LVM, weil das ganze ja doch durch 2 Abstraktionsschichten drüber muss? Wäre mit meiner Konfiguration ein SoftwareRAID0 und ein einfaches LVM besser, oder lieber doch gleich ein LVM mit 2 Stripes bei 2 HD? Verliere ich da nicht an Flexibilität für später, wenn ich unter dem LVM noch ein RAID habe?
mfg, Christian
Hallo,
der Overhead wird sicherlich größer, aber einen Nachteil habe ich deshalb nicht feststellen können.
Wenn dir RAID0 reicht, dann würde ich nur das von LVM verwenden.
Bei mir schaut das so aus:
/boot mit ext2
2 * 512MB SWAP beide mit Pri=1
/root mit ext3 auf auf einer SoftRAID 1 Partition
LVM Gruppe 1 auf einer SoftRAID 1 Partition mit /usr (ext3), /opt (ext3) und /home (reiserFS)
LVM Gruppe 2 mit (2 Stripes) für /tmp (ext3) und /var (ext3)
Verliere ich da nicht an Flexibilität für später, wenn ich unter dem LVM noch ein RAID habe?
Wenn du mal mehr Speicherplatz benötigst, baust du einfach ein neues RAID-Device und fügst das der LVM-Gruppe zu.
Gruß
Stefan
waxolunist
05.07.06, 15:17
Ein Raid1 für die Root-Partition klingt verlockend. Ansonsten bleibe ich allerdings bei meinem reinen Raid0-LVM, da ich ohnehin extern Backups habe.
Vielleicht muss ich aber auch erst aus einer Katastrophe lernen, da ich seit 10 Jahren (solange habe ich Computer) noch nie auf meinem aktuellen Arbeitsplatzrechner einen Datenverlust durch kaputte Festplatten hatte. Meine Backupstrategie, die ich seit etwa einem Jahr fahre, habe ich zwar mal testweise versucht rückzuspielen, aber es kam noch nie zum Ernstfall. Ich glücklicher.
Danke, aber für die Hilfe.
Hallo,
eine LVM-Gruppe mit 2 Stripes wird bei einem Plattenausfall komplett zerstört sein und ein Backup nutzt dir dann erstmal sehr wenig, weil es die Partitionen dann gar nicht mehr geben wird.
Noch ein Tip: Nehme für so eine "Schrotschuss-Partionierung" kein ReiserFS, weil das Hochfahren des Systems damit viel länger dauert.
Gruß
Stefan
waxolunist
05.07.06, 15:54
Habe bisher eh immer gesagt, dass ich ext2 bzw. ext3 nehme.
Was ich aber machen werde ist, dass ich / auf ein raid1 lege, damit ich zumindest dass noch habe, im falle eines plattenausfalls.
Habe bisher eh immer gesagt, dass ich ext2 bzw. ext3 nehme.
Ich weiß, aber es lesen vielleicht noch mehr mit.
Was ich aber machen werde ist, dass ich / auf ein raid1 lege, damit ich zumindest dass noch habe, im falle eines plattenausfalls.
Dann würde ich / groß genug anlegen, damit man die Backups der nach einem Plattenausfall fehlenden Partitionen (/usr, /opt usw.) dorthin kopieren kann.
Gruß
Stefan
waxolunist
05.07.06, 17:41
Kennst du vielleicht eine gute Doku á la "Was tun wenn die HD spinnt?", "HOW TO backup bei RAID-Platte kaputt?". Möchte mich hier mal besser rüsten.
Ich dachte eigentlich es ginge eher einfach: Knoppix rein, Netzwerkshare mounten, Skript ablaufen lassen um mein altes Filesystem wiederherzustellen und tar vom share aus auf die lokalen Platten entpacken, evtl. Grub im MBR drüber installieren. Fertig.
Ich kenne leider nur allgemeine HowTos zu RAID, LVM und S.M.A.R.T.
In der CT 3/05 ist zum Beispiel ein guter Artikel zu Software-RAID und LVM.
Wichtig ist, daß das Betriebssystem, das du bei einem Notfall einsetzen willst (z.B. Knoppix), auch mit Software-RAID und LVM umgehen kann.
Gruß
Stefan
Ich weiß, aber es lesen vielleicht noch mehr mit.
Dann würde ich / groß genug anlegen, damit man die Backups der nach einem Plattenausfall fehlenden Partitionen (/usr, /opt usw.) dorthin kopieren kann.
Gruß
Stefan
Warum sollte man /usr etc redundant auf einer Platte speichern, wenn es *zusaetzlich* noch gemirrort wird? Im Uebrigen fallen ziemlich selten einzelne Partitionen hardwareseitig aus...
'cuda
Der LVM unter Linux kann nicht nur striping, sondern auch concatenation - also einfach "anhängen". Bringt aber keine Performance. Stirbt eine Platte, oder ein PV allgemein, dann sind nur die Daten auf diesem PV weg (und die Datei / Dateien wrack, die sich über diese zwei PVs erstreckt haben).
Ich bevorzuge eine grosse Swap-Partition (wäre hier dann eben auf mehreren Platten) und /tmp sowie /var/tmp als tmpfs.
Welchen Vorteil hat die große Swappartion bei dir? Hast du Anwendungen die das brauchen? IMHO ist das sonst verschenkter Speicherpaltz. Tmpfs für /tmp und /var/tmp ist okay.
Spätestens bei "kdeenablefinal" reicht 1 GByte Speicher nicht mehr aus ;)
Ansonsten benötig(t)e ich tatsächlich Speicher in Mengen für dynamische Programmierung unter Haskell.
6 GB Swap? Wieviele GB physikalischen Speicher hast du denn? Die letzte Maschine, bei der ich 6 GB Swap eingerichtet habe, war ein Oracle DB Server unter SLES9 mit 4 GB RAM.
Momentan grad nur 1 GB, da ich im Wechsel auf 64 Bit bin. :( Es sollen allerdings 4 draus werden, was bedeuten würde, ich könnte versuchen Strings von mehreren 100 Basenpaaren zu alignieren (was für ein doofes Wort in deutsch).
Das Problem ist halt, das ich an der Uni 64 GByte hätte, dafür allerdings langsame Prozessoren und hier <= 4 GByte + Swap und schnelle Prozessoren.
Bei einem Algorithmus der O(n^3) oder O(n^4) Zeit und O(n^2) Platz benötigt ist das eine nicht ganz einfache Entscheidung. Das mit dem Swap ist zu überleben, wenn der Algorithmus sich lokal verhält.
Okay, in dem Fall macht das tatsächlich Sinn. :) Was hast denn du für CPUs in der Uni zu verfügung? Bei 64 GB RAM - das ist aber kein massiv-paralleles System, oder?
Hier ist so ziemlich alles aufgeführt, was zum Spielen vorhanden ist. ;)
http://www.cebitec.uni-bielefeld.de/groups/brf/infrastructure.html
Die Opterons sind natürlich auch gut geeignet, allerdings schickt man an die nur nicht-interaktive Jobs, weshalb ich die nur für funktionierenden Code nutzen möchte.
Warum sollte man /usr etc redundant auf einer Platte speichern, wenn es *zusaetzlich* noch gemirrort wird? Im Uebrigen fallen ziemlich selten einzelne Partitionen hardwareseitig aus...
Das hast du jetzt völlig falsch verstanden. waxolunist will /usr etc auf LVM mit 2 Stripes installieren, was nur einem RAID0 entspricht. Wenn jetzt eine Platte ausfällt, sind /usr etc verloren und wenn dieser Fall eintritt, dann kann waxolunist die Backups auf die / Partition kopieren.
Gruß
Stefan
waxolunist
06.07.06, 12:12
Zitat von Skelli:
Das hast du jetzt völlig falsch verstanden. waxolunist will /usr etc auf LVM mit 2 Stripes installieren, was nur einem RAID0 entspricht. Wenn jetzt eine Platte ausfällt, sind /usr etc verloren und wenn dieser Fall eintritt, dann kann waxolunist die Backups auf die / Partition kopieren.
Was ich allerdings noch immer nicht weiß ist, was genau zu tun wäre im Recovery-Fall. Das beste Backupsystem nutzt nichts, wenn ich nicht weiß, wie ich wieder in den Zustand vor der Katastrophe komme.
Macht es das Recovery einfacher wenn ich /usr auf die Partition von / kopiere?
Ich denke noch immer an die Variante
Ich dachte eigentlich es ginge eher einfach: Knoppix rein, Netzwerkshare mounten, Skript ablaufen lassen um mein altes Filesystem wiederherzustellen und tar vom share aus auf die lokalen Platten entpacken, evtl. Grub im MBR drüber installieren. Fertig.
Damit ist mir bisher nur der Nutzen von der redundanten (RAID1) /-Partition klar. Wenn das System ausfällt und ich kann mehrere Stunden nicht das System erreichen weil ich mit Recovery beschäftigt bin ist eigentlich egal, da es ja nur mein Heimrechner ist und kein hoch verfügbarer Server.
Versuche erst HW besser kennen zu lernen. Bin eben mehr in der Software zu Hause (Java, PLSQL und Tex). Aber dafür gibt es ja dieses Forum.
Danke für eure Geduld.
mfg, Christian
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.