Cinder quota 使用小结
Cinder 配额管理,以项目/租户为管理单位,管理主要分为五部分:
1. 可创建总容量 gigabytes
2. 快照总数量 snapshots
3. 卷总数量 volumes
4. 备份总数量 backups
5. 备份总容量 backup_gigabytes
Cinder client 提供的关于 quota 管理的命令行工具有:
[root@yenai ~]# cinder --help | grep quota
quota-class-show Lists quotas for a quota class.
quota-class-update Updates quotas for a quota class.
quota-defaults Lists default quotas for a tenant.
quota-delete Delete the quotas for a tenant.
quota-show Lists quotas for a tenant.
quota-update Updates quotas for a tenant.
quota-usage Lists quota usage for a tenant.
其中前两个基本是废的,可参考:
https://blueprints.launchpad.net/cinder/+spec/remove-quota-class
https://bugs.launchpad.net/python-cinderclient/+bug/1463754
关键知识点
1. cinder 中涉及 quota 管理的四个数据库表:
| quota_classes | 保存 quota_class 配额信息
| quota_usages | 保存用户的 quota 使用量信息
| quotas | 保存用户自定义的 quota 配额信息
| reservations | 保存 quota 单次操作的操作记录
2. 默认配额,即 quota-defaults,它根据 use_default_quota_class 配置不同,取值不同:
use_default_quota_class 在 /etc/cinder/cinder.conf [DEFAULT] 下进行配置:
a. 设定为 True,表示使用 quota_class 的配额作为默认配额。
目前已知的 quota_class 为 default,数据存放在 quota_classes 表中。
可通过 REST API 进行值的修改(修改完毕后直接存放在 quota_classes 表中):
API: /v2/{admin_project_id}/os-quota-class-sets/{quota_class_name}
Demo: http://10.254.4.198:8776/v2/1f6cb00bc0c54f6395b64ff7f3d0b9d0/os-quota-class-sets/default
Request Body:
{
"quota_class_set": {
"gigabytes": 30,
"backup_gigabytes": 30,
"snapshots": 30,
"volumes": 30,
"backups": 30,
"consistencygroups":30
}
}
b. 设定为 False,表示使用配置文件的设定值作为默认配额(不写入数据库)。
[DEFAULT]
use_default_quota_class = False
quota_snapshots = 10
quota_backups = 10
quota_backup_gigabytes = 10
quota_gigabytes = 10
quota_volumes = 10
修改配置后请重启 openstack-cinder-api 服务让配置生效。
3. 项目/租户实际配额优先使用用户自定义配额(quota-update),对于未进行自定义配置的项目则使用默认配额的值进行填充。
自定义配额设定(更新数据到 quotas 表):quota-update
实际配额查询:quota-show
自定义配额删除(更新数据到 quotas 表,测试发现需要使用 v1):quota-delete
实际配额使用情况查询(结合实际配额和 quota_usages 表):quota-usage
版权声明:本文为yenai2008原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。