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:
1# echo '1' > /sys/class/scsi_disk/`lsscsi|grep sdb|cut -d" " -f 1|sed -e 's/[//g;s/]//g'`/device/rescan
2
3# dmesg
4...
5ata2: EH complete
6sd 3:0:0:0: [sdb] 167772160 512-byte logical blocks: (85.8 GB/80.0 GiB)
7sd 3:0:0:0: [sdb] Cache data unavailable
8sd 3:0:0:0: [sdb] Assuming drive cache: write through
9sdb: detected capacity change from 64424509440 to 85899345920
10
11# pvresize /dev/sdb
12 Physical volume "/dev/sdb" changed
13 1 physical volume(s) resized / 0 physical volume(s) not resized
14...
Beim Einsatz von SAN-Speichersystemen und mehreren Pfaden (multipath
) kann man sich den oberen echo
-Schritt ersparen:
1# multipath -l myvol
2Jun 18 09:40:00 | multipath.conf line 33, invalid keyword: prio_callout
3myvol (xxxxxxxxxxxxxxxxxxx0000000000032a) dm-8 IBM,2145
4size=600G features='1 queue_if_no_path' hwhandler='0' wp=rw
5`-+- policy='round-robin 0' prio=0 status=active
6 |- 1:0:0:5 sdg 8:96 active undef running
7 |- 2:0:0:5 sdw 65:96 active undef running
8 |- 1:0:1:5 sdo 8:224 active undef running
9 `- 2:0:1:5 sdae 65:224 active undef running
10
11# multipathd -k"resize map myvol"
12ok
13
14# multipath -l myvol|grep G
15size=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.