Wir setzen bei uns seit Juli 2009 die kostenlose Version von Xen-Server ein. Auf unserem Xen-Server ist ein lokales Storage Repository im RAID 1 Verbund eingerichtet. Da bei uns die virtuellen Systeme Regelmäßig zunehmen, haben wir schnell den verfügbaren Speicher von ca. 360 GB aufgebraucht.
Nun ist es also an der Zeit das lokale Storage Repository mit weiteren physikalische Platten auszustatten. Da Xen-Server per Default LVM zum Plattenmanagement verwendet, sollte es eigentlich ein Leichtes sein, dies zu erweitern. Um aber das System redundant zu halten muss ein zusätzliches RAID 1 eingerichtet werden.
Damit das Erweitern des Storage Repository keine System Downtime verursacht, sollte ein Raid-Tool auf dem Xen-Server bereitgestellt werden. Da wir 3ware Raid Controller einsetzen, kommt das Tool tw_cli zum Einsatz.
Nachdem also die zwei neuen Platten eingebaut wurden, wird ein neues RAID erstellt.
#> ./tw_cli
//tw_cli> /c0 add type=raid1 disk=2-3 nocache
Um auf Nummer sicher zu gehen, verifizieren wir das neu eingerichtete RAID auch noch.
//tw_cli> /c0/u2 start verify
Wenn man nun auch noch das Raid verwenden möchte, sollte man erstmal eine große Partition einrichten. Dies ist bei Xen-Server mit fdisk zu bewerkstelligen.
#> fdisk /dev/sdb
Command : n
Nun die gewünschte Größe festlegen und danach die Partitionstabelle auf die Festplatte schreiben.
Command : w
Ist dies auch erledigt, wechselt man zum LVM Tool und fügt die neu erstellte Partition als physical volume hinzu.
#> lvm
lvm> pvcreate /dev/sdb1
Nach einem Aufruf von pvscan sollte auch schon das neue physical volume aufgelistet werden. Anschließend muss die Platte noch der volume group von Xen-Server zugeordnet werden.
Um herauszufinden, welchen Namen Xen-Server für diese Gruppe verwendet reicht ein Aufruf von vgdisplay.
Danach lässt sich das physical volume leicht zuordnen.
lvm> vgextend VG_XenStorage-8cdeb417-1231sdf-123asddfg /dev/sdb1
Im Normalfall wäre man jetzt bei Systemen ohne Xen-Server schon am Ziel, denn die volume group wurde erfolgreich erweitert und mit dem Aufruf von vgdisplay sieht man schon die neue volume group Größe.
Nicht aber bei Xen-Server, denn hier muss auch noch dem Xen-Server mitgeteilt werden, dass sich etwas an dem Storage-Repository geändert hat.
Dies geschieht mit dem Consolen befehl xe sr-scan.
Um diesen Befehl ausführen zu können, benötigt man noch die uuid vom Storage Repository. Rausfinden lässt sich diese mit folgendem Befehl.
xe sr-list type=lvm
Danach kann der Befehl ausgeführt werden.
xe sr-scan uuid=8cdeb1234-c671-492b-3be7a-987345123cvgsdf
Mit diesem Befehl wurde nun das Storage Repository erfolgreich erweitert und dem Hinzufügen von neuen virtuellen Instanzen steht nichts mehr im Wege.