Nfs
遷移 NFS 伺服器 (Linux)
我們有一個 NFS 伺服器 (Linux),它將文件儲存在 iSCSI 磁碟陣列中。此伺服器正在生產中。伺服器和陣列非常舊,必須盡快更換(陣列已經出現嚴重問題)。
我在不同的網路中準備好替換伺服器和陣列。
我一直在考慮重新同步共享,然後再做一次,以便同步數據。我不知道這是否會導致數據不一致…由於共享是安裝在 lvm 上的,也許我可以先製作快照?
問題:
遷移所有數據的最佳方法是什麼?你有什麼建議嗎?
如果您計劃在第二次 rsync 之前禁用對數組的寫入,您的方法很好。這將(應該)導致一個乾淨的副本。
根據情況,為了最大限度地減少停機時間,請執行三重 rsync:
- 在源伺服器按原樣執行時 rsync 文件系統。這將需要一些時間並獲得粗略的副本,可能會有很多不一致之處。
- (可選)如果 #1 需要很長時間並且您同時有很多寫入,請在源伺服器仍按原樣執行的情況下再次 rsync。此步驟將花費更少的時間,因此您可以獲得更好的副本(執行時發生的寫入更少)。
- 停止寫入源節點。最好的方法是將它安裝為只讀,正如石頭所建議的那樣。但是關閉服務或使用單使用者模式也可以。
- 最後一次同步它。這次應該會比較快。不應該有很多不一致的地方(第 2 步比第 1 步短得多),所以沒有太多需要同步的地方。
- 進行檢查並啟動新伺服器來代替舊伺服器。
不過有幾點需要注意:
- 如果您有很多小文件(數百萬),那麼每次 rsync 無論如何都需要一些時間。(慢速線路、慢速/降級儲存等也是如此)
- 如果您的源儲存已經出現問題(驅動器故障或其他可能導致卷變得不可讀的問題),請從 #3 開始。您將獲得很長的停機時間,但您可以將中間傳輸失敗的風險降到最低。
- 我剛剛想到了 rsync 整個設備的瘋狂想法,文件系統駐留在上面。如果目標大於源,這可能會起作用。但我不建議這樣做,因為我自己沒有嘗試過。