Swift 大文件问题

大文件问题

官方在线文档:http://docs.openstack.org/developer/swift/overview_large_objects.html

 

传输超过5G的大文件时,需要使用-S参数,指定将大文件分块存储,-S 指明了分块的大小。例如:swift –V 2.0 –A http://localhost:5000/v2.0-U admin:admin -K adminpasswd upload test-container –S 1073741824 big_file

 

这个命令将文件big_file分块传输,块的大小为1073741824字节,也就是1G。假如big_file大小为10G,那么客户端(这里指python-swiftclient)会将文件切分为10块,而且可以并行上传这些分块。

 

问题一:从上面的命令中可以看出,提供认证的keystone服务和swift部署在了同样一台服务器上,在upload阶段,swift的account server会与keystone交互,大文件分块并行上传时,本地服务器带宽几乎被占满,很容易造成account server与keystone服务器交互发生超时,使得大文件上传失败。(proxy日志中可看出)

解决思路:部署时将keystone和swift分开,keystone和swift的proxyserver之上都加一层负载均衡。

 

 

问题二:swift的data目录下,有一个tmp目录,用来临时保存上传的文件。问题一中的认证超时会造成若干文件块上传失败,失败后swift并不会将tmp目录清空,与这次未成功的上传相关的临时文件没有被删除,这可能导致服务器存储空间的大量浪费。

解决思路:改进swift object server

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值