OpenStack 物理资源问题
| Contents [hide] |
|---|
写在前面
物理CPU核数为12,能虚拟多少虚拟核的机器?openstack的默认使用nova hypersisor-stats获取到的vcpus值就是24(超线程),而虚拟内核和机器的内核数不是一一对应的。
openstack的自有设置
openstack的配置文件/etc/nova/nova.conf中有配置
#cpu_allocation_ratio=16.0
#disk_allocation_ratio=1.0
#ram_allocation_ratio=1.5
分别的都是真实内核和虚拟内核(16:1),真实内存和虚拟内存(1.5:1),真实磁盘盒虚拟磁盘(1:1)的比例,说明openstack是清楚的表示我们的vcpus应该是一个虚拟内核数,而不是计算节点的真实内核数。
解决办法
按照openstack提供的patch解决:https://review.openstack.org/#/c/93168/ 其实主要原理就是将我们的配置文件的值*真实内核,内存,得到我们的vcpu,vmemory,vdisk.
最终解决办法
没有按照官方的解决办法,因为官方的解决版本测试版本不正确。使用我们自己的解决办法。 实际解决办法: 在/usr/lib/python2.6/site-package/nova/api/openstack/compute/contrib/hypervisors.py的 245行加上:
stats['vcpus'] = int(stats['vcpus']*10)
stats['memory_mb'] = int(stats['memory_mb']*1.2
143行加上:
hyp_dict['vcpus'] = int(hyp_dict['vcpus'])*10
hyp_dict['memory_mb'] = int(hyp_dict['memory_mb'])*1.2
重启所有控制节点的nova-api服务,然后再查看结果,执行结果:
[root@node-5 nova]# nova hypervisor-show 1
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| hypervisor_hostname | node-12.domain.tld |
| cpu_info | {"vendor": "Intel", "model": "SandyBridge", "arch": "x86_64", "features": ["pdpe1gb", "osxsave", "dca", "pcid", "pdcm", "xtpr", "tm2", "est", "smx", "vmx", "ds_cpl", "monitor", "dtes64", "pbe", "tm", "ht", "ss", "acpi", "ds", "vme"], "topology": {"cores": 6, "threads": 2, "sockets": 1}} |
| free_disk_gb | 1167 |
| hypervisor_version | 1002001 |
| disk_available_least | 1105 |
| local_gb | 3667 |
| free_ram_mb | -62869 |
| id | 1 |
| vcpus_used | 125 |
| hypervisor_type | QEMU |
| local_gb_used | 2500 |
| memory_mb_used | 256512 |
| memory_mb | 193643 |
| current_workload | 0 |
| vcpus | 240 |
| running_vms | 21 |
| service_id | 25 |
| service_host | node-12.domain.tld |
+----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
可以看到,1这个计算节点的vcpus数目成了240.
OpenStack 物理资源问题的更多相关文章
- java 物理资源回收 finally与try
java垃圾回收机制不会回收任何物理资源(磁盘文件.数据库连接.网络连接),垃圾回收机制只能回收堆内存中对象所占用的内存. 方法一使用finally块,在finally块中写入资源回收代码,如下: p ...
- (资源)OpenStack IRC资源
OpenStack的IRC频道列表 如何在浏览器上进入OpenStack的频道(具体的频道可以参考前面的频道列表) 频道聊天日志和会议日志 这里我使用mIRC而不是浏览器接入IRC,OpenStack ...
- (转) Nova是如何统计OpenStack资源
引言 运维的同事常常遇到这么四个问题: Nova 如何统计 OpenStack 计算资源? 为什么 free_ram_mb, free_disk_gb 有时会是负数? 即使 free_ram_mb, ...
- 关于OpenStack的学习路线及相关资源汇总
首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...
- 部署 DevStack - 每天5分钟玩转 OpenStack(17)
本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点 创建虚拟机 按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机 安装操作 ...
- 【转】《从入门到精通云服务器》第六讲—OpenStack基础
前五期的<从入门到精通云服务器>受到了广泛好评,收到留言,有很多读者对云计算相关的技术非常感兴趣.应观众要求,我们这期要安利一条纯技术内容.准备好瓜子.花生,随小编一起进入OpenStac ...
- 初识openstack
<1>虚拟化技术的功能和特点 多个虚拟机运行在一台物理服务器上,虚拟机之间共享物理资源,虚拟机可以分别安装不同的操作系统,应用程序相互隔离. 虚拟化技术的优势:虚拟机的操作系统和应用程序不 ...
- 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)
在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...
- OpenStack 企业私有云的若干需求(3):多租户和租户间隔离(multi-tenancy and isolation)
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
随机推荐
- hdu1241 Oil Deposits
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) ...
- The Top Five Software Project Risks
Risk management (or more precisely risk avoidance) is a critical topic, but one that is often dull t ...
- PySe-002-Py-简单示例及编码设定
非常简单而又国际化的例子 Hello World!在控制台依次输入命令:python, print "This is first program %s" % "Hello ...
- Selenium2学习-015-WebUI自动化实战实例-013-通过 URL 关闭多余的已开浏览器窗口
在日常的 WebUI 自动化测试脚本执行的过程中,经常会打开不同的网页,进行相应的操作,此时可能会打开很多的网页,当打开的网页过多时,无效的网页资源对运行脚本的机器造成了过多无效的资源浪费,因而在日常 ...
- ApacheBench(ab)使用详解
ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占 ...
- Inside Kolla - 05 从 tools 目录开始
从 tools 目录开始 在上一篇中已介绍了 Kolla 的源代码目录结构和各个目录中源代码的基本作用,现在开始深入到各个目录,介绍目录中的具体内容.每个人分析代码的思路和方法不同,会选择从不同的目录 ...
- ZOOKEEPER解惑
现在网上关于ZooKeeper的文章很多,有介绍Leader选举算法的,有介绍ZooKeeper Server内部原理的,还有介绍ZooKeeper Client的.本文不打算再写类似的内容,而专注与 ...
- Java遇见HTML——JSP篇之商品浏览记录的实现
一.项目总体介绍 使用Cookie实现商品浏览记录. 要实现这个程序采取的是Model1(Jsp+JavaBean)架构实现,具体步骤: 首先要有个数据库,商品表,操作数据库的一个类DBHelper类 ...
- SQL Server 2012大数据导入Oracle的解决方案
在实际工作中需要把SQL Server中的表导入Oracle.之前尝试过直接用SQL Server的DTS进行都没问题.但这次因为数据量在千万级所以报虚拟内存不足.最后通过SQL Server导出tx ...
- scp noneed passwd
经常在不同linux机器之间互相scp拷文件,每次总是要输入密码才可行. 通过ssh-keygen生成公钥,在两台机器之间互相建立信任通道即可. 假设本地机器client,远程机器为server. 1 ...