Rhel

如何從作業系統驗證 RAID 中的磁碟數量

  • February 13, 2022

我們有 Linux RHEL 伺服器 -7.6版本

在伺服器磁碟中是:

lsblk -S
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  0:2:0:0    disk DELL     PERC FD33xD      4.27
sdb  1:0:0:0    disk ATA      INTEL SSDSC1BG40 DL2B sata
sdc  2:0:0:0    disk ATA      INTEL SSDSC1BG40 DL2B sata

sdc 和 sdb 是作業系統磁碟

aboutsda是 RAID 所代表的磁碟

所以sda包括磁碟數量,但問題是如何計算 RAID 中的磁碟數量

我們嘗試了以下方法,但不確定此 cli 是否描述了 RAID 中的磁碟數量?

smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/bus/0 -d megaraid,0 # /dev/bus/0 [megaraid_disk_00], SCSI device
/dev/bus/0 -d megaraid,1 # /dev/bus/0 [megaraid_disk_01], SCSI device
/dev/bus/0 -d megaraid,2 # /dev/bus/0 [megaraid_disk_02], SCSI device
/dev/bus/0 -d megaraid,3 # /dev/bus/0 [megaraid_disk_03], SCSI device
/dev/bus/0 -d megaraid,4 # /dev/bus/0 [megaraid_disk_04], SCSI device
/dev/bus/0 -d megaraid,5 # /dev/bus/0 [megaraid_disk_05], SCSI device
/dev/bus/0 -d megaraid,6 # /dev/bus/0 [megaraid_disk_06], SCSI device
/dev/bus/0 -d megaraid,7 # /dev/bus/0 [megaraid_disk_07], SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device


lspci -vv | grep -i raid
06:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS-3 3108 [Invader] (rev 02)
       Kernel driver in use: megaraid_sas

mdadm --detail /dev/sda
mdadm: /dev/sda does not appear to be an md device


cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[0] sdc2[1]
     390054912 blocks super 1.2 [2/2] [UU]
     bitmap: 2/3 pages [8KB], 65536KB chunk

md0 : active raid1 sdb1[0] sdc1[1]
     524224 blocks super 1.0 [2/2] [UU]
     bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

lsscsi
[0:2:0:0]    disk    DELL     PERC FD33xD      4.27  /dev/sda
[1:0:0:0]    disk    ATA      INTEL SSDSC1BG40 DL2B  /dev/sdb
[2:0:0:0]    disk    ATA      INTEL SSDSC1BG40 DL2B  /dev/sdc




  cat /proc/partitions
major minor  #blocks  name

  8        0 13670809600 sda
  8       16  390711384 sdb
  8       17     524288 sdb1
  8       18  390185984 sdb2
  8       32  390711384 sdc
  8       33     524288 sdc1
  8       34  390185984 sdc2
  9        0     524224 md0
  9        1  390054912 md1
253        0  104857600 dm-0
253        1   16777216 dm-1
253        2  104857600 dm-2
253        3   10485760 dm-3



ll /sys/block/
total 0
lrwxrwxrwx 1 root root 0 Oct 17 07:27 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Oct 17 07:27 dm-1 -> ../devices/virtual/block/dm-1
lrwxrwxrwx 1 root root 0 Oct 17 07:27 dm-2 -> ../devices/virtual/block/dm-2
lrwxrwxrwx 1 root root 0 Oct 17 07:27 dm-3 -> ../devices/virtual/block/dm-3
lrwxrwxrwx 1 root root 0 Oct 17 07:27 md0 -> ../devices/virtual/block/md0
lrwxrwxrwx 1 root root 0 Oct 17 07:27 md1 -> ../devices/virtual/block/md1
lrwxrwxrwx 1 root root 0 Oct 17 07:27 sda -> ../devices/pci0000:00/0000:00:03.0/0000:02:00.0/0000:03:01.0/0000:04:00.0/0000:05:01.0/0000:06:00.0/host0/target0:2:0/0:2:0:0/block/sda
lrwxrwxrwx 1 root root 0 Oct 17 07:27 sdb -> ../devices/pci0000:00/0000:00:11.4/ata1/host1/target1:0:0/1:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 Oct 17 07:27 sdc -> ../devices/pci0000:00/0000:00:11.4/ata2/host2/target2:0:0/2:0:0:0/block/sdc


ll /sys/block/ |grep 'primary'

no output

該命令將mdadm處理 Linux 軟體 RAID 。對於硬體 RAID,例如您的 Dell PERC FD33xD / LSI MegaRAID SAS-3 3108,您將需要一個能夠使用供應商特定協議與 RAID 控制器通信以查詢資訊的工具。

不幸的是,由於該 RAID 控制器產品線的所有權已從 Symbios 轉移到 LSI 再到 Avago 再到(目前)Broadcom,因此很難從原始設備製造商處找到某些 RAID 控制器型號的管理工具。

但戴爾實際上支持perccli其品牌版本的 RAID 控制器的管理工具版本,稱為 。但是您顯然不能使用諸如“PERC FD33xD”或“LSI MegaRAID SAS-3 3108”之類的標識符來搜尋戴爾支持站點上的驅動程序:您需要包含相關 RAID 控制器的伺服器型號的名稱,或者一些戴爾不幸的是,產品名稱或支持標識符不會出現在lsblk//輸出中。lsscsi``lspci

通過一些快速的Google搜尋,“PowerEdge FD332”似乎是可能包含該 RAID 控制器的型號之一。因此,請轉到戴爾支持頁面,輸入“PowerEdge FD332”(或您的實際戴爾伺服器型號,如果適用)並選擇“驅動程序和下載”。

您將看到一個標題為“為 PowerEdge FD332 查找驅動程序”(或您選擇的任何型號)的框,其中包含四個下拉菜單。從“作業系統”下拉列表中,選擇您的作業系統,在本例中為“RedHat Enterprise Linux 7”。然後從“類別”下拉菜單中選擇“SAS RAID”。可下載的驅動程序更新列表以及靠近頂部的某個位置(目前對我來說是第一個條目!)應該是“適用於所有戴爾 HBA/PERC 控制器的 Linux PERCCLI 實用程序”。下載並安裝它:它將是一個.tar.gz包含.rpmRedHat 和其他發行版的.deb文件以及 Debian 和相關發行版的文件的軟體包。

之後,您應該在/opt/MegaCLI/perccli/目錄中擁有可用的工具,無論是perccli還是perccli64

您應該與該工具一起使用的第一個命令應該是:

/opt/MegaCLI/perccli/perccli64 /show

這將顯示已安裝的兼容 RAID 控制器並標識此工具將用於每個控制器的編號。如果只有一個 RAID 控制器,它可能是編號 0。

要從 RAID 控制器 #0 獲取實際物理磁碟的列表:

/opt/MegaCLI/perccli/perccli64 /c0 /eall /sall show all

該列表應類似於以下內容:

------------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model                  Sp 
------------------------------------------------------------------------------
252:0     7 Onln   0 465.25 GB SATA HDD N   N  512B WDC WD5003ABYX-01WERA1 U  
252:1     6 Onln   1 465.25 GB SATA HDD N   N  512B WDC WD5003ABYX-01WERA1 U  
252:2     5 Onln   2   74.0 GB SATA SSD N   N  512B INTEL SSDSC2BB080G4    U  
252:3     4 Onln   2   74.0 GB SATA SSD N   N  512B INTEL SSDSC2BB080G4    U  
------------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported

DID 列中的數字是您可以在命令中使用的數字smartctl,例如

smartctl -a -d megaraid,<DID value> /dev/sda

參考:https ://www.thomas-krenn.com/en/wiki/Smartmontools_with_MegaRAID_Controller


注意:這些工具的舊版本和/或非戴爾特定版本過去被稱為MegaCLI和/或storcli,但它們似乎隱藏在過時的 Web 連結和修訂的產品命名方案的迷宮後面。我設法找到的 Broadcom 頁面上 MegaRAID SAS-3 3108 Linux 工具的唯一連結目前指向 avago.com 中不再存在的頁面。

因此,我根據我在企業級電腦硬體方面 20 年的經驗這麼說:如果您的系統帶有硬體 RAID 控制器,請確保在最初設置伺服器時從供應商支持站點下載任何供應商特定的控制器配置工具,並保存它們。即使控制器沒有問題,也要不時檢查更新

如果產品線賣給了不同的公司,或者硬體供應商只是決定他們的支持站點需要一個新的設計,一些工具可能會失去一段時間:對於 RAID 控制器配置工具,確實要好得多擁有它們而不需要它們,反之亦然。

如果您出於任何原因計劃使用超出其供應商支持生命週期的舊伺服器型號(即使僅作為測試伺服器!),請確保在支持終止日期之前下載所有適用的供應商特定工具和驅動程序,並****存檔他們在一個安全的地方。支持結束後,下載可能會從供應商的網站上消失,而不會發出任何警告。

引用自:https://unix.stackexchange.com/questions/690465