嗨,这是一个问题,可能是多余的,但我有一种预感,有一个工具可以解决这个问题-或者应该有,如果没有,我可能会成功-或者我可能找错了树,在这种情况下纠正我的想法:
但我的问题是:我正在寻找一种方法,通过中等速度的互联网连接,每周从服务器上迁移一次大型虚拟磁盘驱动器,这种解决方案必须能够限制带宽,因为互联网连接总是在使用中。
我想了想,问题是家族性的:可以移动的大文件也可以被抑制,可以很容易地在断开连接/重新连接/大文件等情况下存活下来-我熟悉的唯一完美的解决方案是种子。
有没有一种方法可以自动战略性地制作种子,并自动远程"发送"到客户端下载列表?我在Windows Hyper-V主机上工作,但我只为客人使用Linux,我可以很容易地安排客人进行复制,所以可以认为这是Windows或Linux的问题。
PS:当我移动vhd时,它们是来宾服务器的"离线"副本——可以认为它们只是20-30gig的dum文件
PPS:我宁愿避免花钱
Bittorrent是一个很好的选择,因为它可以很好地处理增量更新和连接丢失后的自动恢复。
要自动创建.torrent文件,请使用原始bittorrent包中的btmakemetainfo
脚本,或众多重写中的一个(bittorreno,…)——重要的是它是可编写脚本的。您应该注意在.torrent文件中设置"禁用DHT"标志。
你需要找到一个跟踪器,允许你跟踪带有任意哈希的文件(因为你事先不知道这些);您可以使用现有的开放跟踪器,也可以设置自己的跟踪器,但您应该注意适当地限制客户端IP范围。
这减少了传输.torrent文件的问题——为此,我通常从cronjob通过ssh使用rsync
。
对于点对点传输,torrent是一种昂贵的带宽使用。对于1:n传输,这是很好的,因为负载的分布允许客户端的上传带宽由其他客户端共享,因此带宽成本被摊销,每个人都能获得。。。
听起来你只有一个客户,在这种情况下,我会考虑不同的解决方案。。。
wget允许节流,并且如果FTP/http服务器支持恢复传输,则可以在停止的地方恢复传输。。。这就是我要使用的
您可以使用rsync(http://linux.die.net/man/1/rsync)。在man中搜索--partial选项就可以了。传输中断时,保留未完成的结果(文件或目录) 当您从本地发送到远程位置时,我不能100%确定它是否与telnet/ssh传输兼容(从未检查过),但它应该与远程端的rsync守护进程兼容您还可以使用它在两个本地存储位置进行同步。
rsync --partial [-r for directories] source destination
edit:刚刚用ssh 确认了划掉的语句