%20%E6%8E%A7%E5%88%B6%E5%99%A8%E5%BE%8C%E9%9D%A2%E7%9A%84%20SAS%20%E7%A3%81%E7%A2%9F%E6%A9%9F%E9%80%B2%E8%A1%8C%E5%8D%81%E5%85%AD%E9%80%B2%E4%BD%8D%E8%BD%89%E5%84%B2%E5%97%8E%EF%BC%9F.png)
我的 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,轉速為 15,000 rpm。
我想檢查發生了什麼,並確保 RAID1 沒有擴展到第三個磁碟。我還想檢查磁碟 0 和 1 的 RAID1 是否正常工作。 由於這些原因,我想將每個磁碟的第一個磁軌轉儲到 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是不可能的)。