Mit dem ESX Server geht es ja leicht, einem virtualisierten Linux Guest eine zusätzliche Datenplatte zu spendieren. Diese wird allerdings erst beim nächsten Reboot vom System erkannt.
Oder man verwendet folgenden Befehl:
echo "scsi add-single-device" 0 0 1 0 > /proc/scsi/scsi
Wobei 0 0 1 0 die SCSI Id der neuen Platte ist. 0 0 1 0 ist damit die zweite Platte, die einem Guest präsentiert wird. Welche Disken dem System momentan bekannt sind, sieht man mit
cat /proc/scsi/scsi
das einen Output wie
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access
bringt. Hier sind bereits die Platten 0 0 0 0 und 0 0 1 0 zu sehen. Die dritte Ziffer gibt dabei die Id der Platte an, wie sie in der Übersicht oben angezeigt wird. VMware scheint also neue Platten am selben Controller mit jeweils einer höheren Id und Lun 0 anzuzeigen.
Somit wäre /dev/sda Id 0 ( 0 0 0 0 ) und /dev/sdb Id 1 ( 0 0 1 0 ). Damit sollte man sich die Daten für den oben genannten Befehl zum Hot-adden einer Platte selbst ausrechnen können, je nachdem wieviele Platten man bereits präsentiert hat.
Nach dem Adden zeigt fdisk -l die neue Platte an, auf der dann mit fdisk Partitionen angelegt werden können. Der Kernel liest die Partitionen aber wieder erst nach einem Reboot ein. Hier hilft partprobe, das solche Änderungen auch im laufenden Betrieb übernimmt.
Diese Informationen habe ich zu grossen Teilen aus diesem Artikel, wo auch ein wenig mehr vom Hintergrund dieses Vorgangs erklärt wird. Getestet habe ich es unter CentOS 5.3 womit es auch mit RedHat Enterprise Linux ( RHEL ) 5 funktionieren muss.
Neuen Kommentar schreiben