Kurztipp: Festplattengrößen unter Linux online aktualisieren

Wenn sich Festplattengrößen angepasst werden, wird der Linux-Kernel nicht automatisch über diese Veränderung informiert. Ein Reboot des Systems ist eine mögliche Lösung – aber oftmals keine Option.

Unterhalb des Verzeichnisses /sys/class/scsi_disk gibt es je nach SCSI-ID weitere Dateien, über die einige Funktionen des Geräts gesteuert werden können. Über die Datei device/rescan kann beispielsweise ein erneutes Einlesen der Geräteinformationen gestartet werden. In diesem Fall wird der Kernel über die neue Festplattengröße informiert – in Kombination mit LVM kann man so ohne Probleme online zusätzlichen Speicher bereitstellen:

# echo '1' > /sys/class/scsi_disk/`lsscsi|grep sdb|cut -d" " -f 1|sed -e 's/[//g;s/]//g'`/device/rescan
# dmesg
...
ata2: EH complete
sd 3:0:0:0: [sdb] 167772160 512-byte logical blocks: (85.8 GB/80.0 GiB)
sd 3:0:0:0: [sdb] Cache data unavailable
sd 3:0:0:0: [sdb] Assuming drive cache: write through
sdb: detected capacity change from 64424509440 to 85899345920
# pvresize /dev/sdb
  Physical volume "/dev/sdb" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
...

Beim Einsatz von SAN-Speichersystemen und mehreren Pfaden (multipath) kann man sich den oberen echo-Schritt ersparen:

# multipath -l myvol
Jun 18 09:40:00 | multipath.conf line 33, invalid keyword: prio_callout
myvol (xxxxxxxxxxxxxxxxxxx0000000000032a) dm-8 IBM,2145
size=600G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
  |- 1:0:0:5 sdg  8:96   active undef running
  |- 2:0:0:5 sdw  65:96  active undef running
  |- 1:0:1:5 sdo  8:224  active undef running
  `- 2:0:1:5 sdae 65:224 active undef running
# multipathd -k"resize map myvol"
ok
# multipath -l myvol|grep G
size=800G features='1 queue_if_no_path' hwhandler='0' wp=rw

myvol ist hier durch den Namen des Volumes aus der Konfigurationsdatei /etc/multipath.conf zu ersetzen. In diesem Beispiel wurde die LUN-Größe von 600 GB auf 800 GB erweitert.

Sharing is caring

Schreibe einen Kommentar