Den Device-Eintrag (zBsp. sda) einem Anschluss zuordnen

Hobbystern

Hobbystern

Wahl-Debianer
Hallo Gemeinde,

am Samstag muss ich eine HDD austauschen - Wartungszeitfenster sind 2 Stunden, also massig Zeit - jedoch sollte das ganze im HotPlug Verfahren vorgesehen sein.

/dev/sda ist fehlerhaft lt. smartd.

Gibt es eine Möglichkeit vorher zu lokalisieren wer wirklich sda ist, ohne dort einen Feldversuch in einem RAID Array zu bewerkstelligen...?!

Also mehr oder weniger die Ausgabe zBsp ata1:1 zu erhalten - ich meine die irgendwo in Erinnerung zu haben, komme aber nicht mehr darauf....

Danke für Hilfe!

LG Stefan
 
Der Kernel sollte beim booten eigentlich im Buffer-Ring loggen welche Platten er den Devices zuordnet. Einfach mal einen Blick in die messages werfen.
 
Schwierig kann es dann nur sein, dass die Nummerierung nicht mit dem Mainboard übereinstimmt. Ich schätze mal, da wirst du Probleme bekommen. Die Info findest du glaube ich, wenn du dir die symlinks, die auf die Platte zeigen in den Unterordnern von /dev anzeigen lässt. Ich meine es gab da sowas ähnliches wie disk-by-path.

Aber ob dir das wirklich hilft, ist dann die Frage. Da wurde wohl an der Doku geschlampt, nich ;-)
 
Mit
Code:
smartctl --all /dev/sda
kriegst du eine ganze Menge Infos zu der Platte unter anderem auch die Seriennummer und den Hersteller, vlt hilft dir das weiter ?
 
Ich meine es gab da sowas ähnliches wie disk-by-path.

Da diese Symlinks -sofern vorhanden- allesamt von udev angelegt werden, würde ich stark vermnuten, daß man in der manpage zu "udevadm"

Code:
man udevadm
etwas Passendes finden wird, z.B. im Unterabschnitt zu "udevadm info", heisser Kandidat könnte "--attribute-walk" sein.
 
N´Abend!

unter anderem auch die Seriennummer und den Hersteller
Ja, das wäre natürlich einfach :-) Wenn nicht alles die gleichen Platten mit den gleichen Herstellern und Modellen wären, die Seriennummer kann ich sehen wenn ich sie aus dem HotPlug Käfig gezogen habe :-) Aber dann sehe ich auch schon was der Kernel sagt - und dann ist es entweder goldrichtig oder Zeit die Platte zurückzuschieben und zu warten bis sie wieder rebuilded ist...

Ich meine es gab da sowas ähnliches wie disk-by-path.
Da klingelt auch etwas bei mir ! Das sieht gut aus...!

Code:
ubuserver:~# cat /dev/disk/by-path/pci-0000\:0
pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0
pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0-part1
pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0
pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0-part1
pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0-part2
pci-0000:00:1f.2-scsi-0:0:0:0
pci-0000:00:1f.2-scsi-0:0:0:0-part1
pci-0000:00:1f.2-scsi-0:0:0:0-part2
pci-0000:00:1f.2-scsi-0:0:0:0-part3
pci-0000:00:1f.2-scsi-1:0:0:0
pci-0000:00:1f.2-scsi-1:0:0:0-part1
pci-0000:00:1f.2-scsi-1:0:0:0-part2
pci-0000:00:1f.2-scsi-1:0:0:0-part3
pci-0000:08:01.0-scsi-0:0:0:0
pci-0000:08:01.0-scsi-0:0:0:0-part1
pci-0000:08:01.0-scsi-1:0:0:0
pci-0000:08:01.0-scsi-1:0:0:0-part1
pci-0000:08:01.0-scsi-1:0:0:0-part2
pci-0000:08:01.0-scsi-1:0:0:0-part3
udevadm ist noch eine Nummer genauer..attribute walk war der beste Kandidat.

Code:
ubuserver:~# udevadm info --attribute-walk --name=/dev/sdb                                                                                                                        

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/block/sdb':
    KERNEL=="sdb"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{range}=="16"
    ATTR{removable}=="0"
    ATTR{size}=="976773168"
    ATTR{capability}=="12"
    ATTR{stat}=="34732472 121796447 3240620050 565598244 29042585 48164379 629165488 789583076        0 139853676 1355799444"

  looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:08:01.0/host1/target1:0:0/1:0:0:0':
    KERNELS=="1:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{type}=="0"
    ATTRS{scsi_level}=="6"
    ATTRS{vendor}=="ATA     "
    ATTRS{model}=="ST3500418AS     "
    ATTRS{rev}=="CC34"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{iocounterbits}=="32"
    ATTRS{iorequest_cnt}=="0x3f71f11"
    ATTRS{iodone_cnt}=="0x3f71f0e"
    ATTRS{ioerr_cnt}=="0xaf"
    ATTRS{modalias}=="scsi:t-0x00"
    ATTRS{evt_media_change}=="0"
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"

  looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:08:01.0/host1/target1:0:0':
    KERNELS=="target1:0:0"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:08:01.0/host1':
    KERNELS=="host1"
    SUBSYSTEMS==""
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1e.0/0000:08:01.0':
    KERNELS=="0000:08:01.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="sata_sil"
    ATTRS{vendor}=="0x1095"
    ATTRS{device}=="0x0240"
    ATTRS{subsystem_vendor}=="0x9005"
    ATTRS{subsystem_device}=="0x0240"
    ATTRS{class}=="0x010401"
    ATTRS{irq}=="18"
    ATTRS{local_cpus}=="ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00001095d00000240sv00009005sd00000240bc01sc04i01"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""

  looking at parent device '/devices/pci0000:00/0000:00:1e.0':
    KERNELS=="0000:00:1e.0"
    SUBSYSTEMS=="pci"
    DRIVERS==""
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x244e"
    ATTRS{subsystem_vendor}=="0x0000"
    ATTRS{subsystem_device}=="0x0000"
    ATTRS{class}=="0x060401"
    ATTRS{irq}=="0"
    ATTRS{local_cpus}=="ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v00008086d0000244Esv00000000sd00000000bc06sc04i01"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}=="1"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
Infos habe ich nun - eine Interpretation gelingt mir bis dato jedoch nur vage...im laufenden Betrieb und mit einer rebuild zeit von mehreren Stunden (~4 - 8 Std. beim Initialen Build vor knapp 2 Jahren. Bei 10 Stunden Wartungszeit eine enge Geschichte und mir so noch zu heiß....)

Möglichkeit 1 - Seriennummer holen, System runterfahren, nachsehen - austauschen (also doch keine schlechte Idee my smartctl)
Möglichkeit 2 - udevadm´s Ausgabe verstehen lernen.

Aus dem Stehgreif würde ich es so verstehen wollen :

1. Anschluss 0:0
2. Anschluss 1:0 (d.h. der Wackelkandidat ist am zweiten Port angeschlossen)

LG Stefan
 
Anhand eines kleinen Tests auf meinem Schlepptop würde ich das so "filtern":

Code:
udevadm info --attribute-walk --name=/dev/<Dingens> | grep host
Gibt bei mir zum Bleistift für sda (interne HD) und sr0 (DVD-Brenner) diese Ausgabe:

Code:
udevadm info --attribute-walk --name=/dev/sda |grep host && udevadm info --attribute-walk --name=/dev/sr0 |grep host
  looking at device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda':
  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0':
  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0':
  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host0':
    KERNELS=="host0"
  looking at device '/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0':
  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0':
  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0':
  looking at parent device '/devices/pci0000:00/0000:00:1f.2/host1':
    KERNELS=="host1"
Platte am ersten Anschluss, DVD am zweiten, klingt für mich stimmig.

Greetz,

RM
 
Würde ich sagen - ich werde den Server erstmal vom Netz nehmen und seinen Redundanz Bruder einsetzen - meist ist es keine schlechte Idee das Ding wenigstens mal zu entstauben - schaue mal nach der Seriennummer - vielleicht geht es schon so, ansonsten nutze ich die Ausgabe...Danke vielmals!
 
Nimm doch den Anschluss, den du denkst und check die Seriennummer.
 
Sag ich ja :-) [Wieso ist es nachher immer so trivial, wenn es doch so schön schwierig begonnen hat?]
 

Ähnliche Themen

SATA RAID Controller 3Ware / LSI / Adaptec

Zurück
Oben