Schöne Grüße,
Ich arbeite mit RHEL 5.5-Gast-VMs unter VMware ESX 4. Wenn ich die virtuellen Festplatten in den VM-Hardwareeinstellungen konfiguriere, hat jede Festplatte eine SCSI-Adresse im Format "N: M". Zum Beispiel würde "1: 3" SCSI-Hostnummer 1 und SCSI-Ziel-ID 3 bedeuten.
Wenn ich mir die Festplatteninformationen aus dem BIOS der VM oder einem Windows-Betriebssystem ansehe, stimmen die erkannten SCSI-Adressinformationen mit den Einstellungen der virtuellen Hardware überein. Unter Linux stimmen die SCSI-Adresskomponenten jedoch nicht überein, zumindest nicht vollständig oder konsistent.
Ich habe die drei unterstützten virtuellen SCSI- und SAS-Treiber ausprobiert und sie scheinen alle "kaputt" zu sein, aber auf unterschiedliche Weise. Hier ist eine Liste der virtuellen Hardwareadressen im Vergleich zu den unter Linux mit den einzelnen Treibern erkannten Adressen:
Driver vHW Addr Linux Addr
-------- -------- ----------
LSI SAS 0:0 0:0
LSI SAS 0:3 0:1
LSI SAS 0:6 0:2
LSI SCSI 1:1 2:1
LSI SCSI 1:4 2:4
LSI SCSI 1:7 2:7
pvSCSI 2:2 1:2
pvSCSI 2:5 1:5
pvSCSI 2:8 1:8
Meine Hauptfrage ist, warum dies unter Linux geschieht. Die nächste Frage lautet: Wie kann ich das Problem beheben oder selbst beheben?
Wenn ich raten würde, würde ich sagen, dass es ein Problem damit ist, wie der Kernel die SCSI-Hostnummer verteilt und wie der Linux-SCSI-Treiber (im Lieferumfang der VMware-Tools enthalten) die SCSI-Zielnummer erkennt. Vielleicht hat die Reihenfolge, in der die Treiber geladen werden, auch etwas mit dem Problem zu tun. Ich vermute, dass dies nicht udev beinhalten würde, aber ich könnte mich irren.
Alle Gedanken wäre dankbar. Vielen Dank!
PS. Meine Umgebung ist VMware, aber ich brauche keine spezielle Antwort für diese Treiber. Ich stelle mir vor, dass dies ein Problem mit jedem SCSI-Treiber unter Linux sein könnte.
/dev/disk/by-{id,label,path,uuid}
hilfreich für Ihren Zweck finden!