解決策 1:
-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: [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
解決策 2:
論理ドライブを OS ネイティブ デバイスに一致させるために、megaclisas-status のフォークにいくつかのサポートを追加しました。出力例は次のとおりです:
$ 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 で入手できます
これがお役に立てば幸いです。
ヴィンセント
解決策 3:
この質問につまずいて 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
storcli-1.21.06
でテスト済み ダウンロード:https://docs.broadcom.com/docs/1.21.06_StorCLI
解決策 4:
lshw
を使用する代わりに 、 /dev/disk/by-path
を使用できると思います SCSI ターゲット ID と論理デバイス名 (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
解決策 5:
最近、多くの新しいサーバーでこれに対処しており、解決策を思いつきました ! SASドライブをJBODとして使用するだけで、「RAID」カードでRAIDを使用していません。 /dev/disk/by-id
マッピングは SAS Address
から 1 つ (または数個) ずれています。 .これは奇妙に思えますが、私がテストした数十のサーバーで動作します。また、これが他の人にも有効であるという独立した確認を受け取りました.
megamap は、上記の発見を実装する短い Perl スクリプトです。 Linux ドライブ sd*
のマップを生成します MegaRaid ドライブ ID に変換し、Linux からの WWN も表示します。これを本番環境でしばらく使用した後、 megablink
も追加しました そして megaunblink
"com fix me" 点滅 LED を制御します。この機能により、間違ったドライブをサーバーから引き抜くことがなくなりました。 github でバグ レポートを送信してください。
[画像は Scott Vrable に感謝します]