目录 文章目录 目录 前文列表 KVM KVM 的功能列表 KVM 工具集 KVM 虚拟机的本质是什么 vCPU 的调度与性能问题 Nova 支持的 vCPU 绑定 vcpu\_pin\_set 配置项 CPU 绑定策略 前文列表 OpenStack Nova 高性能虚拟机之 NUMA 架构亲和 多进程.多线程与多处理器计算平台的性能问题 KVM KVM(Kernel-based Virtual Machine 基于内核的虚拟机)是可嵌入 Linux Kernel 的内核功能模块,与 QEMU.…
目录 文章目录 目录 写在前面 计算平台体系结构 SMP 对称多处理结构 NUMA 非统一内存访问结构 MPP 大规模并行处理结构 Linux 上的 NUMA 基本对象概念 NUMA 调度策略 获取宿主机的 NUMA 拓扑 Nova 实现的 NUMA 亲和 Nova 定义的 NUMA 对象概念 实现 NUMA 亲和的背景 操作系统发行版许可证(Licensing) CPU 拓扑对性能的影响 CPU 架构对性能的影响 超线程对性能的影响 NUMA Topology Guest NUMA Topol…
目录 文章目录 目录 前文列表 虚拟存储器系统 页式虚拟存储器 大页内存 Linux 的大页内存 大页的实现原理 大页内存配置 透明巨型页 THP 大页面对内存的影响 Nova 虚拟机的大页内存设置 实战经验 参考文档 前文列表 <多进程.多线程与多处理器计算平台的性能问题> <OpenStack 高性能虚拟机之 CPU 绑定> <OpenStack 高性能虚拟机之 NUMA 亲和> 虚拟存储器系统 在早期的计算机系统中,程序员会直接对主存储器的物理地址进行操作,这种编…
openstack nova启动时首先通过命令行或者dashborad填写创建信息,然后通过restful api的方式调用openstack服务去创建虚拟机.数据信息从客户端到达openstack服务器端. 以上的过程看不到openstack调用restful api的详细过程,如果想详细的看到restful api的过程,可以使用postman工具. postman是一个在验证restful api接口,开发过程中十分方便的工具.上篇博客中使用restful api请求token的过程. 其…
目录 目录 CPU 计算平台体系架构 SMP 架构 NUMA 结构 MMP 结构 Nova 的高性能虚拟机 Nova 虚拟机 CPU/RAM 设计的背景 操作系统许可(Licensing) 性能(Performance) NUMA Topology Guest NUMA Topology 大页内存 专用资源绑定 内存共享 PCI 设备 超线程对性能的影响 CPU 绑定 NUMA 亲和 大页内存 PCI passthrough Nova 实现 NUMA 的流程 CPU 计算平台体系架构 SMP 架…
来自:http://fishcried.com/2015-01-09/cpu_bindings/ 前一篇理解cpu topology对CPU Topology进行了学习总结,这里想总结下OpenStack下vCPU与pCPU常用的的绑定方式. 在尝试这些绑定之前,尤其是处理NUMA架构时还是建议看看前一篇文章,或者google一下相关概念,这样才能灵活自如. 使用启动参数isolcpus控制操作系统级别的CPU隔离 存在这样的一个需求,Compute节点操作系统自身与Hypervisor两个怎样…
目录 文章目录 目录 前言 演进方向 Cellv2 更新 Rocky Support disabling a cell Stein Handling a down cell Train Count quota usage from placement Nova Scheduling 更新 Rocky Complex Anti-Affinity Policies Report CPU features to the placement service Support traits in Glanc…
前面讲了很多nova restful的功能,无非是为本篇博文分析做铺垫.本节说明nova创建虚拟机的请求发送到openstack之后,nova是如何处理该条URL的请求,分析到处理的类. nova对于URL请求的处理在上一篇博文中以刻画了简化版的模型,参考该模型,能够快速理解openstack中真实的处理情景. 首先来熟悉nova的代码 openstack  nova的源码分布如下,其中比较重要的是nova文件夹,几乎所有的功能实现都是在这个文件夹下. WSGI服务器的实现. 路径:/nova/…
在前面的三篇博文中,介绍了restful和SWGI的实现.结合restful和WSGI配置就能够简单的实现nova服务模型的最简单的操作. 如下的内容是借鉴网上博文,因为写的很巧妙,将nova管理虚拟机的过程刻画十分清楚,所以想自己实现一遍,加深印象. 在上一篇博文中写的URL的对应处理函数,结果是十分简单的return 一个网页. 在openstack当中肯定不会这么简单的处理,毕竟前面的工作只是将路修好,真正的功能还未实现呢! 所以对于nova操作的模拟,要实现的是对虚拟机的增,删,改,查等…
Openstack中有时候虚拟机启动不正常,这时可以通过查看虚拟机console log能得到一些有用的信息. 有这些方法可以查看或获取虚拟机console log: 1)openstack控制台图形界面(horizon): 进入虚拟机(Instance)列表界面,选中相应虚拟机,点击Log页面即可:或点击右侧的“View Full Log”查看完整的log. 2)在虚拟机所在的compute节点上找到log文件: 通过virsh dumpxml指令,找到如下关键段: <console type…