Eigentlich eine einfache Sachlage: Eine IBM SAN mit einem einzelnen RAID-Array und 3 Volumes – seinerzeit wurde nicht der gesamte Speicherplatz zugewiesen, da die Wachstunsraten nicht absehbar waren und man sobei Bedarf dynamisch vergrößern könne. Leider ist das Vergrößern eines logischen Volumes (auf IBM-Sprache „Dynamic Logical Drive Expansion (DVE)„) offenbar eine sehr esoterische Aufgabe, daher hat IBM die Funktion auch nicht in die GUI integriert. Wir müssen also an die Konsole – meist ist hiermit die serielle Schnittstelle gemeint, da das Gerät in meinem Fall jedoch auswärts steht musste ich einen anderen Weg suchen: Auf Rechnern mit installiertem „IBM System Storage DS Storage Manager“ (aka der GUI) findet sich im Installationsordner auch einen CLI-Client. Über eine Shell kann das Programm mit folgender Syntax aufgerufen werden:
Linux
./smcli [ip] -c "befehl"
Windows
SMcli.exe [ip] -c "befehl"
Der erste Schritt besteht darin den Namen des logischen Gerätes zu finden – das geht zwar auch über die GUI, aber jetzt ist die CLI ja eh schon offen. Wichtig: Die Befehle müssen mit einem Semikolon abgeschlossen werden.
SMcli.exe -c "show logicalDrives;"
Performing syntax check...
Syntax check complete.
Executing script...
STANDARD LOGICAL DRIVES------------------------------
SUMMARY
Number of standard logical drives: 3
See other Logical Drives sub-tabs for premium feature information.
NAME STATUS CAPACITY RAID LEVEL ARRAY DRIVE TYPE
DRIVE1 Optimal 380 GB 5 1 SAS
DRIVE2 Optimal 300 GB 5 1 SAS
DRIVE3 Optimal 600 GB 5 1 SAS
DETAILS
[...]
Zur Sicherheit werfen wir auch noch einen Blick auf das zugehörige Array mit der Nummer 1 um zu bestätigen, dass wir tatsächlich noch freien Platz haben:
SMcli.exe [ip] -c "show array [1];"
[...]
ARRAY 1 (RAID 5)
Associated logical drives and free capacities:
LOGICAL DRIVE NAME CAPACITY
[...]
Free Capacity 100 GB
[...]
So weit so gut – wir haben in Drive2 zur Zeit 300GB Speicher, 100GB sind im Array noch frei. Um nun Drive2 um 50GB zu vergrößern nutzen wir folgenden Befehl – dieser kann online, also ohne Ausfall durchgeführt werden:
SMcli.exe [ip] -c "set logicalDrive["DRIVE2"] addCapacity=50GB;"
Performing syntax check...
Syntax check complete.
Executing script...
Script execution complete.
SMcli completed successfully.
Je nach Aufbau des Systems dauert die endgültige Ausführung mehrere Stunden, so ist es ggf. nötig bestehende Volumes zu Verschieben um eine Fragmentierung zu vermeidel – sowas dauert natürlich. Leider konnte ich keinen CLI-Befehl für eine Fortschrittsanzeige finden – in der GUI wird während des Vorgangs eine Notiz im Kasten „Status“ unter „Operations in Progress“ angezeigt.
Nachdem das LV vergrößert wurde muss dies auch im Betriebssystem mitgeteilt werden. Linux bekommt die Änderung meist automatisch mit, wenn nicht hilft ein SCSI-Rescan. Ext-Dateisysteme lassen sich mit resize2fs vergrößern, die meisten Anderen haben ebenfalls passende Befehle im Gepäck. Unter Windows ab Server 2008 lassen sich die Aktionen über die Datenträgerverwaltung (Unterpunkt der Computerverwaltung) durchführen, ältere Versionen beherrschen ein Online-Resize nicht, hier hilft eine passende Boot-CD.