Storage

將 zpool 遷移到新的 SAS 控制器

  • April 14, 2011

很久以前,我們購買 Adaptec 31605 的印像是:a) 它可以做真正的 JBOD,b) 它在 OpenSolaris 上得到很好的支持。事實證明,這兩個都是不正確的。我正在嘗試將我的 zpool 安裝到 NexentaStor Enterprise OS 上,但要做到這一點,他們希望我們將控制器換成 LSI SAS 9201-16i。

我正在嘗試找出廉價遷移池的最佳方法。目前的 zpool 在 14 個 SAS 驅動器上使用了大約 1TB。我能想到的最好的是:

  1. 離線系統
  2. 在板載 SATA 埠上設置 3 個 1TB 消費級 SATA 驅動器作為臨時 zpool
  3. zfs 將所有數據發送到臨時池
  4. 交換控制器並在 LSI 適配器上建構新的 zpool
  5. zfs 從臨時池發送到新的 zpool
  6. 線上系統

我在這裡遺漏了什麼,或者有更好的方法來做這件事嗎?

如果我走這條路,我預計該過程需要多長時間?我的初步計算告訴我,以 100MBps 傳輸 1TB 大約需要 3 個小時。我可以在消費級驅動器上使用 zfs send/recv 獲得這種吞吐量嗎?

你的計劃看起來不錯,我想你不會有任何麻煩。您提到了臨時池的三個 1TB 磁碟。我假設您計劃使用單奇偶校驗 raidz(可用 2TB),但我建議您考慮使用一對 1.5 或 2TB 磁碟的鏡像。這樣,當遷移完成時,每個磁碟都有一個完整的池備份。非常適合在發生災難性故障時放入保險箱。至於速度,我在兩個 2TB SATA 磁碟的鏡像池上獲得 90-130MB/秒,所以你的 3 小時/TB 數字(~100MB/秒)聽起來很合理。如果您像我一樣偏執,您可能還想在重新格式化 SAS 磁碟之前清理臨時池。

一旦切換到讓 ZFS 在沒有控制器抽象層的情況下處理整個磁碟,草就真的更綠了。您可以比較具有相同磁碟的多個控制器的性能,甚至可以在硬體出現故障時將磁碟連接到新系統。我什至使用原始設備映射暫時將一個 zfs 池導入到 VMWare ESXi 下的虛擬機中,毫無意義,它只是起作用了。

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