Networking
限制 rsync 頻寬 nfs 複製
我們目前被迫將備份頻寬限製到我們網路之外的 nfs 磁碟(通過 VPN),因為它填滿了調製解調器記憶體,我們被迫重新啟動它以重新連接。
0 22 * * * flock rsync_wan_lock -c "rsync --rsync-path=\"nice -n5 ionice -c2 -n3 rsync\" --bwlimit 2000 -avrPq --delete-after /var/data/ /mnt/somedrive"
但這還不夠。即使認為 2000 KiB 應該是傳輸速度的 50%(我們有 30Mbps),它仍然會填滿緩衝區。
所以,我讀到 rsync 突然爆發,然後沉默以兌現 bwlimit 並且元數據仍然不兌現 bwlimit。所以我現在正在努力
trickle
。問題是我可以通過該選項找到的每個文件都用於
trickle
ssh 連接。如果我不通過複製,我-e
認為不會起作用,但他們給出了由於分叉 rsync 確實將涓流放入其中的原因。-e``ssh``--rsync-path
0 22 * * * flock rsync_wan_lock -c "rsync --rsync-path=\"nice -n5 ionice -c2 -n3 trickle -s -u 1000 -d 10000 rsync\" -avrPq --delete-after /var/data/ /mnt/somedrive"
有什麼想法/意見嗎?這個調製解調器是怎麼回事,因為什麼時候很容易溢出調製解調器?以前的防火牆上限為 10000,並且沒有遇到記憶體問題。
就您的使用者級別而言,源目錄和目標
rsync
之間沒有網路(到 NFS 伺服器的網路傳輸發生在幕後)。因此不能在這個案例中工作。另一方面,預選賽確實適用於本地轉移。/var/data``/mnt/somedrive``trickle``--bwlimit
該
ionice
選項應該會有所幫助,但是由於--rsync-path
在本地傳輸中忽略了該選項,因此嘗試在此處應用它是沒有意義的。看看這對你有什麼作用
nice -n5 ionice -c2 -n3 rsync --bwlimit 2000K -avP --delete-after /var/data/ /mnt/somedrive
請注意,您
--bwlimit 2000K
的實際速度是 20Mb/s,遠遠超過最大頻寬的 50%。