在軟體 RAID1 的幫助下使用 dd 克隆多個 SATA 驅動器

在軟體 RAID1 的幫助下使用 dd 克隆多個 SATA 驅動器

因此,我每天都會從映像複製大量基於 Windows 的 NTFS 驅動器,並且我正在進行一個項目,該項目可能會幫助我和其他人顯著加快此過程。

我目前設定了帶有 mdadm 和 16 SATA 連接埠的 Ubuntu 17.10。這個想法是將驅動器連接到每個 SATA 端口,並同時對每個端口進行同步克隆。

如果我一次在一個驅動器上使用 dd,我可以獲得約 135MB/s(最大約 180MB/s)的結果,但一旦我開始同時克隆其他驅動器,速度就會大大降低。

dcfldd 也會發生同樣的情況,它具有能夠指定多個of=輸出的額外好處。

現在...最初我的想法是利用包含我希望立即克隆的所有磁碟機的 RAID1 陣列。然而,RAID 的架構和複製後磁碟機的可用性似乎存在一些不一致。

這是我到目前為止所嘗試過的:我可以使用 mdadm 創建多個驅動器的陣列,然後繼續運行sudo dd if=/home/clone/some_image.img of=/dev/md0 bs=4096 此過程似乎運行得非常好,並且速度結果非常出色(每個驅動器一次約 110Mb/s)。該過程完成後,驅動器似乎不包含我們剛剛寫入的資料。我的下一步是將驅動器上的超級區塊歸零,希望將它們恢復為可用驅動器,但這似乎也不起作用。

我甚至嘗試使用舊的超級區塊版本(從 1.2 到 0.9)創建一個新數組,但這會產生與以前相同的結果。

就好像驅動器只能透過 mdadm 訪問,而不管驅動器上儲存的資料如何,這使得這個想法完全失敗,儘管最初的結果是如此有希望。

所以我向您提出以下問題:有沒有辦法將映像寫入 RAID1 陣列,然後再轉回單一磁碟?是否有其他技術可以讓我獲得克隆到 RAID1 的速度優勢,但無需使用 RAID 或不需要第三方工具來安裝驅動器?

非常感謝您閱讀這篇文章。

答案1

不,這行不通。如果您有 Linux 軟體 RAID(或實際上是硬體 RAID),您將擁有所需的 RAID 外部管理結構,這會使您的磁碟無法用於您的用例。

答案2

當你克隆時單一影像對於多個磁碟,您需要確保dd同時啟動所有實例。這樣,所有讀取(除了第一次)都來自緩存,並且來源磁碟不會崩潰。

如果你正在克隆不同的影像您的來源磁碟需要變得更快並且具有較低的存取延遲。簡單的 RAID 1 或 0 可能無法解決問題。 SSD 很可能會執行此操作,或具有許多磁碟的更大 RAID。

相關內容