MegaCli: Mantıksal bir sürücü için / dev / sd * aygıt adını alın


16

İstediğim sürücünün Adaptör 8, Sanal Sürücü 0'da olduğunu bildiğimi varsayalım, Linux cihaz adını almanın bir yolu var /dev/sdtmı (örn. )? RHEL 6.2'deyim.

-pdlisther fiziksel sürücü için bir WWN değeri görüntüler, ancak bu pek yardımcı olmaz. -ldinfoWWN veya başka bir tanımlayıcı değer yazdırmaz.

# ./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

Yanıtlar:


10

Disk seri numarasını -pdlistile çıktısını karşılaştırabilmeniz gerekir lshw.

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

Sonra lshwseri numarasının çıkışını arayın . Cihaz adı logical namealanda olacaktır.

Tüm disklerim bir birimde olduğu için bunu doğrulayamıyorum.

Mantıksal Sürücüleri Tanımlama

Karşılaştırma Target Idcihaz için scsı otobüs hedefle MegaCli dan. In lshwöyle 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

Lshw sitesinden:

# 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
Sadece bu çalıştım ama IBM'in diskleri olan ve şovlar kadar o seri numarası arasında hiçbir korelasyon yok gibi benim için arar -pdlistve seri numarası olduğunu gösterir yukarı lshw. İpucu için teşekkürler.
twblamer

Denetleyici kartınız gerçek seri numarasını göstermiyor olabilir ve her disk için bir seri seri numarası yapıyor olabilir.
Jeff Strunk

Bu, her sürücünün bir RAID0 dizisinde yapılandırılmış bir JBOD kurulumu olduğunu eklemeliyim. Bu yüzden fiziksel sürücünün seri numarasının gizlenmesini beklerdim, ama mantıksal sürücü yapılandırmasından biraz bilgi alıp alamayacağımı merak ediyorum.
twblamer

1
JBOD adaptörde varsayılan olarak devre dışı gibi görünüyor, ancak etkinleştirebilirim:./MegaCli64 -AdpSetProp -EnableJBOD 1 -a0
twblamer

1
Yalnızca diskleri göstermek için şunu kullanın: lshw -class disk
Dan Mazzini

7

Megaclisas durum çatalıma mantıksal sürücüyü bir OS Yerel aygıtla eşleştirmek için biraz destek ekledim. İşte bir örnek çıktı:

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

Aracın kendisi şu adreste bulunabilir: http://step.polymtl.ca/~coyote/dist/megaclisas-status/megaclisas-status

Umarım bu yardımcı olur,

Vincent


Centos 6'da bile harika çalışıyor, teşekkürler!
SvennD

2
Aracın daha yeni bir sürümün kabul edildiğini ve birleştirildiğini lütfen unutmayın: raw.githubusercontent.com/eLvErDe/hwraid/master/wrapper-scripts/…
Vincent S. Cojot

Vay canına, bu bana başım ağrıyor. Güzel çalışıyor. Teşekkürler
biocyberman

Bunu denedim ama os yolu sütununda sadece sayıları var
hek2mgl

Lütfen herhangi bir sorunu bildirin
Vincent S. Cojot

6

Bu soruda tökezleyen ve storcli(ardılı MegaCLI) kullanan herkes için, sanal sürücüyü işletim sistemi tarafından görülen diske aşağıdakilerle eşleyebilirsiniz:

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

storcli-1.21.06İndirme işlemiyle test edildi: https://docs.broadcom.com/docs/1.21.06_StorCLI


5

Kullanmak yerine, lshwsadece /dev/disk/by-pathscsi hedef kimliği ve mantıksal aygıt adı (sdX) arasındaki ilişkiyi almak için kullanabileceğinizi düşünüyorum .

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

Kısa ve güzel.
Michael R. Hines

3

Son zamanlarda bir dizi yeni sunucuda bununla uğraşıyorum ve bir çözüm buldum ! RAID'i "RAID" kartında kullanmıyoruz, sadece SAS sürücülerini JBOD olarak kullanıyoruz. /dev/disk/by-idEşleştirmeleri dan biri (ya da birkaç) olarak kapalıdır SAS Address. Bu tuhaf görünüyor, ancak test ettiğim düzinelerce sunucuda çalışıyor. Bunun başkaları için de geçerli olduğuna dair bağımsız bir onay aldım .

megamap , yukarıdaki keşfi uygulayan kısa bir Perl betiğidir. sd*MegaRaid sürücü kimliğine bir Linux sürücüsü haritası oluşturur ve ayrıca WWN'yi Linux'tan görüntüler. Ben de eklendi ederken için üretimde bu kullandıktan sonra megablinkve megaunblinkyanıp sönen LED "Gelmeme düzeltme" kontrol etmek için. Bu özellik beni yanlış sürücüyü sunucudan çekmekten kurtardı. Lütfen github ile ilgili hata raporları gönderin .

logo[görüntü Scott Vrable sayesinde ]


Alan teknisyeni kolayca bulmak için kötü sürücü megablinkyanıp söner aynı github repo adlı bir yardımcı program ekledim .
civcivler

Bir hata raporu ve sonraki düzeltmelere dayanarak megamapgithub'ın yeni bir sürümünü yayınladım .
civcivler

2

Harry'nin komutu çok yardımcı oldu, ancak bir adım daha ileri gitmem ve pci cihazını belirlemem gerekiyordu çünkü yapılandırmamda birden fazla SAS adaptörü var. Paylaşmalıyım:

  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

lsiutilDurdurulan alternatif bir araç var. Kartınız için çalışıyorsa, kullanımı daha kolay olabilir: http://www.lsi.com/downloads/Public/Obsolete/Obsolete%20Common%20Files/LSIUtil_1.62.zip

Denetleyici kartınızı seçtikten sonra, seçenek 42'nin işletim sistemi adlarını görüntülemesi gerekir. Bunu Solaris'te kullanıyorum ve diskler bir grup tek diskli RAID 0 mantıksal sürücü yerine gerçek JBOD modunda.


Bu zip dosyasını indirdim ve maalesef kartım + işletim sistemim için çalışıyor gibi görünmüyor. Sıkışmış olabilirim.
twblamer

1

Aynı şeyi araştırıyordum ve bu yazıyı buldum - http://sysadm.pp.ua/linux/monitoring-systems/python-lsi-megaraid-monitoring.html . Gerekli tüm bilgileri veren python ve bash betiğini kullanabilirsiniz:

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.