Database

可靠地將數據庫轉儲直接寫入遠端文件系統(Linux)

  • August 14, 2015

我需要將一個非常大的數據庫 (~320 GB) 從server1移動到server2 (Linux)。由於不同的擴展版本,數據庫只能在server2 上從轉儲文件中恢復,如此所述。

問題是我在server1上沒有足夠的空間首先在那裡寫入轉儲文件,然後將其複製到server2並驗證總和。我需要一種可靠的方式將數據直接寫入server2,從而最大限度地降低損壞風險。

我試過:

  • 使用管道將轉儲從server1傳輸到server2nc
  • 將轉儲文件直接寫入server2文件系統,該文件系統使用sshfs.

兩個轉儲文件似乎都已損壞(大小明顯不同,並且在導入的不同階段與損壞相關的錯誤)。

我遷移了這樣的數據庫(但要小得多),沒有問題。任何人都可以建議一種更好、更可靠的方式來進行這種大額轉移嗎?

**更新:**嘗試了 NFS,結果相同。顯然,遠端文件系統無法處理如此大量的數據。生成的 SQL 文件中明顯缺少塊,導致導入期間出現語法錯誤。每次我嘗試時,文件的不同部分都會損壞。

先在 sever1 上掛載一個外部 NFS 共享,然後在轉儲後掛載到 server2 呢?這就是我執行 Oracle 數據庫數據泵和 RMAN 備份(類似於您的轉儲)的方式,最好的結果是將生產伺服器 (server1) 複製到測試伺服器 (server2) 並恢復備份。我們的外部 NFS 依賴於 NAS,但任何 Gnu/Linux 都可以完成這項工作,只需安裝必要的軟體包

遵循Debian 的這些步驟,並在設置共享後通過 /etc/fstab 將其安裝在 server1 和 server2 上

nfs_server:/path/to/share /server1or2filesystem/mountpoint nfs rw,hard,intr,timeo=600,actimeo=0,proto=tcp,bg,rsize=262144,wsize=262144 0 0

我從來沒有遇到過 NFS 共享上的轉儲損壞問題(除非發生連接故障),如果您再次測試 NFS 時發現損壞,您可以嘗試本地部分轉儲,以便在本地轉儲也損壞時丟棄轉儲工具上的錯誤配置。

試試AFS安德魯 FS)。該文件系統本身設計可擴展且面向網路,可以為您的問題提供良好的解決方案。如果是Ubuntu ,請使用OpenAFS。請記住,在建立可靠連接之前,它需要進行一些配置和設置。

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