LVM LogicalVolumeManagement, die bessere Art Plattenplatz zu vergeuden (Teil1)

Hinweis: In dem Thema LVM LogicalVolumeManagement, die bessere Art Plattenplatz zu vergeuden (Teil1) gibt es 19 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Seit geraumer Zeit gibt es Mittel und Methoden seinen Plattenplatz einfacher und besser einzusetzen, als die herkömmliche Art der Partitionierung.
    In Rechenzentren war man es schnell leid, dass man Festplatten, hatte man sie einmal partitioniert, mit diesem Setup leben musste.
    Noch heute partitionieren die meisten User mit diesem Schema und stehen ebenso bald vor den gleichen Problemen. Wird eine Partition zu klein, so beginnt hektisches Sichern, shrinken, vergrößern, wieder partitionieren, Rücksichern und das Bier in der Kneipe um die Ecke wird schal.


    Dabei gibt es schon lange eine sehr elegante Lösung für solche Probleme, nämlich
    das Logical Volume Management
    Ich werde hier nur auf die Basics eingehen, damit jeder einfach künftig LVM verwenden kann, obwohl das LVM wesentlich mehr kann. Die anderen feinen Features werde ich vielleicht künftig in einem weiteren Teil beschreiben.


    Was ist es und was tut es?
    Letztlich ist das LVM eine weitere Zwischenschicht, die man zwischen der Hardware -also (beliebig vielen) Festplatten und dem Kernel IO- Subsystem einschieben kann. (IO==Input/Output, also Lesen und Schreiben von Daten auf Platten)


    Dazu braucht es drei Dinge: Ein entsprechendes Kernelmodul, nämlich den sogeannten Divec-Mapper, eine libdevmapper, die den Userspace- LVM Verwaltungstools die Dienste des eigentlichen Mappers zur Verfügung stellen. Also ein Kernelmodul, eine Lib und die Tools. All das muss man weiter nicht beachten. Sobald man LVM bei der Installation oder später bei neuen Platten wählt, wird das Zeuchs installiert. Meist ist es schon mitinstalliert worden.


    Wie funktioniert es?
    Statt auf einer Platte ein paar Partitionen einzurichten, die man dann formatiert, wird zuerst ein sogenanntes PV, ein PhysicalVolume, eingerichtet. Dieses PhysicalVolume wird dann einer VolumeGroup zugeordnet. Wie der Name schon sagt, kann eine VolumeGroup mehrere PhysicalVolumes enthalten.
    Und ebenso klar ist, dass eine VolumeGroup mindestens ein PysicalVolume enthalten muss. Sonst macht es ja keinerlei Sinn.
    Hat man dann seine VolumeGroup kann man endlich ein LogicalVolume definieren. Und dieses LogicalVolume kann man dann endlich ganz herkömmlich formatieren. Mit allen üblichen FileSystemen nach Gusto.


    Es scheint also wesentlich umständlicher:
    Herkömmliche Partitionierung:

    • Partitionen erstellen
    • Partitionen formatieren


    LVM verwenden:

    • PysicalVolume(s) erstellen
    • VolumeGroup erstellen
    • LogicalVolume erstellen.
    • LogicalVolume formatieren

    Der scheinbare Aufwand ist kaum einer, und beschert später ein sehr bequemes Plattenleben. Man kann ein LV (kurz für: LogicalVolume) im laufenden Betrieb vergrößern ohne dass man es unmounten müsste, man kann es verkleinern usw. und so fort.
    Und tatsächlich werden zum Beispiel bei der Installation diese Schritte so bequem erledigt, dass der Mehraufwand kaum in's Gewicht fällt.


    Aber noch mal zurück zu dem PhysicalVolume, das wir später in einer VolumeGroup verwenden wollen. Oft sorgt die Tatsache, dass so ein PhysicalVolume auf einer Partition ODER einer (ganzen) Platte ohne jede Partitionierung liegen kann, für Verwirrung.
    Ich selbst formatiere die Platten meiner Kisten aus einem einfach Grund, wie folgt:
    Auf den ersten zwei Platten richte ich zwei herkömmliche Partitionen ein. Ob als GPT oder "MBR" Partitionierung, ist egal.
    Eine kleine als Bootpartition mit ext3 und die zweite Partition als PhysicalVolume. Aber das ist Geschmacksache. Ich schätze an diesem Setup einfach die Tatsache, dass das Booten etwas weniger kompliziert ist, da es jedes herkömmliche Bootmedium sicher tut, und außerdem so Scherze wie WOL (WakeOnLAN) mit Plattenchecks oder dergleichen problemlos einzurichten sind.
    Man kann natürlich auch komplett alles für ein PhysicalVolume verwenden und jede Partition dort dann später einrichten.
    Letztlich Geschmackssache und Bedürfnis.
    Was ich damit zeigen wollte, ist, dass ein PhysicalVolume sowohl auf einer herkömmlichen Partition eingerichtet werden kann, wie auch auf einer ganzen Platte komplett ohne Formatierung.



    Die Praxis
    ist einfach, als nach diesem Vorgeplänkel gedacht, viel einfacher: Es genügt ein Befehl, um ein PhysicalVolume zu erstellen und es einer VolumeGroup zuzuordnen, die -falls sie noch nicht existiert gleich mit erstellt wird:
    Zwar kann man mit dem Befehl pvcreate (lies: man pvcreate) die Parameter für das PhysicalVolume sehr fein einstellen, aber Otto-Normal-Linuxer kann getrost diesen Schritt überspringen, weil der Befehl vgcreate <VolumeGroupName> <tatsächliche Platte oder Partition> das mit Defaultwerten miterledigt. Im graphischen Installationstool muss man aber tatsächlich selbst erst eine VolumeGroup anlegen, falls man das nicht im Blindflug erledigen lässt, was -glaube ich- neuerdings auch vollautomatisch geht.


    vgcreate MeineErsteVolumeGroup /dev/sda2 erstellt also ein PhysicalVolume auf der zweiten Partition (sda2) der ersten Platte (sda2) (Das sd steht für ScsiDisk, weil seit Kernel 2.6.x alle Festplatten mit diesem SCSI Subsystem bedient werden. Diese Nomenklatur kann bei anderen Distris abweichen). Der Name MeineErsteVolumeGroup ist natürlich Unsinn, aber möglich. Nehmt einfach etwas Sprechendes. Standardmässig wird vg0 für VolumeGroupNull verwendet. Wer seinen Platten Hersteller liebt, kann auch zu WesternDigitalBaracuda oder ähnlichem greifen. (Wieviele Zeichen zulässig sind, weiß ich nicht, und schlage das auch nicht nach. Wer es weiß, ergänze hier.


    Jetzt fehlt uns nur noch ein LogicalVolume.
    Das erstellen wir mit lvcreate -n HalliGalli -L 120G MeineErsteVolumeGroup.
    Der Befehl liest sich, wie folgt:
    lvcreate LocigalVolume CREATEn
    -n mit dem Namen HalliGalli (die Langform wäre --name )
    -L mit der Logicalvolumesize von 50Gb (die Langform: --size )
    in der VolumeGroup namens MeineErsteVolumeGroup


    Und jetzt fehlt nur noch ein Dateisystem.
    mkfs.ext4 /dev/mapper/MeineErsteVolumeGroup zum Beispiel.
    Dieser Befehl zeigt ganz schön, wie Linux wirklich ist, und dass das LVM wirklich eine Zwischenschicht ist.
    Aber eine für uns sehr bequeme.


    Man kann natürlich auch ein verschlüsseltes LogicalVolume mit LUKS anlegen.
    Man kann alles machen, was man mit "normalen" Partitionen auch machen kann. Und noch viel, viel mehr.
    Was ich später vielleicht ein wenig weiter vertiefen werde.
    Für heute ist's gut, und ich geh' wieder basteln.

  • Wie schafft der das bloß immer.
    HUT AB !!!!!!!
    Und 1000x Danke.


    In unserer IT (68.000) Clients herrscht seit gestern der Worst Case.
    WENN es heute in den Feierabend geht, werde ich mir alles genau durchlesen.
    Freue mich schon !!!
    Feedback kommt (-:

    Für den Inhalt des Beitrages 125308 haftet ausdrücklich der jeweilige Autor: sterun

  • Vielleicht solltet ihr mal den Einsatz von Linux in Erwägung ziehen.


    Dann hättest mehr Zeit zum Lesen.

    Der Wechsel von Windows zu Linux wäre ein fataler Fehler.
    Warum?
    Linux läuft einfach zu stabil uns somit würden wir Admins unsere Arbeitsplätze riskieren.
    Warum auch einfach, unabhängig und günstiger, wenn es auch kompliziert, abhängig und teurer geht (-:


    Hatte heute (auf der Arbeit), natürlich in der Pause, dein Tutorial nur angelesen und zum Feierabend gleich eine zweite Festplatte gekauft.
    Werde morgen ein weiteres openSUSE mit LVM neu aufsetzen.


    Dein Tutorial lässt sich wirklich gut lesen !!!
    Mach weiter so !!!
    Danke und Gruß,
    sterun

    Einmal editiert, zuletzt von sterun ()

    Für den Inhalt des Beitrages 125313 haftet ausdrücklich der jeweilige Autor: sterun

  • Wie jede gute Agentur nehme ich 15% von ( Festplattenpreis + Einbauaufwand + Konfigaufwand)

    OK, das klingt wirklich fair.
    Festplatte liegt bei 70€ plus Einbau & Konfig, macht 100€.
    Somit schulde ich dir, bei 15% = 15€.


    Apropos "Wie jede gute Agentur"...
    Da du, bedingt durch meinen Vorschlag, eine neue Einnahmequelle hast, musst du mich jetzt aber auch an deinem Gewinn beteiligen. Genau wie du, erhebe ich nun auch den Anspruch, mit 15% an deinem Verdienst, beteiligt zu werden.


    Gehen wir davon aus, dass bei 19.985 Mitgliedern, und noch mehr unregistrierten Lesern, nur 1000 Anwender deine Anleitung lesen und (ich bin ja fair) von diesen nur 10 von deinem Angebot Gebrauch machen, ergibt sich foldender Sachverhalt:


    10 User geben dir 150€ (ergibt sich durch 10 User x 15€).
    15% von 150€ macht 22,50€.
    Somit bekomme ich jetzt von dir 22,50€ - 15€ = 7,50€.


    Es macht Spaß, mit dir Geschäfte zu machen (-:
    PS:

    Zahlung, wie immer direkt und bis gestern...

    So machen wir das (-:

    Für den Inhalt des Beitrages 125322 haftet ausdrücklich der jeweilige Autor: sterun

  • Da gehst du unter.


    Würdest du beweisen wollen, dass alle User hier jetzt LVM einsetzen,
    scheiterst du schon an den Kosten für die Erhebung.


    Und nach der Erhebung schuldest du mir richtig satt Kohle.


    Also nix für ungut:
    Pulver her, abba zackig!

  • Ich arbeite noch an einer spontanen Antwort (-:


    PS:
    Lese mich gerade in das Thema LVM ein.
    Journalctl (dein letztes Tutorial) habe ich jetzt soweit abgearbeitet und sogar, wenn auch nur die Basics, verstanden.
    Hast Kaffee auf Lebenszeit gut (-:

    Für den Inhalt des Beitrages 125354 haftet ausdrücklich der jeweilige Autor: sterun