Openstack Swift Quotas

wift组件是Openstack的对象存储(Object Storage)解决方案。在早期的版本中,swift对于配额是没有限制的,不能够对不同用户所使用的空间进行限制。后来出现了开源的中间件 swquota(https://github.com/cschwede/swquota)可以对swift做出配额的限制,如今在2013年4月发布的Grizzly版本Openstack中,swift(1.8.0)集成了swquota中间件,以下是对此功能的初步探究。

在新版本的swift中的配额主要体现在Container Quotas与Account Quotas两个功能上,分别是对Container和Account上传文件的大小、个数等方面进行限制,需要使用此功能首先要在/etc/swift/proxy-server.conf文件中进行配置,修改完后重启swift服务:

1.在keystone中创建ResellerAdmin角色.

keystone role-create --name ResellerAdmin

2.把admin分配给此角色

keystone user-role-add --user=admin --tenant=admin --role=ResellerAdmin

3.修改[pipeline:main]

[pipeline:main]

pipeline = catch_errors healthcheck cache ratelimit authtoken keystoneauth account-quotas container-quotas proxy-logging proxy-server


#2.加入[filter:container-quotas]与[filter:account-quotas]
[filter:container-quotas]
use = egg:swift#container_quotas
[filter:account-quotas]
use = egg:swift#account_quotas


配置重启完毕,

使用admin为test租户设置限额,test租户的url地址为:http://192.168.26.69:8080/v1/AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989

swift -V 2 -A http://192.168.26.69:5000/v2.0 -U admin:admin -K ADMIN_PASS --os-storage-url=http://192.168.26.69:8080/v1/AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989 post -m quota-bytes:100000000


查看test租户的元数据.

swift stat

   Account: AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989
Containers: 12
   Objects: 79
     Bytes: 76559661
Meta Quota-Bytes: 100000000
X-Timestamp: 1387874777.22459
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes



Container_Quotas:

1. X-Container-Meta-Quota-Bytes -- 目标container可上传的最大字节数

2. X-Container-Meta-Quota-Count -- 目标container可上传的最大文件个数

Account_Quotas:

1. X-Account-Meta-Quota-Bytes -- 单个上传最大字节数

2. Quota-Byes -- 1必须配合2才能有效果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值