Solusi 1:
Anda harus dapat membandingkan nomor seri disk dari -pdlist
dengan output dari lshw
.
# MegaCLI -pdlist -a0 | grep "Inquiry Data:"
Inquiry Data: XXXXXXXXXXXXHitachi YYYYYYYY ZZZZZZ
...
Kemudian cari output dari lshw
untuk nomor seri. Nama perangkat akan berada di logical name
lapangan.
Saya tidak dapat memverifikasi ini karena semua disk saya ada dalam volume.
Mengidentifikasi Drive Logis
Bandingkan Target Id
dari MegaCLI dengan target bus scsi untuk perangkat. Di lshw
itu adalah 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: [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
Solusi 2:
Saya baru saja menambahkan beberapa dukungan ke fork of megaclisas-status saya untuk mencocokkan drive logis ke perangkat OS Native. Berikut ini contoh keluaran:
$ 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
Solusi 3:
Bagi siapa pun yang menemukan 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.06
unduh di:https://docs.broadcom.com/docs/1.21.06_StorCLI
Solusi 4:
Alih-alih menggunakan lshw
, saya pikir Anda bisa menggunakan /dev/disk/by-path
untuk 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
Solusi 5:
Saya telah berurusan dengan ini di sejumlah server baru baru-baru ini dan saya menemukan solusi ! Kami tidak menggunakan RAID pada kartu "RAID", hanya menggunakan drive SAS sebagai JBOD. /dev/disk/by-id
pemetaan dimatikan oleh satu (atau beberapa) dari SAS Address
. Ini tampak aneh, tetapi berfungsi di lusinan 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 ID drive MegaRaid dan juga menampilkan WWN dari Linux. Setelah menggunakan ini dalam produksi beberapa saat, saya juga menambahkan megablink
dan megaunblink
untuk mengontrol LED berkedip "ayo perbaiki saya". Fitur itu telah menyelamatkan saya dari menarik drive yang salah dari server. Kirimkan laporan bug di github.
[ gambar berkat Scott Vrable ]