[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