MegaCli: Dapatkan nama perangkat / dev / sd * untuk drive logis


16

Katakanlah saya tahu drive yang saya inginkan ada di Adapter 8, Virtual Drive 0, apakah ada cara untuk mendapatkan nama perangkat Linux (misalnya /dev/sdt)? Saya di RHEL 6.2.

-pdlistmenampilkan nilai WWN untuk setiap drive fisik, tetapi itu tidak banyak membantu. -ldinfotidak mencetak WWN atau nilai identifikasi lainnya.

# ./MegaCli64 -pdlist -a8 | grep WWN
WWN: 500051610003776C
WWN: 5000516100037BFC
WWN: 5000516100038090
WWN: 50005161000284F4
WWN: 5000516100037C0C
WWN: 5000516100037C5C
WWN: 50005161000310C8
WWN: 5000516100037F4C

# ls -1dt /dev/disk/by-id/wwn*
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd142c12c84d
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd142c0973e6
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd132c002573
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd122bf6e2f6
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd122beda52a
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd112be46f10
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd112bdb3ffb
/dev/disk/by-id/wwn-0x600605b0043e52d01721fd102bd20f14

# ./MegaCli64 -v                       
 MegaCLI SAS RAID Management Tool  Ver 8.03.08 Mar 15, 2012

Jawaban:


10

Anda harus dapat membandingkan nomor seri disk -pdlistdengan output dari lshw.

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

Kemudian cari output lshwuntuk nomor seri. Nama perangkat akan berada di logical namebidang.

Saya tidak dapat memverifikasi ini karena semua disk saya ada dalam volume.

Mengidentifikasi Drive Logis

Bandingkan Target Iddari MegaCLI dengan target bus scsi untuk perangkat. Di lshwdalamnya ada 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

Dari lshw:

# lshw -class disk
...
              *-enclosure UNCLAIMED
               description: SCSI Enclosure
               product: Bobcat
               vendor: LSI CORP
               physical id: 1.75.0
               bus info: scsi@0: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: scsi@0: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: scsi@0: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

1
Saya baru saja mencoba ini, tetapi saya memiliki drive IBM dan bagi saya sepertinya tidak ada korelasi antara nomor seri yang muncul -pdlistdan nomor seri yang muncul lshw. Terima kasih atas tipnya.
twblamer

Mungkin saja kartu pengontrol Anda tidak mengekspos nomor seri asli dan membuat nomor seri volume untuk setiap disk.
Jeff Strunk

Saya harus menambahkan ini adalah pengaturan JBOD dengan setiap drive yang dikonfigurasi dalam array RAID0 dari satu drive. Jadi saya berharap nomor seri drive fisik disembunyikan, tetapi saya ingin tahu apakah saya bisa mendapatkan beberapa info dari konfigurasi drive logis.
twblamer

1
Sepertinya JBOD dinonaktifkan pada adaptor secara default, tetapi saya dapat mengaktifkannya:./MegaCli64 -AdpSetProp -EnableJBOD 1 -a0
twblamer

1
Untuk hanya menampilkan disk, gunakan: lshw -class disk
Dan Mazzini

7

Saya baru saja menambahkan beberapa dukungan ke garpu status megaclisas saya untuk mencocokkan drive logis ke perangkat OS Native. Berikut ini contoh output:

$ 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 --

Alat itu sendiri tersedia di: http://step.polymtl.ca/~coyote/dist/megaclisas-status/megaclisas-status

Saya harap ini membantu,

Vincent


Ini bekerja dengan baik, bahkan di Centos 6, terima kasih!
SvennD

2
Harap perhatikan bahwa alat ini diterima dan digabung di hulu sehingga versi yang lebih baru ada di: raw.githubusercontent.com/eLvErDe/hwraid/master/wrapper-scripts/…
Vincent S. Cojot

Wow, ini menyelamatkan saya sakit kepala. Bekerja dengan indah. Terima kasih
biocyberman

Mencoba itu tetapi hanya mendapat angka di kolom jalur os
hek2mgl

Silakan laporkan masalah apa pun di: github.com/eLvErDe/hwraid/issues
Vincent S. Cojot

6

Bagi siapa saja yang tersandung pada pertanyaan ini dan menggunakan storcli(penerus MegaCLI), Anda dapat memetakan drive virtual ke disk yang dilihat oleh sistem operasi dengan yang berikut:

$ /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

Diuji dengan storcli-1.21.06unduhan di: https://docs.broadcom.com/docs/1.21.06_StorCLI


5

Alih-alih menggunakan lshw, saya pikir Anda bisa menggunakan /dev/disk/by-pathuntuk mendapatkan hubungan antara id target scsi dan nama perangkat logis (sdX).

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

Pendek dan manis.
Michael R. Hines

3

Saya telah berurusan dengan ini di sejumlah server baru baru-baru ini dan saya telah menemukan solusi ! Kami tidak menggunakan RAID pada kartu "RAID", hanya menggunakan drive SAS sebagai JBOD. The /dev/disk/by-idpemetaan adalah off oleh satu (atau beberapa) dari SAS Address. Ini tampaknya aneh, tetapi berfungsi di banyak server yang telah saya uji. Saya juga telah menerima konfirmasi independen bahwa ini berfungsi untuk orang lain.

megamap adalah skrip Perl pendek yang mengimplementasikan penemuan di atas. Ini menghasilkan peta drive Linux sd*ke drive MegaRaid ID dan juga menampilkan WWN dari Linux. Setelah menggunakan ini dalam produksi untuk sementara waktu, saya juga menambahkan megablinkdan megaunblinkuntuk mengendalikan LED berkedip "datang memperbaiki saya". Fitur itu telah menyelamatkan saya dari menarik drive yang salah dari server. Silakan kirim laporan bug di github .

logo[gambar berkat Scott Vrable ]


Saya telah menambahkan utilitas yang dipanggil megablinkke repo github yang sama yang akan berkedip drive buruk untuk teknisi lapangan untuk dengan mudah menemukannya.
anak ayam

Berdasarkan laporan bug dan perbaikan selanjutnya saya telah merilis versi baru megamappada github.
anak ayam

2

Perintah Harry sangat membantu, tetapi saya perlu melangkah lebih jauh dan menentukan perangkat pci karena saya memiliki beberapa adaptor SAS dalam konfigurasi saya. Kupikir aku harus berbagi:

  vdisk=1

  MegaCommand=/opt/MegaRAID/CmdTool2/CmdTool2

  vendor_id=$($MegaCommand -AdpAllInfo -aALL \
    | grep -E "^Vendor Id" \
    | sed 's/.*: //g' )

  device_id=$($MegaCommand -AdpAllInfo -aALL \
    | grep -E "^Device Id" \
    | sed 's/.*: //g' )

  pci_address=$(lspci -n \
    | grep "$vendor_id" \
    | grep "$device_id" \
    | awk '{print $1}' )

  dev_sdx=$($MegaCommand -LDInfo -LALL -aALL \
    | grep "^Virtual Drive: $vdisk (" \
    | tr -d ")" \
    | sed 's/.*Target Id: //g')

  dev_sdx=$(ls -l /dev/disk/by-path/ \
    | grep -E "$pci_address-scsi-[0-9]:[0-9]:$dev_sdx:[0-9] " \
    | grep sd  \
    | sed 's/.*\///g')

  echo "Found /dev/ as /dev/$dev_sdx"

1

Ada alat alternatif yang disebut lsiutilyang telah dihentikan. Jika berfungsi untuk kartu Anda, mungkin lebih mudah digunakan: http://www.lsi.com/downloads/Public/Obsolete/Obsolete%20Common%20Files/LSIUtil_1.62.zip

Setelah Anda memilih kartu pengontrol Anda, opsi 42 seharusnya menampilkan nama OS. Saya menggunakan ini pada Solaris, dan disk berada dalam mode JBOD nyata, bukan sekelompok disk tunggal RAID 0 drive logis.


Saya mengunduh zip itu dan sepertinya itu tidak berfungsi untuk kartu + OS saya, sayangnya. Sepertinya saya mungkin mandek.
twblamer

1

Saya sedang meneliti untuk hal yang sama dan menemukan posting ini - http://sysadm.pp.ua/linux/monitoring-systems/python-lsi-megaraid-monitoring.html . Anda dapat menggunakan skrip python dan bash yang memberi Anda semua info yang dibutuhkan:

root@s11:~# bash megaraid.sh log

-- Array information --
-- ID | Type   |    Size |  Strpsz | Flags | DskCache |   Status |  OS Path | InProgress
c0u0  | RAID-5 |   2725G |   64 KB | RA,WT |  Default | Degraded | /dev/sda | None
-- Disk information --
-- ID   | Type | Drive Model                               | Size     | Status          | Speed    | Temp | Slot ID  | Device ID
c0u0p2  | HDD  | SEAGATE ST1000NM0001 0002Z1N4K2PY         | 930.3 Gb | Failed          | 6.0Gb/s  | 29C  | [4:2]    | 15
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.