Speicherverwaltung unter Fedora leicht gemacht: System Storage Manager
Wie gestern schon kurz angerissen, ist eine der zahlreichen Neuerungen von Fedora 18 der System Storage Manager. Dieser erlaubt die zentrale Verwaltung von Speichergeräten - sind die Zeiten des Manpage-Durchwühlens für Neulinge nun vorbei? Ich habe mir den SSM mal genauer angeschaut - und bin recht positiv überrascht. Der System Storage Manager lässt sich bequem über Yum bzw. DNF nachinstallieren:
1# yum install system-storage-manager
2# dnf install system-storage-manager
Das Konzept des SSMs erinnert mich ein wenig an das Windows'sche diskpart
und das aus der HP-UX-Welt bekannte vxdisk
-Utility - diese beiden Werkzeug erlauben ebenfalls das nahezu komplette Storage-Management über selbsterklärende Befehle. Was kann der SSM überhaupt? Er kann:
- ext3-, ext4-, xfs- und btrfs-Volumes anlegen (
create
) und überprüfen (check
) - Geräte, Volumes und LVM-/RAID-/Btrfs-Pools auflisten (
list dev/vol/pool
) - LVM-/RAID-/Btrfs-Pools erstellen, erweitern und löschen
- Volumes, Dateisysteme löschen (
remove
) und vergrößern/verkleinern (resize
) - Snapshots anlegen (
snapshot
)
Wie man sieht, sind die Befehle selbsterklärend - die ggf. benötigten Optionen lehnen an altbekannte mkfs- und LVM-Kommandos an, SSM ist also recht umsteigerfreundlich.
Volumes anlegen
Mit drei kurzen Befehlen erstellt man eine LVM-Volumengruppe mit 2 Volumes, von denen eines nachträglich verkleinert wird:
1# ssm list dev
2------------------------------------------------------------
3Device Free Used Total Pool Mount point
4------------------------------------------------------------
5/dev/sda 20.00 GB PARTITIONED
6/dev/sda1 500.00 MB /boot
7/dev/sda2 0.00 KB 19.51 GB 19.51 GB fedora
8/dev/sdb 10.00 GB
9/dev/sdc 10.00 GB
10------------------------------------------------------------
11
12# ssm create -s 6G --fstype ext4 /dev/sdb
13 No physical volume label read from /dev/sdb
14 Physical volume "/dev/sdb" successfully created
15 Volume group "lvm_pool" successfully created
16 Logical volume "lvol001" created
17# ssm resize -s 5G lvm_pool/lvol001
18# ssm create -s 2G -n crash_vol --fstype ext4 -p lvm_pool
19
20# ssm list vol
21-----------------------------------------------------------------------------------------------
22Volume Pool Volume size FS FS size Free Type Mount point
23-----------------------------------------------------------------------------------------------
24...
25/dev/lvm_pool/lvol001 lvm_pool 5.00 GB ext4 5.00 GB 4.53 GB linear
26/dev/lvm_pool/crash_vol lvm_pool 2.00 GB ext4 2.00 GB 1.80 GB linear
27-----------------------------------------------------------------------------------------------
28
29# ssm list pool
30----------------------------------------------------
31Pool Type Devices Free Used Total
32----------------------------------------------------
33fedora lvm 1 0.00 KB 19.51 GB 19.51 GB
34lvm_pool lvm 1 3.00 GB 7.00 GB 10.00 GB
35----------------------------------------------------
Snapshots
Das Anlegen von Snapshots ist simpel - es genügt ein einzelner Befehl, um einen Snapshot anzulegen. Über das list
-Kommando kann der Snapshot inklusive Größe anschließend eingesehen werden.
1# ssm snapshot -s 1G -n crash_snap lvm_pool/crash_vol
2# ssm list snap
3-----------------------------------------------------------------
4Snapshot Origin Volume size Size Type
5-----------------------------------------------------------------
6/dev/lvm_pool/crash_snap crash_vol 1.00 GB 0.00 KB linear
7-----------------------------------------------------------------
8
9# dd if=/dev/zero of=/crash/bla.bin bs=1024k count=10
10# ssm list snap
11-------------------------------------------------------------------
12Snapshot Origin Volume size Size Type
13-------------------------------------------------------------------
14/dev/lvm_pool/crash_snap crash_vol 1.00 GB 10.04 MB linear
15-------------------------------------------------------------------
Das Entfernen des Snapshots funktioniert analog zur Löschung eines Volumes:
1# umount /crash
2# ssm remove lvm_pool/crash_snap
3# mount /dev/lvm_pool/crash_vol /crash
Ein Wiederherstellen von Snapshots ist derzeit noch nicht möglich - hierfür muss wie bisher lvconvert
verwendet werden:
1# lvconvert --merge lvm_pool/crash_snap
Volumes erweitern und überprüfen
LVM-Volumegruppen und darin befindende Volumes zu erweitern ist mit dem SSM noch leichter, als mit den altbekannten lvresize
-/resize2fs
-Tools:
1# ssm add -p lvm_pool /dev/sdc
2 No physical volume label read from /dev/sdc
3 Physical volume "/dev/sdc" successfully created
4 Volume group "lvm_pool" successfully extended
5# ssm resize -s 10G lvm_pool/crash_vol
6# ssm list pool
7----------------------------------------------------
8Pool Type Devices Free Used Total
9----------------------------------------------------
10fedora lvm 1 0.00 KB 19.51 GB 19.51 GB
11lvm_pool lvm 2 4.99 GB 15.00 GB 19.99 GB
12----------------------------------------------------
13
14# ssm check lvm_pool/crash_vol
15Checking ext4 file system on '/dev/mapper/lvm_pool-crash_vol':
16Device '/dev/mapper/lvm_pool-crash_vol' is mounted on '/crash' Unmount (N/y/q) ? Y
17e2fsck 1.42.5 (29-Jul-2012)
18...
19/dev/mapper/lvm_pool-crash_vol: 12/655360 Dateien (0.0% nicht zusammenhängend), 61231/2621440 Blöcke
20OK
Fazit
Für den Administrator ist der SSM ein sehr interessantes Werkzeug, das jetzt schon zahlreiche Funktionen und Features beherrscht. Einige Dinge fehlen mir persönlich noch, um den SSM als vollständiges Werkzeug zu bezeichnen. Beispielsweise:
- Anlegen einer LVM-Volumengruppe ohne Volumes anzulegen
- Wiederherstellen von LVM-Snapshots
- Ausgabe der intern abgesetzten LVM-/*2fs-Befehle zu Dokumentationszwecken
Ich bin gespannt, inwiefern der SSM noch überarbeitet wird. Für das kommende RHEL-Release 7.0 ist das Werkzeug sicherlich ein heißer "Enhancement-Kandidat".