配额

警告

从 Nova 28.0.0 版本(2023.2 Bobcat)开始,nova.quota.DbQuotaDriver 已被弃用,默认配额驱动程序配置将在 29.0.0 版本(2024.1 Caracal)中更改为 nova.quota.UnifiedLimitsDriver。请参阅 统一限制文档

Nova 使用配额系统来设置资源限制,例如特定项目或用户可以使用的实例数量或 CPU 量。

可以使用命令行界面检索配额限制和使用情况。

配额类型

配额名称

描述

cores

每个项目允许的实例核心数(VCPU)。

instances

每个项目允许的实例数量。

key_pairs

每个用户允许的密钥对数量。

metadata_items

每个实例允许的元数据项数量。

ram

每个项目允许的实例 RAM 容量(兆字节)。

server_groups

每个项目的服务器组数量。

server_group_members

每个服务器组的服务器数量。

以下配额先前可用,但在 microversion 2.36 中已被移除,因为它们代理了来自网络服务的信息。

配额名称

描述

fixed_ips

每个项目允许的固定 IP 地址数量。此数字必须等于或大于允许的实例数量。

floating_ips

每个项目允许的浮动 IP 地址数量。

networks

每个项目允许的网络数量(不再使用)。

security_groups

每个项目的安全组数量。

security_group_rules

每个项目的安全组规则数量。

类似地,以下配额先前可用,但在 microversion 2.57 中已被移除,因为 personality 文件功能已被弃用。

配额名称

描述

injected_files

每个项目允许的注入文件数量。

injected_file_content_bytes

每个注入文件允许的内容字节数。

injected_file_path_bytes

注入文件路径的长度。

用法

项目配额

要列出项目的默认配额,请运行

$ openstack quota show --default

注意

此列表显示所有服务的默认配额,而不仅仅是 nova。

例如

$ openstack quota show --default
+----------------------+----------+
| Field                | Value    |
+----------------------+----------+
| backup-gigabytes     | 1000     |
| backups              | 10       |
| cores                | 20       |
| fixed-ips            | -1       |
| floating-ips         | 50       |
| gigabytes            | 1000     |
| health_monitors      | None     |
| injected-file-size   | 10240    |
| injected-files       | 5        |
| injected-path-size   | 255      |
| instances            | 10       |
| key-pairs            | 100      |
| l7_policies          | None     |
| listeners            | None     |
| load_balancers       | None     |
| location             | None     |
| name                 | None     |
| networks             | 10       |
| per-volume-gigabytes | -1       |
| pools                | None     |
| ports                | 50       |
| project              | None     |
| project_name         | project  |
| properties           | 128      |
| ram                  | 51200    |
| rbac_policies        | 10       |
| routers              | 10       |
| secgroup-rules       | 100      |
| secgroups            | 10       |
| server-group-members | 10       |
| server-groups        | 10       |
| snapshots            | 10       |
| subnet_pools         | -1       |
| subnets              | 10       |
| volumes              | 10       |
+----------------------+----------+

要列出您项目的当前设置的配额值,请运行

$ openstack quota show PROJECT

其中 PROJECT 是您的项目 ID 或名称。例如

$ openstack quota show $OS_PROJECT_ID
+----------------------+----------------------------------+
| Field                | Value                            |
+----------------------+----------------------------------+
| backup-gigabytes     | 1000                             |
| backups              | 10                               |
| cores                | 32                               |
| fixed-ips            | -1                               |
| floating-ips         | 10                               |
| gigabytes            | 1000                             |
| health_monitors      | None                             |
| injected-file-size   | 10240                            |
| injected-files       | 5                                |
| injected-path-size   | 255                              |
| instances            | 10                               |
| key-pairs            | 100                              |
| l7_policies          | None                             |
| listeners            | None                             |
| load_balancers       | None                             |
| location             | None                             |
| name                 | None                             |
| networks             | 20                               |
| per-volume-gigabytes | -1                               |
| pools                | None                             |
| ports                | 60                               |
| project              | c8156b55ec3b486193e73d2974196993 |
| project_name         | project                          |
| properties           | 128                              |
| ram                  | 65536                            |
| rbac_policies        | 10                               |
| routers              | 10                               |
| secgroup-rules       | 50                               |
| secgroups            | 50                               |
| server-group-members | 10                               |
| server-groups        | 10                               |
| snapshots            | 10                               |
| subnet_pools         | -1                               |
| subnets              | 20                               |
| volumes              | 10                               |
+----------------------+----------------------------------+

要查看 openstack quota show 命令的选项列表,请运行

$ openstack quota show --help

用户配额

注意

用户特定的配额是遗留的,将在迁移到 统一限制 完成后移除。用户特定的配额被添加为提供两级分层配额的一种方式,此功能已经在统一限制中提供。因此,以下命令尚未移植到 openstackclient,并且将来也不会移植。

要列出您的用户的配额,请运行

$ nova quota-show --user USER --tenant PROJECT

其中 USER 是您的用户 ID 或名称,PROJECT 是您的项目 ID 或名称。例如

$ nova quota-show --user $OS_USERNAME --tenant $OS_PROJECT_ID
+-----------------------------+-------+
| Quota                       | Limit |
+-----------------------------+-------+
| instances                   | 10    |
| cores                       | 32    |
| ram                         | 65536 |
| metadata_items              | 128   |
| injected_files              | 5     |
| injected_file_content_bytes | 10240 |
| injected_file_path_bytes    | 255   |
| key_pairs                   | 100   |
| server_groups               | 10    |
| server_group_members        | 10    |
+-----------------------------+-------+

要查看 nova quota-show 命令的选项列表,请运行

$ nova help quota-show