1. 前言
安装完openstack之后,为了对资源的限制,openstack内置了几种配额机制:nova计算资源的配额,cinder存储资源的配额,neutron网络资源的配额,防止资源的分过分配,默认的quota配置很低,比如nova默认只允许建立10个instance。未能能够正常使用openstack系统资源,需要调整quota的配置。本文主要讲述nova的配额修改,关于cinder和neutron的配额修改,请参考后续的的博文。
2. nova默认的配额
nova默认的配额定义在/etc/nova/nova.conf中,初始用户创建之后,会集成该配置中的配额选项,nova的配额条目定义内容如下:
[root@controller ~]# vim /etc/nova/nova.conf quota_driver=nova.quota.DbQuotaDriver nova配额使用的驱动,参考里面可以查看到配额源码的实现 max_age=0 利用率刷新的时间间隔 quota_instances=10 instance个数 quota_cores=20 vcpus的个数 quota_ram=5120000 内存显示,单位是MB quota_floating_ips=10 floating-ip的个数 quota_fixed_ips=-1 fixed-ip的个数 quota_metadata_items=128 metadata的个数 quota_injected_files=10 注入文件个数 quota_injected_file_content_bytes=10240 每个注入文件的大小 quota_injected_file_path_bytes=255 注入文件路径长度 quota_security_groups=10 安全组的个数 quota_security_group_rules=20 每个安全组中的规则 quota_key_pairs=100 keys的个数 查看默认的quota: [root@controller ~]# nova quota-defaults --tenant compayA #最好用uuid的方式表示 +-----------------------------+---------+ | Quota | Limit | +-----------------------------+---------+ | instances | 10 | | cores | 20 | | ram | 1572864 | | floating_ips | 10 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 10 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+---------+
3. 修改nova的配额
1. 获取tenant的uuid号码 [root@controller ~]# keystone tenant-list +----------------------------------+----------+---------+ | id | name | enabled | +----------------------------------+----------+---------+ | 842ab3268a2c47e6a4b0d8774de805ae | admin | True | | 7ff1dfb5a6f349958c3a949248e56236 | companyA | True | #uuid号码 | 10d1465c00d049fab88dec1af0f56b1b | demo | True | | 3b57a14f7c354a979c9f62b60f31a331 | service | True | +----------------------------------+----------+---------+ 2. 修改nova的配额 [root@controller ~]# nova quota-update --instances 50 --cores 200 --ram 204800 --floating-ips 50 --fixed-ips -1 --metadata-items 256 --injected-files 2 --key-pairs 10 --security-groups 10 --security-group-rules 20 7ff1dfb5a6f349958c3a949248e56236 #没有设置的内容,将会从default中继承 3. 校验nova的配额 [root@controller ~]# nova quota-show --tenant 7ff1dfb5a6f349958c3a949248e56236 +-----------------------------+--------+ | Quota | Limit | +-----------------------------+--------+ | instances | 50 | #instance | cores | 200 | #vcpus | ram | 204800 | #memroy | floating_ips | 50 | #floating-ip | fixed_ips | -1 | | metadata_items | 256 | | injected_files | 2 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 10 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+--------+ @@@修改完毕@@@@
4. 总结
nova的配额在使用过程中,当quota达到限制之后,将无法建立虚拟机,关于报错信息,可以在nova的日志/var/log/nova/nova-api.log中查看到,具体不赘述,在运维的过程中,查看下日志即可获知是磁盘配额导致,修改tenant的配额即可。关于cinder和neutron的配额,请参考后续的博客。
本文出自 “Happy实验室” 博客,转载请与作者联系!
openstack运维实战系列(五)之nova quota调整
原文地址:http://happylab.blog.51cto.com/1730296/1736793