GNU/Linux >> LINUX-Kenntnisse >  >> Linux

MegaCli:Rufen Sie den Gerätenamen /dev/sd* für ein logisches Laufwerk ab

Lösung 1:

Sie sollten die Datenträger-Seriennummer von -pdlist vergleichen können mit der Ausgabe von lshw .

# MegaCLI -pdlist -a0 | grep "Inquiry Data:"
Inquiry Data:       XXXXXXXXXXXXHitachi YYYYYYYY                 ZZZZZZ
...

Suchen Sie dann die Ausgabe von lshw für die Seriennummer. Der Gerätename steht in logical name Feld.

Ich kann das nicht überprüfen, da sich alle meine Laufwerke in einem Volume befinden.

Logische Laufwerke identifizieren

Vergleichen Sie die Target Id von MegaCLI mit dem SCSI-Bus-Target für das Gerät. In lshw es ist bus info .

# MegaCli -ldinfo -Lall -aall 


Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name                :
RAID Level          : Primary-6, Secondary-0, RAID Level Qualifier-3
Size                : 7.275 TB
State               : Optimal
Strip Size          : 64 KB
Number Of Drives    : 6
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Access Policy       : Read/Write
Disk Cache Policy   : Disabled
Ongoing Progresses:
  Check Consistency        : Completed 17%, Taken 89 min.
Encryption Type     : None


Virtual Drive: 1 (Target Id: 1)
Name                :
RAID Level          : Primary-6, Secondary-0, RAID Level Qualifier-3
Size                : 7.275 TB
State               : Optimal
Strip Size          : 64 KB
Number Of Drives    : 6
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Access Policy       : Read/Write
Disk Cache Policy   : Disabled
Ongoing Progresses:
  Check Consistency        : Completed 17%, Taken 89 min.
Encryption Type     : None

Von lshw:

# lshw -class disk
...
              *-enclosure UNCLAIMED
               description: SCSI Enclosure
               product: Bobcat
               vendor: LSI CORP
               physical id: 1.75.0
               bus info: [email protected]:1.117.0
               version: 0504
               configuration: ansiversion=5
          *-disk:0
               description: SCSI Disk
               product: MR9260-16i
               vendor: LSI
               physical id: 2.0.0
               bus info: [email protected]:2.0.0
               logical name: /dev/sda
               version: 2.12
               serial: svDASJ-f8kM-4qp5-BswW-3IKC-DDyA-djz8N7
               size: 7450GiB
               capacity: 7450GiB
               capabilities: lvm2
               configuration: ansiversion=5
          *-disk:1
               description: SCSI Disk
               product: MR9260-16i
               vendor: LSI
               physical id: 2.1.0
               bus info: [email protected]:2.1.0
               logical name: /dev/sdb
               version: 2.12
               serial: NHUvUy-1tm4-aGYW-g6DZ-t1Z9-gxW8-JhvFfL
               size: 7450GiB
               capacity: 7450GiB
               capabilities: lvm2
               configuration: ansiversion=5

Lösung 2:

Ich habe gerade meinem Fork von megaclisas-status etwas Unterstützung hinzugefügt, um das logische Laufwerk mit einem OS Native-Gerät abzugleichen. Hier ist eine Beispielausgabe:

$ sudo ./megaclisas-status
-- Controller information --
-- ID | H/W Model                  | RAM    | Temp | Firmware     
c0    | LSI MegaRAID SAS 9271-8i   | 1024MB | 88C  | FW: 23.32.0-0009 
c1    | LSI MegaRAID SAS 9280-4i4e | 512MB  | N/A  | FW: 12.15.0-0205 

-- Array information --
-- ID | Type   |    Size |  Strpsz |   Flags | DskCache |  Status |  OS Path | InProgress   
c0u0  | RAID-1 |   1817G |  256 KB | ADRA,WT |  Enabled | Optimal | /dev/sda | None         
c0u1  | RAID-5 |  16370G |  512 KB | ADRA,WB |  Enabled | Optimal | /dev/sdb | None         
c1u0  | RAID-0 |    476G |  256 KB | ADRA,WT |  Enabled | Optimal | /dev/sdc | None         

-- Disk information --
-- ID   | Type | Drive Model                                  | Size     | Status          | Speed    | Temp | Slot ID  | LSI Device ID
c0u0p0  | HDD  | WD-WMC300422505WDC WD20EFRX-68AX9N0 80.00A80 | 1.817 TB | Online, Spun Up | 6.0Gb/s  | 31C  | [252:4]  | 17      
c0u0p1  | HDD  | WD-WMC300421817WDC WD20EFRX-68AX9N0 80.00A80 | 1.817 TB | Online, Spun Up | 6.0Gb/s  | 31C  | [252:5]  | 18      
c0u1p0  | HDD  | WD-WX41DA40LCE5WDC WD60EFRX-68MYMN1 82.00A82 | 5.456 TB | Online, Spun Up | 6.0Gb/s  | 32C  | [252:0]  | 15      
c0u1p1  | HDD  | WD-WX41DA40L42RWDC WD60EFRX-68MYMN1 82.00A82 | 5.456 TB | Online, Spun Up | 6.0Gb/s  | 31C  | [252:1]  | 12      
c0u1p2  | HDD  | WD-WX61DA4HAKFZWDC WD60EFRX-68MYMN1 82.00A82 | 5.456 TB | Online, Spun Up | 6.0Gb/s  | 32C  | [252:6]  | 14      
c0u1p3  | HDD  | WD-WX41DA40LEF1WDC WD60EFRX-68MYMN1 82.00A82 | 5.456 TB | Online, Spun Up | 6.0Gb/s  | 31C  | [252:7]  | 16      
c1u0p0  | SSD  | 0000000011310344CFE3M4-CT512M4SSD2 070H      | 476.4 Gb | Online, Spun Up | 6.0Gb/s  | N/A  | [252:1]  | 11      

-- Unconfigured Disk information --

Das Tool selbst ist verfügbar unter:http://step.polymtl.ca/~coyote/dist/megaclisas-status/megaclisas-status

Ich hoffe, das hilft,

Vinzenz

Lösung 3:

Für alle, die über diese Frage stolpern und storcli verwenden (Nachfolger von MegaCLI ), können Sie ein virtuelles Laufwerk der vom Betriebssystem erkannten Festplatte wie folgt zuordnen:

$ /opt/MegaRAID/storcli/storcli64 /c0/v0 show all | grep NAA
SCSI NAA Id = 6001676001750006201086de0bd7f605
$ ls -al /dev/disk/by-id/ | grep wwn-0x6001676001750006201086de0bd7f605
lrwxrwxrwx 1 root root   9 Jan 23 10:55 wwn-0x6001676001750006201086de0bd7f605 -> ../../sdk

Getestet mit storcli-1.21.06 Download unter:https://docs.broadcom.com/docs/1.21.06_StorCLI

Lösung 4:

Anstatt lshw zu verwenden , ich denke, Sie können einfach /dev/disk/by-path verwenden um die Beziehung zwischen der SCSI-Ziel-ID und dem logischen Gerätenamen (sdX) zu erhalten.

targetId=0;dev=`ls -l /dev/disk/by-path/ | grep -E "scsi-[0-9]:[0-9]:${targetId}:[0-9] " | awk '{print($11)}'`; echo ${dev##*\/}
  deviceId=$1
  ldPdInfo=`$MegaCommand -LdPdInfo -aALL | grep -E 'Virtual Drive|Device Id'`
  if [ $ldPdInfo ]; then
    targetId=`echo $ldPdInfo | awk '{a[NR]=$0} END {while (NR) print a[NR--]}' | awk "/Device Id: ${deviceId}$/,/Virtual Drive/" | grep -Eo 'Target Id: [0-9]' | grep -Eo '[0-9]'`
    dev=`ls -l /dev/disk/by-path/ | grep -E "scsi-[0-9]:[0-9]:${targetId}:[0-9] " | awk '{print($11)}'`
  else
    wwn=`$MegaCommand -PdList -aALL | awk "/Device Id: ${deviceId}$/,/WWN/" | grep "WWN" | awk '{print($2)}'`
    # wwn=`echo "obase=16;ibase=16; $wwn-1" | bc`
    dev=`ls -l /dev/disk/by-id/ | grep -i -E "wwn-0x${wwn:0:-1}[0-9a-z] " | awk '{print($11)}'`
  fi
  devName=${dev##*\/}
  echo $devName

Lösung 5:

Ich habe mich in letzter Zeit auf mehreren neuen Servern damit beschäftigt und mir eine Lösung ausgedacht ! Wir verwenden kein RAID auf der „RAID“-Karte, sondern nur die SAS-Laufwerke als JBOD. Die /dev/disk/by-id Zuordnungen sind um eine (oder einige wenige) von SAS Address entfernt . Das scheint bizarr, aber es funktioniert auf Dutzenden von Servern, auf denen ich es getestet habe. Ich habe auch eine unabhängige Bestätigung erhalten, dass dies bei anderen funktioniert.

megamap ist ein kurzes Perl-Skript, das die obige Entdeckung implementiert. Es erstellt eine Karte des Linux-Laufwerks sd* zu MegaRaid Laufwerks-ID und zeigt auch den WWN von Linux an. Nachdem ich dies eine Zeit lang in der Produktion verwendet hatte, fügte ich auch megablink hinzu und megaunblink zur Steuerung der "come fix me" blinkenden LED. Diese Funktion hat mich davor bewahrt, das falsche Laufwerk aus dem Server zu ziehen. Bitte senden Sie Fehlerberichte auf github.

[Bild dank Scott Vrable]


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Wie portabel sind /dev/stdin, /dev/stdout und /dev/stderr?

  3. Wann sollte /dev/random vs. /dev/urandom verwendet werden?

  4. So ordnen Sie /dev/sdX- und /dev/mapper/mpathY-Geräte vom /dev/dm-Z-Gerät zu

  5. Wie kann /dev/random oder /dev/urandom mit base64 codiert werden?

LVM Unterschied in den Pfaden für Mounts

Kernel:/dev/kmem und /dev/mem deaktivieren

Laufwerksname? Wie lautet die korrekte Bezeichnung für den sda-Teil von /dev/sda?

echo oder print /dev/stdin /dev/stdout /dev/stderr

Warum sind < oder > erforderlich, um /dev/tcp

Unterschiede zwischen /dev/sda und /dev/sda1