我们有 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
答案1
该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
通过快速谷歌搜索,“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 控制器配置工具,确实更好拥有它们而不需要它们,反之亦然。
如果您计划使用超出供应商支持生命周期的旧服务器型号出于任何原因(即使仅作为测试服务器!),请确保下载所有适用的供应商特定工具和驱动程序在支持结束日期之前,以及将它们存档在安全的位置。支持结束后,下载内容可能会从供应商的网站上消失,而不会发出任何警告。
答案2
当你阅读时
md0 : active raid1 sdb1[0] sdc1[1]
524224 blocks super 1.0 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
在 中[2/2]
,前一个 2 是用于 RAID 的活动磁盘数量,第二个是应该处于活动状态以避免 RAID 降级的磁盘数量。