I have SAS drives in RAID1. The RAID1 is done by a PERC H200 card on a Dell PowerEdge T310. This card has four sockets: 0,1,2,3. The RAID1 uses slots 0 and 1.
When inserting third disk in slot 2, the system goes on working, but the disks in slots 0 and 1 become very busy (sizzling). The disks in slot 0 and 1 are 4TB spinning at 7200 rpm, whilst the disk in slot 2 is a 600GB one at 15000 rpm.
I want to check what is happening, and make sure that RAID1 is not extended to the third disk. I also want to check that the RAID1 is correctly working for disks 0 and 1. For these reasons, I would like to dump the first track of each disk behind the RAID1 card.
The virtual disk in RAID 1 is dev/sda
. The physical disks are dev/sg1
, dev/sg2
.
Smartmontools succeeds passing through the RAID (PERC H200) card to see the disks individually:
sudo smartctl -a /dev/sg1
(respectively sg2, sg3)
But I could not dump the first sectors of each disk:
sudo dd if=/dev/sg1 of='dump_of_1st_disk.bin' bs=512 count=63
or
sudo dd if=/dev/sg1 bs=512 count=63 ¦ hexdump -C
Is the SAS controller preventing that or is something wrong with the syntax of the commands?
Is there any way to access the hexadecimal content of the drives behind the card?
Вы не можете получить прямой доступ к диску, образующему аппаратный массив RAID. Синтаксис smartctl
не предоставляет доступ к необработанным данным пользователя; скорее, он только запрашивает у контроллера значение SMART диска.
В любом случае, RAID1 не может быть автоматически расширен на меньшем диске; это просто не работает таким образом. Более того, если я правильно помню, карта на базе LSI поддерживает только двусторонний RAID1 (с n-way RAID1 не может быть и речи).