Software-Raid

如何raid-mirror現有的根分區?

  • March 10, 2011

我想將 SSD 上現有的根(也是唯一的)分區鏡像到另一個磁碟。它應該是一種 RAID-1,只是不對稱的*。我知道有選項mdadm --write-behind,應該這樣做。

但我不知道是否可以保留現有分區的上下文。我想像

  • 創建“從屬”分區
  • 設置 RAID 告訴它從屬分區未初始化
  • 讓它通過複製主分區來初始化它

但我可能太樂觀了,不是嗎?


  • 所有讀取都應訪問第一個磁碟,寫入第一個磁碟時應視為已完成。

您可以從現有分區開始創建 mdraid RAID-1 陣列。首先,您需要為 mdadm 超級塊騰出空間,這意味著您需要稍微縮小文件系統。

目前,正常的超級塊格式是0.9。它的位置在分區末尾的 128kB 和 60kB 之間,長度為 4kB,並且從一個 64kB 的倍數的地址開始。因此,將您的文件系統縮小 128kB,或更準確地說,縮小為 ((device_size mod 64kB) - 1) * 64kB。

如果您希望每個條帶超過 2TB,則需要1.0 超級塊格式,所有發行版尚不支持開箱即用。1.0 超級塊位於設備的末尾,我理解這意味著您只需要將文件系統縮小 8kB。

現在您已經縮小了文件系統,您可以創建數組。首先使用現有數據創建一個降級數組。確保此時未安裝文件系統。對於您的案例,寫入意圖點陣圖必須位於單獨的分區上。用於-e 1.0使用較新的 version-1 超級塊格式。

mdadm --create /dev/md0 -e 0.9 -l 1 -n 2 \
     --write-behind=256 --bitmap=/path/to/bitmap /dev/sda1 missing

現在您可以將文件系統掛載到/dev/md0. 隨意添加第二張磁碟。數據將在後台複製到新驅動器。

mdadm --add /dev/md0 --write-mostly /dev/sdb1

我已經創建了一個像這樣的鏡像數組,但沒有後寫模式。我不認為後寫模式會使程序無效。

引用自:https://unix.stackexchange.com/questions/8980