CP指令(NFS下)的效能問題 - Linux

Table of Contents


小弟最近在備份一台機器的資料,好幾T,環境是區網

遇到一些問題,想說丟出來讓大家討論一下

1.

一開始google到rsync,

rsync的好處相當多,而且那台機器的資料的確也是每天會變動的

所以rsync的特性相當的適合

但是因為資料實在太大,rsync2.X版遇到這種上T的量

會直接掛掉,在建立檔案list階段,還沒有開始傳輸就會錯誤跳出

這個問題可以在最新的3.0.7版解決,大量的資料照樣能吃

但是...非常非常慢..慢到哭,沒有實際測量,但是應該每秒幾K而已

還有一個方法啦,就是不要一次丟一整包太大的給他吃

可以分成好幾(百)次來執行,一次可能rsync部分資料夾就好

不過這樣實在很不直覺,雖然可以寫script來處理,但是..我還沒寫..XD


2.

我這樣玩了幾天rsync發現一件事,

rsync好像(也還沒有數據證實)只有一邊是空的(我準備了另一台完全空的機器),

從來源rsync到空的那邊,這種情況才會很慢,假設兩邊資料其實都差不多了

只是要rsync差異的時候,"感覺"速度還好,可以接受

因為一開始rsync雖然爆慢,但是我還是有完整rsync過部分資料

第二次rsync他們的時候,感覺就很快


3.

所以想到了另一個方法,第一次的時候先直接CP過去,等完成了之後,每天再rsync差異

我用得方法是直接用mount IP:/directoy /mnt

把來源monut到備份機上,所以這時走得應該是NFS

然後直些用CP複製要備份資料過來

沒想到,還是爆慢..這個我有量過,一秒不到2MB,雖然跟rsync比起來已經快到流淚了

但是比我預期的還慢很多,有人知道可能的原因嗎?

是NFS的關係嗎?

我想過如果用SMB不知道會不會比較快,但是稍微GOOGLE過以後

有人說SMB比NFS還慢,不知道有沒有人經驗

或是這種情況有沒有更好的方式

4.

另外

CP資料的時候是透過script觀察df -m的數字來測量的

我發現那個數字是會波動的,比如我如果量"可用空間"

理論上應該是一直遞減才對啊

但是我的log卻顯示他是會波動的

例如
123408
123405
123402
123405 <<
123405
123400
123395
123397
123395
123393
123390
123392 <<
123388
.
.
.
這個問題讓我很好奇,為什麼一直寫入資料的情況下,會是波動的?

--

All Comments

Suhail Hany avatarSuhail Hany2010-11-01
rsync 第一次很慢很正常 完全copy
Vanessa avatarVanessa2010-11-02
你的網路在區網內嗎?
Kama avatarKama2010-11-05
2M/sec 看樣子應該在區網內 我之前也有類似經驗
Damian avatarDamian2010-11-10
不過我速度沒有那麼慢,我NFS飆到30MB/s過(IDE HD瓶頸)
可以考慮搭配使用rsnapshot來使用
Caroline avatarCaroline2010-11-11
你要不要先試試看網路實際上有多快?
Lily avatarLily2010-11-15
用nc直接丟一個大檔看看
Rachel avatarRachel2010-11-18
我的話會先用ftp, mirror拷貝過去後再用rsync
Annie avatarAnnie2010-11-22
印象中NFS傳輸比SMB快一些些
Olive avatarOlive2010-11-22
會不會是你們的網路環境有問題…?
Yedda avatarYedda2010-11-22
ntfs-3g