MegaCli: तार्किक ड्राइव के लिए / dev / sd * डिवाइस नाम प्राप्त करें


16

मान लीजिए कि मुझे पता है कि मुझे जो ड्राइव चाहिए वह एडॉप्टर 8, वर्चुअल ड्राइव 0 पर है, क्या लिनक्स डिवाइस नाम (जैसे /dev/sdt) प्राप्त करने का एक तरीका है ? मैं आरएचईएल 6.2 पर हूं।

-pdlistप्रत्येक भौतिक ड्राइव के लिए एक WWN मूल्य प्रदर्शित करता है, लेकिन यह बहुत मदद नहीं करता है। -ldinfoएक WWN या किसी अन्य पहचान मूल्य को प्रिंट नहीं करता है।

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

जवाबों:


10

आपको डिस्क क्रम संख्या -pdlistकी आउटपुट से आउटपुट से तुलना करने में सक्षम होना चाहिए lshw

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

फिर lshwसीरियल नंबर के लिए आउटपुट सर्च करें । डिवाइस का नाम logical nameफ़ील्ड में होगा ।

मैं इसे सत्यापित नहीं कर सकता क्योंकि मेरे सभी डिस्क एक वॉल्यूम में हैं।

लॉजिकल ड्राइव की पहचान करना

Target Idडिवाइस के लिए scsi बस लक्ष्य के साथ MegaCLI से तुलना करें । इसमें lshwहै 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 से:

# 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
मैंने बस यह कोशिश की, लेकिन मेरे पास आईबीएम ड्राइव है और मेरे लिए ऐसा लगता है कि सीरियल नंबर के बीच कोई संबंध नहीं है जो दिखाता है -pdlistऔर जो सीरियल नंबर दिखाता है lshw। हालांकि टिप के लिए धन्यवाद।
Twblamer

यह हो सकता है कि आपका कंट्रोलर कार्ड असली सीरियल नंबर को उजागर नहीं कर रहा है और प्रत्येक डिस्क के लिए वॉल्यूम सीरियल नंबर बनाता है।
जेफ स्ट्रंक

मुझे यह जोड़ना चाहिए कि एक ड्राइव के RAID0 सरणी में कॉन्फ़िगर किए गए प्रत्येक ड्राइव के साथ एक JBOD सेटअप है। इसलिए मुझे उम्मीद है कि फिजिकल ड्राइव के सीरियल नंबर को छिपाया जाएगा, लेकिन मैं सोच रहा हूं कि क्या मुझे लॉजिकल ड्राइव के बारे में कुछ जानकारी मिल सकती है।
Twblamer

1
ऐसा लगता है कि ./MegaCli64 -AdpSetProp -EnableJBOD 1 -a0
जेबीओडी

1
केवल डिस्क दिखाने के लिए, उपयोग करें: lshw -class disk
Dan Mazzini

7

मैंने बस अपने ड्राइव के मेगाकैलिस-स्टेटस के कुछ समर्थन को तार्किक ड्राइव से ओएस नेटिव डिवाइस के मिलान के लिए जोड़ा। यहाँ एक उदाहरण आउटपुट है:

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

उपकरण स्वयं यहां उपलब्ध है: http://step.polymtl.ca/~coyote/dist/megaclisas-status/megaclisas-status

आशा है कि ये आपकी मदद करेगा,

विंसेंट


यह सेंटोस 6 पर भी बहुत अच्छा काम करता है, धन्यवाद!
स्वेनडी

2
कृपया ध्यान दें कि उपकरण को स्वीकार किया गया था और अपस्ट्रीम को मर्ज कर दिया गया था, इसलिए हाल ही के संस्करण में है: raw.githubusercontent.com/eLvErDe/hwraid/master/wrapper-scripts/…
Vincent-Cojot

वाह, यह मुझे एक सिरदर्द बचा। खूबसूरती से काम करता है। धन्यवाद
biocyberman

कोशिश की है कि लेकिन केवल ओएस पथ कॉलम में नंबर मिले
hek2mgl

कृपया किसी भी मुद्दे की रिपोर्ट करें: github.com/eLvErDe/hwraid/issues
विंसेंट एस। कोजोट

6

इस प्रश्न पर ठोकर खाने वाले और storcli(उत्तराधिकारी MegaCLI) किसी के लिए, आप ऑपरेटिंग सिस्टम द्वारा देखे गए डिस्क पर एक वर्चुअल ड्राइव मैप कर सकते हैं:

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

Https://docs.broadcom.com/docs/1.21.06_StorCLIstorcli-1.21.06 पर डाउनलोड के साथ परीक्षण किया गया


5

उपयोग करने के बजाय lshw, मुझे लगता है कि आप सिर्फ /dev/disk/by-pathscsi लक्ष्य आईडी और तार्किक डिवाइस नाम (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

छोटा एवं सुन्दर।
माइकल आर। Hines

3

मैं हाल ही में कई नए सर्वरों के साथ काम कर रहा हूं और मैं एक समाधान के साथ आया हूं ! हम "RAID" कार्ड पर RAID का उपयोग नहीं कर रहे हैं, बस SAS ड्राइव को JBOD के रूप में उपयोग कर रहे हैं। /dev/disk/by-idमैपिंग एक (या कुछ) से से बंद होती हैं SAS Address। यह विचित्र लगता है, लेकिन यह दर्जनों सर्वरों पर काम करता है जिन्हें मैंने इस पर परीक्षण किया है। मुझे स्वतंत्र पुष्टि भी मिली है कि यह दूसरों के लिए काम करता है।

मेगामैप एक छोटी पर्ल स्क्रिप्ट है जो ऊपर की खोज को लागू करती है। यह sd*मेगाड्राइव ड्राइव आईडी के लिए लिनक्स ड्राइव का नक्शा तैयार करता है और लिनक्स से डब्ल्यूडब्ल्यूएन भी प्रदर्शित करता है। थोड़ी देर के लिए उत्पादन में इसका उपयोग करने के बाद मैंने भी जोड़ा megablinkऔर megaunblink"आई फिक्स मी" ब्लिंकिंग एलईडी को नियंत्रित करने के लिए। उस सुविधा ने मुझे सर्वर से गलत ड्राइव को खींचने से बचाया है। कृपया गितूब पर बग रिपोर्ट प्रस्तुत करें ।

प्रतीक चिन्ह[छवि स्कॉट व्राबले के लिए धन्यवाद ]


मैंने megablinkउसी गिथब रेपो नामक एक उपयोगिता को जोड़ा है जो फील्ड तकनीशियन के लिए खराब ड्राइव को आसानी से ढूंढने के लिए खराब कर देगा ।
चूजों

बग रिपोर्ट और उसके बाद के सुधारों के आधार पर मैंने megamapजीथब का नया संस्करण जारी किया है ।
चूजों को

2

हैरी की कमान बहुत मददगार थी, लेकिन मुझे एक कदम और आगे बढ़ने की जरूरत थी और पीसीआई डिवाइस का निर्धारण करना चाहिए क्योंकि मेरे कॉन्फ़िगरेशन में कई एसएएस एडेप्टर हैं। लगा कि मुझे शेयर करना चाहिए:

  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

एक वैकल्पिक उपकरण है जिसे lsiutilबंद कर दिया गया है। यदि यह आपके कार्ड के लिए काम करता है, तो इसका उपयोग करना आसान हो सकता है: http://www.lsi.com/downloads/Public/Obirect/Obirect%20Common%20Files/LSIUtil_1.62.zip

एक बार जब आप अपने नियंत्रक कार्ड का चयन कर लेते हैं, तो विकल्प 42 ओएस नामों को प्रदर्शित करने वाला होता है। मैं सोलारिस पर इसका उपयोग करता हूं, और डिस्क एकल डिस्क RAID 0 लॉजिकल ड्राइव के एक गुच्छा के बजाय वास्तविक जेबीओडी मोड में हैं।


मैंने उस ज़िप को डाउनलोड किया और ऐसा नहीं लगता कि यह मेरे कार्ड + ओएस के लिए काम करता है, दुर्भाग्य से। लगता है कि मैं फंस सकता हूं।
Twblamer

1

मैं एक ही चीज के लिए शोध कर रहा था और इस पोस्ट को पाया - http://sysadm.pp.ua/linux/monitoring-systems/python-lsi-megaraid-monitoring.html । आप पाइथन और बैश स्क्रिप्ट का उपयोग कर सकते हैं जो आपको सभी आवश्यक जानकारी देते हैं:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.