Cinder Quota 使用小结

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版权协议,转载请附上原文出处链接和本声明。