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:
# yum install system-storage-manager # 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:
# ssm list dev ------------------------------------------------------------ Device Free Used Total Pool Mount point ------------------------------------------------------------ /dev/sda 20.00 GB PARTITIONED /dev/sda1 500.00 MB /boot /dev/sda2 0.00 KB 19.51 GB 19.51 GB fedora /dev/sdb 10.00 GB /dev/sdc 10.00 GB ------------------------------------------------------------ # ssm create -s 6G --fstype ext4 /dev/sdb No physical volume label read from /dev/sdb Physical volume "/dev/sdb" successfully created Volume group "lvm_pool" successfully created Logical volume "lvol001" created # ssm resize -s 5G lvm_pool/lvol001 # ssm create -s 2G -n crash_vol --fstype ext4 -p lvm_pool # ssm list vol ----------------------------------------------------------------------------------------------- Volume Pool Volume size FS FS size Free Type Mount point ----------------------------------------------------------------------------------------------- ... /dev/lvm_pool/lvol001 lvm_pool 5.00 GB ext4 5.00 GB 4.53 GB linear /dev/lvm_pool/crash_vol lvm_pool 2.00 GB ext4 2.00 GB 1.80 GB linear ----------------------------------------------------------------------------------------------- # ssm list pool ---------------------------------------------------- Pool Type Devices Free Used Total ---------------------------------------------------- fedora lvm 1 0.00 KB 19.51 GB 19.51 GB lvm_pool lvm 1 3.00 GB 7.00 GB 10.00 GB ----------------------------------------------------
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.
# ssm snapshot -s 1G -n crash_snap lvm_pool/crash_vol # ssm list snap ----------------------------------------------------------------- Snapshot Origin Volume size Size Type ----------------------------------------------------------------- /dev/lvm_pool/crash_snap crash_vol 1.00 GB 0.00 KB linear ----------------------------------------------------------------- # dd if=/dev/zero of=/crash/bla.bin bs=1024k count=10 # ssm list snap ------------------------------------------------------------------- Snapshot Origin Volume size Size Type ------------------------------------------------------------------- /dev/lvm_pool/crash_snap crash_vol 1.00 GB 10.04 MB linear -------------------------------------------------------------------
Das Entfernen des Snapshots funktioniert analog zur Löschung eines Volumes:
# umount /crash # ssm remove lvm_pool/crash_snap # 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:
# 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:
# ssm add -p lvm_pool /dev/sdc No physical volume label read from /dev/sdc Physical volume "/dev/sdc" successfully created Volume group "lvm_pool" successfully extended # ssm resize -s 10G lvm_pool/crash_vol # ssm list pool ---------------------------------------------------- Pool Type Devices Free Used Total ---------------------------------------------------- fedora lvm 1 0.00 KB 19.51 GB 19.51 GB lvm_pool lvm 2 4.99 GB 15.00 GB 19.99 GB ---------------------------------------------------- # ssm check lvm_pool/crash_vol Checking ext4 file system on '/dev/mapper/lvm_pool-crash_vol': Device '/dev/mapper/lvm_pool-crash_vol' is mounted on '/crash' Unmount (N/y/q) ? Y e2fsck 1.42.5 (29-Jul-2012) ... /dev/mapper/lvm_pool-crash_vol: 12/655360 Dateien (0.0% nicht zusammenhängend), 61231/2621440 Blöcke OK
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“.