如何從作業系統驗證 RAID 中的磁碟數量
我們有 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 是作業系統磁碟
about
sda
是 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
包含.rpm
RedHat 和其他發行版的.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 控制器配置工具,確實要好得多擁有它們而不需要它們,反之亦然。
如果您出於任何原因計劃使用超出其供應商支持生命週期的舊伺服器型號(即使僅作為測試伺服器!),請確保在支持終止日期之前下載所有適用的供應商特定工具和驅動程序,並****存檔他們在一個安全的地方。支持結束後,下載可能會從供應商的網站上消失,而不會發出任何警告。