[Eisfair] [e64] Cannot convert boot device /dev/sda to /dev/disk/by-id/!
Marcus Roeckrath
marcus.roeckrath at gmx.de
Di Sep 17 23:16:28 CEST 2019
Hallo,
Marcus Roeckrath wrote:
>> Oha, Fazit, Umbauen, 3Ware raus
>
> Wenn sonst niemand eine glänzende Idee hat? Eine Idee für eine udev-Rule?
Ich fasse nochmal zusammen:
Der by-id-Link wird für sdx-Devices über folgende Regel bestimmt:
KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*",
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
Ist der DEVTYPE disk, ist eine Seriennummer vorhanden, wird aus ID_BUS und
ID_SERIAL der by-id-Link erzeugt.
Zur Verfügung stehen:
DEVTYPE=disk
ID_BUS=scsi
ID_MODEL=Logical_Disk_0
ID_MODEL_ENC=Logical\x20Disk\x200\x20\x20
ID_PART_TABLE_TYPE=gpt
ID_PART_TABLE_UUID=2f65c95a-8515-48b3-889b-3a238de6e055
ID_PATH=pci-0000:03:05.0-scsi-0:0:0:0
ID_PATH_TAG=pci-0000_03_05_0-scsi-0_0_0_0
ID_REVISION=1.2
ID_SCSI=1
ID_TYPE=disk
ID_VENDOR=3ware
ID_VENDOR_ENC=3ware\x20\x20\x20
also keine Seriennummer, bliebe die Frage, ob man eine zusätzliche Regel
einführt, die 3ware gesondert behandelt, z. B.:
KERNEL=="sd*", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="3ware",
ENV{ID_SERIAL}!="?*",
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_VENDOR}-$env{ID_MODEL}-$env{ID_SERIAL}"
gäbe als Link
scsi-3ware-Logical_Disk_0
oder man nimmt die UUID der Paritionstabelle:
KERNEL=="sd*", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="3ware",
ENV{ID_SERIAL}!="?*",
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_PART_TABLE_UUID}"
und somit
scsi-2f65c95a-8515-48b3-889b-3a238de6e055
Die neue Regeln käme dann (in einer Zeile) vor die ganz oben zitierte
in /usr/lib/udev/rules.d/60-persistent-storage.rules.
Bitte darum diesen Vorschlag zu diskutieren. Hätte ich einen solchen
Kontroller würde ich vermutlich mal die Regel-Vorschläge ausprobieren, also
schauen, ob ein
udevadm test /block/sda
nun einen by-id-Link in der (testweisen) Ausgabe anzeigt.
--
Gruss Marcus
Mehr Informationen über die Mailingliste Eisfair