硬體RAID控制器後面的硬碟資訊?
如果我執行,
smartctl -i /dev/sdb
我會得到正確的磁碟資訊,包括序列號和驅動器型號。但這是針對標記為 JBOD 的磁碟。對於n 個RAID 驅動器(在我的情況下使用 LSI RAID 卡),
dev/sda
例如,將組裝的捲呈現給 Linux,並且我創建了一個分區,該分區將具有sda1
預期的大小……相當簡單.無需關閉伺服器電源並卸下每個驅動器即可查看標籤以獲取型號和序列資訊,有沒有辦法查看已組合成虛擬驅動器的 RAID 卡後面的每個單獨磁碟,並獲取基本資訊這些 RAID 磁碟中的任何一個?
既然你提到了 LSI RAID 卡,我假設它是一個 MegaRAID 設備;在這種情況下,您可以通過執行獲取有關每個底層驅動器的資訊
smartctl -i -d megaraid,0 /dev/sda
適當替換
/dev/sda
(它應該對應於系統中可見的 RAID 驅動器的設備節點),和0
(增加它以查看每個驅動器)。手冊頁列出了支持的
smartctl
不同類型的控制器,以及用於處理它們的語法。
我想添加適用於我的特定控制器的內容。
SCSI 儲存控制器:LSI Logic / Symbios Logic SAS1068 PCI-X Fusion-MPT SAS (rev 01) 機器是戴爾 Precision 690 工作站,控制器位於主機板上。這是在 Ubuntu 18.04 64 位上
首先,如果我的方法對您不起作用,我想提一些可能會起作用的事情。
- LSI 有一個名為 lsiutil 的實用程序;
- 你可以試試 storcli - 有一些關於如何使用它的指南;
- 你可以試試戴爾的 perccli,但是它是一個 rpm 包,你必須使用 alien 命令(從 apt install alien 安裝它)並允許腳本;
- 你可以試試 megaraid,有一些指南,但我的特定控制器不是 megaraid 控制器。我認為這是一個 perc5i(不確定);
- 您可以從 Dell 或 OpenManage 工具中嘗試 racadm,但我自己從未使用過它們。
我的根 bash 歷史:我不確定需要多少(# 是我的評論)
apt install mpt-status man mpt-status #it has notes about a kernel module needed mptctl see also mptsas mpt-status #you should see the array and individual drives, if not continue modprobe mpt3sas #loads this module into the kernel modprobe sg #loads sg driver cat /proc/scsi/sg/device_strs #where X is equal to the row number of the table starting with 0 smartctl -a /dev/sgX #smartctl commands work now and /dev/sg0 for example takes the place of /dev/sda for the purposes of smartctl
lsmod 在嘗試了各種解決方案後向我展示了我載入了這些額外的模組:megaraid、mptctl、mpt3sas、mptsas、mptbase
編輯:此網頁建議 mptsas 是必要的模組:https ://wiki.debian.org/LinuxRaidForAdmins#mpt2sas
一旦你得到它的工作,請確保將模組設置為在啟動時載入。