Linux

重啟後md設備路徑錯誤

  • November 7, 2013

我必須在 Ubuntu 伺服器 12.04 上設置軟體 raid (level1)。它應該通過 Samba 提供網路中的文件。伺服器有以下磁碟:

  • 250gb Sata 硬碟(Ubuntu 安裝在該驅動器上)
  • 2 TB SATA 硬碟(raid 陣列中的第一個磁碟,數據磁碟)
  • 2 TB SATA 硬碟(第二個數據盤)

我在每個數據磁碟上創建了一個分區,類型為 Linux raid autodetect。在第二步中,我使用以下命令創建了 raid1:

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

之後,我將數組添加到 mdconf:

mdadm --examine --scan >> /etc/mdadm/mdadm.conf 

問題是:重新啟動後,陣列在路徑 /dev/md0 上不可用。相反,它被重新組裝為 /dev/md/0 但它不是很可靠。有沒有人解決這個問題?

我記得 md0 不斷以不同的設備名稱出現。

答案是在設置 mdmadm.conf 之後,執行update-initramfs -u which 基本上將 mdmadm.conf 複製到初始 ramdisk,以便下次重新啟動後它會工作。

檢查您/etc/mdadm/mdadm.conf 的設備,它應該在該文件中指定。您可以更改該文件並使 raid 卷以不同的方式出現。你可能有一條看起來像這樣的線..

ARRAY /dev/md/0 metadata=1.2 UUID=7d2bf7e5:dc6edd5c:3ca12e46:8c9e5d4b

這意味著 mdadmin 設備/dev/md/0將由所有具有 RAID 元數據的設備組成,將它們標識為UUID=7d2bf7e5:dc6edd5c:3ca12e46:8c9e5d4b.

只要您不更改 mdadm.conf,該 RAID 卷幾乎總是/dev/md/0. 在我見過的任何發行版上,它都不會發生不可預測的變化。

使用較新的 1.2 元數據,您還可以為 RAID 卷分配邏輯名稱。

所以在我的系統上,我在我的捲上設置了一個名稱,並像這樣配置了我的 mdadm.conf。在我看來,這些邏輯名稱使卷更容易移植到其他系統,此外,由於該名稱作為元數據的一部分儲存,因此如果您為數組分配有意義的名稱,則更容易辨識事物是什麼。

ARRAY name=zoredache:3tb-r1-vol1
ARRAY name=zoredache:3tb-r1-vol2

這些設備以/dev/md/3tb-r1-vol1和的形式出現/dev/md/3tb-r1-vol2

引用自:https://serverfault.com/questions/551204