我有 RAID1 中的 SAS 驱动器。RAID1 由 Dell PowerEdge T310 上的 PERC H200 卡完成。此卡有四个插槽:0、1、2、3。RAID1 使用插槽 0 和 1。
在插槽 2 中插入第三块磁盘时,系统继续工作,但插槽 0 和 1 中的磁盘变得非常繁忙(嘶嘶作响)。插槽 0 和 1 中的磁盘是 4TB,转速为 7200 rpm,而插槽 2 中的磁盘是 600GB,转速为 15000 rpm。
我想检查发生了什么,并确保 RAID1 未扩展到第三个磁盘。我还想检查 RAID1 是否在磁盘 0 和 1 上正常工作。 出于这些原因,我想转储 RAID1 卡后面每个磁盘的第一个磁道。
RAID 1 中的虚拟磁盘是dev/sda
。物理磁盘是dev/sg1
。dev/sg2
Smartmontools 成功通过 RAID(PERC H200)卡单独查看磁盘:(
sudo smartctl -a /dev/sg1
分别为 sg2、sg3)
但我无法转储每个磁盘的第一个扇区:
sudo dd if=/dev/sg1 of='dump_of_1st_disk.bin' bs=512 count=63
或者
sudo dd if=/dev/sg1 bs=512 count=63 ¦ hexdump -C
SAS 控制器是否阻止了这种情况发生,或者命令的语法是否有问题?
有什么方法可以访问卡后面驱动器的十六进制内容吗?
答案1
您不能直接访问组成硬件 RAID 阵列的磁盘。smartctl
语法不是授予对原始用户数据的访问权限;相反,它仅向控制器询问磁盘的 SMART 值。
无论如何,没有 RAID1 可以在更小磁盘;它根本不以这种方式工作。此外,如果我没有记错的话,基于 LSI 的卡仅支持 2 路 RAID1(n 路 RAID1 则不予支持)。