uptime is the game, downtime is the name

Ein LVM sollte jedem Linux Administator bekannt sein für alle anderen ein kurzer Auszug aus dem Wikipedia Beitrag

Der Logical Volume Manager (LVM) ist eine hauptsächlich im Unix- und Linux-Umfeld verbreitete Abstraktionsebene zwischen Festplatten und Dateisystemen. Sowohl der Name LVM als auch die Linux-Implementierung haben ihren Ursprung bei HP-UX und sind von diesem abgeleitet. Der Ausdruck Manager ist leicht irreführend denn der Logical Volume Manager besteht im Wesentlichen aus zwei Komponenten: einer Verwaltungsebene (dem Manager) mit CLI und/oder GUI, sowie einem in den Betriebssystemkern integrierten Treiber, welcher die eigentliche Implementierung realisiert. Der LVM fasst Festplatten bzw. Partitionen (Physical Volume, PV) zu einem Pool (Volume Group, VG) zusammen, aus dem dynamisch “Partitionen” (die Logical Volumes, LV) angefordert werden können. Auf diesen Logical Volumes werden die Dateisysteme angelegt. Unter Windows entspricht dies in etwa den »Dynamischen Datenträgern« die bei aktuellen Microsoft Windows Versionen verfügbar sind.

Neu und erst seit LVM2 dabei ist die Option zum Mirrorn eines LVM. Also werden 2 Physikalische LVM Partitionen gespiegelt. Hört sich schwer an, ist es aber nicht. Ich gehe davon aus das ihr 2 ungefähr gleich große verschiedene Partitionen habt. Wenn dies der Fall ist kann es auch schon los gehen:

Zuerst natürlich lvm instalieren. Dazu:

1
aptitude install lvm2

Danach leeren wir den LVM Cache und erstellen die Konfigurationsdateien:

1
vgscan -v

Dann erstellen wir die 2 Physikalischen LVM Container:

1
2
pvcreate /dev/sda2
pvcreate /dev/sdb2

(sda2/sdb2 natürlich anpassen – eure Festplatten findet ihr mit cat/proc/partitions)

Anschließend muss eine Volume Group für die Partition erstellt werden:

1
vgcreate Mirror /dev/sda2 /dev/sdb2

(Mirror könnt ihr frei wählen, ist nur die Group Bezeichnung)

Ihr könnt natürlich auch beliebig viele weitere Partitionen hinzunehmen.

Soweit alles wie immer aber,JETZT, kommt der spannende Teil!

1
lvcreate --corelog -n Debmirror -L 500GB -m 1 Mirror

MIt –Corelog gibt man das er die Logs Intern speichert.
-n DebMirror ist die Bezeichnung der Zukünftigen Logischen LVM Partition, also frei wählbar.
und -L 500GB gibt die größe des Raids an. Da es ein Raid 1 ist also die Hälfte des Verfügbaren der Volume Group.
-m 1 gibt das RAID Level an. In dem Fall “1″
Mirror steht für die Bezeichnung der Volume Group.

danach gibt man dem ganzen noch ein Dateisystem mit:

1
mkfs.ext3 /media/Mirror/Debmirror

Jetzt hat man das gespiegelte LVM fertig und ist bereis nutzbar. Jedoch ist es noch nicht sondelrich performant weil er die Partitionen erst kopiert. Den Status kann man sich unter:

1
2
3
mirror:/var/log# lvs
LV        VG     Attr   LSize   Origin Snap%  Move Log Copy%  Convert
Debmirror Mirror mwi-ao 500.00G                         79.68

Super! Geschafft!

Eigentlich eine sehr einfach Möglichkeit um eine Art Softwareraid zu erstellen. Die Vorteile des einfachen Verkleinern und vergrößern des Containers liegen auf der Hand. Ich mag es!

Reblog this post [with Zemanta]

Nur mal kurz so am Rande notieren, ich habe ein Projekt wo ich am Ende eine gleiche Reihenfolge von Zeilen hatte. Also 1,2,3,4,5,etc.

Jetzt ist es aus unbeschreiblichen Gründen ziemlich schwer und nervig sich da selber irgendwie ein mit Copy & Paste abzubrechen. Also bisschen gegooglet, gefragt und siehe da: Linux/Ubuntu/Debian hat ein kleines Programm was sich “Shuf” nennt. Super!

Also habe ich meine Datei like:

1
2
3
4
5

und danach kommt:
[code lang="bash"]
dennis@wtfpandaclub:~$ shuf test
1
4
5
2
3
[/code]

Wunderbar, natürlich ist es mit einer 5 Zeiligen Sache nicht soooo sinnvoll aber sobald es in den 2 Stelligen Bereich geht ist sowas absolut traumhaft! :)