2011-12-26 82 views
3

我們即將升級我們的基礎架構並更改正在使用的操作系統(升級到RHEL5)。svn hotcopy有什麼限制?

但是,我們也會將我們的SVN存儲庫從我們當前的服務器移到新的RHEL5服務器,但我不知道我們應該如何進行此更改。 我記得讀過一次,如果我使用hotcopy命令,創建的副本只能在與執行備份的操作系統具有相同操作系統的計算機上恢復。 這是正確的嗎?即使我在RHEL4服務器上進行備份,我是否能夠恢復RHEL5服務器上的存儲庫副本?另外,如果我們也要升級我們的SVN服務器版本,我能否在備份的不同版本的SVN服務器上恢復副本?

謝謝!

回答

0

如果想要更改Subversion主機的基礎結構,hotcopy將是錯誤的選擇。你需要必須使用svnadmin轉儲過程。

舊版SVN-repos的大部分時間備份可以很容易地在新版本中恢復,但更好地閱讀所有版本之間使用和計劃之間的更新日誌。在1.5之前無法回憶任何東西,但是,FSA的AFAIR,1.5-1.7升級是透明的。

無論如何,你可以安裝老版本,將數據加載到回購和更新服務器後

地址:svn的負載可以處理場,由以前的版本創建的,沒有任何問題

+0

轉儲/重新加載對於大型回購非常*很慢。如果您使用FSFS,則將所有內容複製到新服務器是安全的。 FSFS回購是平臺和向上兼容 – 2011-12-26 15:51:34

+0

@彼得帕克我知道,但轉儲是手動編輯,畢竟 – 2011-12-27 10:57:41

+0

爲什麼你想手工編輯轉儲?!這是阻止你的轉儲文件的最好方法! – 2011-12-27 18:01:25

0

你不需要的svnadmin即時拷貝。

您對備份的記憶不正確: FSFS存儲庫與平臺無關。您可以在unix機器上或Windows機器上使用同一個存儲庫。您還可以升級服務器二進制文件而不必擔心存儲庫版本。

只要您擁有FSFS回購類型,您只需要filecopy複製所有存儲庫。 Hotcopy在大回購中速度很慢。

爲了保持一致性,您應該禁用源回購的寫訪問權限。 最簡單的方法是創建一個pre-commit hookscript這個單行:

exit 1; 

只是爲了確保: 這是不是真實BDB儲存庫以來SVN 1.3 FSFS回購類型是默認我相信你有一個FSFS倉庫。

然而,關鍵的是與檢查您的複製存儲庫的完整性:

svnadmin verify <PATH_TO_REPO> 

這您對誠信的疑慮應該消失;-)

的時間
0

99%後,你可能會逃避使用熱副本而不是轉儲。然而,你和我都知道,當熱門的副本不能工作時,很少有1%的時間是你的職業生涯將取決於它的時間。

因此,請將svnadmin dump作爲備份過程的一部分。如果執行整個存儲庫的svnadmin dump時間太長,則可以執行最近更改的svnadmin dump

我同時做一個熱副本和轉儲作爲備份。