如何修改/修復錯誤偵測到的 dmraid (FakeRaid) RAID 10 陣列

如何修改/修復錯誤偵測到的 dmraid (FakeRaid) RAID 10 陣列

我正在嘗試讓 dmraid 正確檢測現有的 RAID 10 陣列,該陣列在 Windows 7 中運作良好。

  • 2 個 SSD (120 GB),RAID 0。

    分為:180 GB (win7)58 GB (Ubuntu)

    在 Ubuntu 中均偵測並安裝良好。

  • 4 個硬碟 (2 TB),RAID 1+0。單一 4TB 分割區。

    不在ubuntu 工作。


Ubuntu 安裝本身位於分割區條帶磁碟對上,並且運作正常。這兩個分割區(180 GB 和 58 GB)對應於以下 LVM(我冒昧地格式化了資料以提高可讀性):

#$ sudo dmsetup 訊息 /dev/dm-{1,2,3,4,5}
|----------+--------+----------------+------------ +- ---------+--------|
|發展/dm-0 | ubuntu | pdc_hjijcjji |貨櫃| | 58GB|
|發展/dm-1 | ubuntu | pdc_hjijcjji1 | / | ext4 | 54GB|
|發展/dm-2 | ubuntu | pdc_hjijcjji2 | |擴充| 4.3GB|
|發展/dm-3 |贏7 | pdc_fjhhdeeg |貨櫃| | 180GB|
|發展/dm-4 | ubuntu | pdc_hjijcjji5 | |交換 | 4.3GB|
|發展/dm-5 |贏7 | pdc_fjhhdeeg1 | | ntfs | 180GB|
|----------+--------+----------------+------------ +- ---------+--------|

Raid 10 陣列(這是我需要幫助才能在 Ubuntu 中運行的陣列)由四個 2TB 磁碟組成,並提供了一個 4TB 陣列。給出以下輸出,似乎dmraid知道該數組:

#$ sudo dmraid -r
|----------+--------+------------------+--------+- --------+----------------+---------|
|設備|格式|名稱 |類型 |地位? |大小(扇區)| ? |
|----------+--------+------------------+--------+- --------+----------------+---------|
| /dev/sdf | PDDC| pdc_fjhhdeeg |條紋|好的 | 175781248 |數據@ 0 |
| /dev/sde | PDDC| pdc_fjhhdeeg |條紋|好的 | 175781248 |數據@ 0 |
| /dev/sdd| PDDC| pdc_bjibibahah-1 |條紋|好的 | 1758766336 |數據@ 0 |
| /dev/sdc| PDDC| pdc_bjibibahah-1 |條紋|好的 | 1758766336 |數據@ 0 |
| /dev/sda | PDDC| pdc_bjibibahah-0 |條紋|好的 | 1758766336 |數據@ 0 |
| /dev/sdb | PDDC| pdc_bjibibahah-0 |條紋|好的 | 1758766336 |數據@ 0 |
|----------+--------+------------------+--------+- --------+----------------+---------|

這讓我有點困惑,因為我希望陣列pdc_hjijcjji也出現在這裡。也許,因為它是條帶磁碟中的一個分割區,所以它包含在pdc_fjhhdeeg.無論如何,條帶數組運行良好,所以我不太擔心。

pdc_hjijcjji運行時出現dmraid -s

#$ sudo dmraid -s
|------------+----------------+--------------+---- - ---------|
|名稱 | pdc_bjibibahah | pdc_fjhhdeeg | pdc_hjijcjji |
|------------+----------------+--------------+---- - ---------|
| |超級組 |活動集|活動集|
|尺寸(-h)| 1.677 TB | 167.6 GB | 167.6 GB 54.0 GB |
|尺寸| 3517532672 | 351562496 | 113281024 |
|邁步| 128 | 128 128 | 128 128 | 128
|類型 |突襲10 |條紋|條紋|
|狀態 |好的 |好的 |好的 |
|子集| 2 | 0 | 0 |
|開發人員 | 4 | 2 | 2 |
|備件| 0 | 0 | 0 |
|------------+----------------+--------------+---- - ---------|
# 大小以 512 位元組區塊為單位。

其中pdc_bjibibahah似乎對應於 Raid10 陣列,只是它的大小很奇怪(1.677 TB,而不是大約 4 TB)。嘗試啟動此功能dmraid -ay會導致安裝的 1.677 TB 裝置被報告為未分配資料。

sudo dmraid -s -si在陣列上運作bjibibahah

#$ sudo dmraid -s -si
|------------+----------------+----------------+- - ----------------|
|名稱 | pdc_bjibibahah | pdc_bjibibahah-0 | pdc_bjibibahah-1 |
|------------+----------------+----------------+- - ----------------|
| |超級組 |子集 |子集 |
|尺寸(-h)| 1.638 TB | 1.638 TB | 1.638 TB |
|尺寸| 3517532672 | 3517532672 | 3517532672 |
|邁步| 128 | 128 128 | 128 128 | 128
|類型 |突襲10 |條紋|條紋|
|狀態 |好的 |好的 |好的 |
|子集| 2 | 0 | 0 |
|開發人員 | 4 | 2 | 2 |
|備件| 0 | 0 | 0 |
|------------+----------------+----------------+- - ----------------|

我嘗試過手動配置陣列,但沒有成功,而且該man頁面也沒有提供太大幫助。如果有人對如何配置有建議dmraid,或說服它更改 RAID10 陣列的配置,我將非常感激。

以下是一些相關的輸出:

$ sudo dmraid -V
dmraid版本:1.0.0.rc16(2009.09.16)共享
dmraid 庫版本:1.0.0.rc16 (2009.09.16)
裝置映射器版本:4.20.0

$ sudo dmsetup --版本
庫版本:1.02.48 (2010-05-20)
驅動程式版本:4.20.0

$ uname -srvm
Linux 3.0.0-16-generic #28-Ubuntu SMP 1 月 27 日星期五 17:44:39 UTC 2012 x86_64

$ lsb_release -a
沒有可用的 LSB 模組​​。
發行商 ID:Ubuntu
說明:Ubuntu 11.10
發佈時間:11.10
代號: 夢魘

此外,RAID10 陣列的 BIOS raid 設定與 ubuntu 中的以下磁碟相符: 程式碼:

|---------+------------+--------------|
|連接埠:ID |作業 |作業系統磁碟名稱 |
|---------+------------+--------------|
| 01:01 | 01:01 LD 1-1 | /dev/sda |
| 02:01 | 02:01 LD 1-2 | /dev/sdb |
| 03:01 | 03:01 LD 1-3 | /dev/sdc|
| 04:01 | 04:01 LD 1-4 | /dev/sdd|
|---------+------------+--------------|

更新:我忘了提及我使用的是 Crosshair V 主機板,使用內建AMD SB950控制器。

更新2:運行時sudo dmraid -s -ccs pdc我收到以下錯誤訊息:

錯誤:pdc:/dev/sdf 上 RAID 集「pdc_fjhhdeeg」[1/2] 中的裝置數量錯誤
錯誤:pdc:/dev/sde 上 RAID 集「pdc_fjhhdeeg」[1/2] 中的裝置數量錯誤
錯誤:pdc:/dev/sdd 上 RAID 集「pdc_bjibibahah-1」[1/2] 中的裝置數量錯誤
錯誤:pdc:/dev/sdc 上 RAID 集「pdc_bjibibahah-1」[1/2] 中的裝置數量錯誤
錯誤:pdc:/dev/sdb 上 RAID 集「pdc_bjibibahah-0」[1/2] 中的裝置數錯誤
錯誤:pdc:/dev/sda 上 RAID 集「pdc_bjibibahah-0」[1/2] 中的裝置數量錯誤
*呃*

如果我省略說明符 pdc,只寫sudo dmraid -s -ccs我會得到更神秘的內容:

*呃*
*呃*
*呃*

更新3:sudo dmraid -rE我已經按照建議刪除了配置錯誤的數組在這裡進行 askubuntu QA。我仍然收到“錯誤:pdc:RAID 集中的設備數錯誤...”錯誤,這似乎阻礙了進一步的進展。我將繼續尋找這個問題的解決方案。

編輯:我可以添加任何可以幫助任何人幫助我的信息嗎?

答案1

好的:)這就是你的目標:

4 x HDD (2 TB), RAID 1+0. Single 4TB partition.

看到它僅報告大約 1.6TB 左右,如此多的儲存缺失對我來說表明存在元資料問題。

我建議拆除整個數組並確保使用 擦除元資料dmraid -rE。然後,一旦這些磁碟不再出現,請嘗試用 2 個 2T 磁碟建立一個簡單的 RAID1,您的容器容量應該接近 1.8-1.9,然後是 1.6。一旦得到證實,然後創建你的條紋,它應該只是將兩者加在一起。如果這不起作用,則可能是韌體或 dmraid 系統本身存在錯誤。

dmraid 是嗯...有趣,如果可以選擇,我寧願不使用它。您基本上採用了md-raid 的所有複雜性,而沒有任何效能提升,然後混合來自不同供應商的大量不同元數據格式,然後與多個作業系統共享該元數據,並相信您共享它的操作系統with 不會破壞元資料。

在配置穩定後,您可能想要測試實際更換故障的成員,如果您無法對其進行維護,RAID 只是一個大的單點故障。祝你好運。

回應您的 dmraid -rE 問題 此時,您唯一的選擇是 dd if=/dev/zero ... 並擦除磁碟。

答案2

我有同樣的問題,我相信我終於(經過幾天的谷歌搜尋沒有得到滿意的答案)找到了問題。

我相信這是一個 BUG - 32 位元無符號整數用於某處的扇區數(dmraid?)。

請注意,(我的)2TB 磁碟上的磁區數:3906898048,乘以512B/磁區可得出2.0TB 或1.8TiB 當條帶化時,它應該加倍,但它給出:3518828800 個磁區,乘以512 B/扇區結果為1.8TB 或 1.6TiB。

考慮到 Windows 10 在該 RAID10 分割區上讀取正確的 4TB 大小,該錯誤可能出現在 Linux 端。

轉換為二進位: 3906898048 -> 0000 1110 1000 1101 1110 1000 1000 1000 0000 2x 3906898048 -> 0001 1101 0001 1011 1101 0001 0001 0000 0000 3518828800 -> 0000 1101 0001 1011 1101 0001 0001 0000 0000

可以請有人研究一下並創建補丁嗎?謝謝。

相關內容