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]
1 Kommentar
März 26, 2010
ad

Also fuer einfache Software RAIDs unter unixoiden Betriebssystemen nehm ich gerne ZFS. Super flexibel und aehnlich zu bedienen wie LVM… nur hab ich keinen Performancevergleich.

Auf jeden Fall freue ich mich auf btrfs und weil das auch ootb unter Linux laeuft, wird das wohl ausfuehrlicher getestet :)

Post a comment