美团网 KVM虚拟化公开课学习笔记,kvm公开课
美团网 KVM虚拟化公开课学习笔记,kvm公开课
KVM优化技术,美团开放平台--邱剑
基于KVM现有选项做一些优化,视频地址:http://www.osforce.cn/course/77/learn#lesson/80
CPU调优:
1、Context switch(用户态到内核态的优化);ring0->nernel mode,ring 3->user mode;
设置:宿主机BIOS中开启intel VT-X
2、缓存优化 Cache-Node Binding
将qemu进程绑定到特定的CPU node或者core上---避免L2/L3Cache miss
Node binding VS core binding
设置:task set
Memory调优
地址Address转换和物理空间Space优化
1、Addressing-EPT(SLAT)硬件加速
2、Addressing-HugePage 减少Page table尺寸,降低查找缓存(TLB)的Cache-miss,加速VM内存地址转换;默认PageSize为4KB/ HugePage size为2M;
Transparent hugepage:kernel进程khugepaged周期性扫描内存,自动将地址连续可合并的普通4KB page合并为2MB Hugepage.社会自方法:sysctl -w sys.kernel.mm.transparent_huge....
3、对空间的优化 Space-KSM:kernel same-page merging
kernel进程ksmd周期性扫描内存,将内容相同的Page合并,减少物理内存使用量
I/O调优:
1、Storage 2、Network间数据交换借口,简化流程
full virtualization技术无需修改Guest OS,则不存在虚拟化层和Guest OS层的特别配合导致影响效率;
virtio:半虚拟化I/O设备框架,标准化Guest和host间数据交换借口,简化流程,减少内存拷贝,提升虚拟机I/O效率
1、Storage
virtio-blk:基于virtio框架的虚拟PCI磁盘设备;
/dev/vdx
virtio-scsi:基于virtio框架的虚拟SCSI磁盘设备:/dev/sdx
缓存模式调整
Native AIO:kernel AIO 2%~3%的优化性能,命令行参数中修改;
块设备IO调度器优化(通过sysctl -w sys.block.sdb.queue.scheduler...):
Network优化:
1、virtio-net:基于virtio框架的虚拟以太网设备
vhost_net优化:内核进程vhost_XXXX
其他优化选项:
1、CPU:scheduler
2、Memory:NUMA
3、Storage:PCI-passthrough
4、Network:SR-IOV,PCI-Kernel
5、提升硬件指标--终级方案
相关问题
1、VT-X作用:context的上下文切换加速,用户态到内核态的快速切换,以提升其性能;
2、IO隔离和网络隔离QoS:IO隔离通过virtio-blk进行设定,有两种方式
网络隔离对带宽资源进行隔离;
3、Cgroup可以设置每个KVM QEMU进程或线程吗?--可以找到对应的QEMU pid,对该PID进行限制,或者用libvirt会更简单
4、美团95%以上的业务都在Openstack上;
5、基于Openswitch做带宽调整;
6、openstack中KVM的恢复机制?---snapshot方式,但占用空间较大;
7、使用千兆网络带宽,没有使用分布式文件系统
8、监控:通过在Host中通过脚本进行监控
kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。 KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
向虚拟基础架构过渡给当下的首席信息官带来了全新的挑战,即使是经验最丰富的专业人员也有着自己的担忧。抛却技术的混乱和厂商的选择不谈,对安全隐患,性能的不稳定和扩展能力等问题的担忧使得从物理机向虚拟机迁移的过程荆棘丛生。红帽公司推出的Kernel Virtual Machine (简称KVM)就是要帮助用户解除这些忧虑。 KVM是红帽公司与思杰的XenServer,微软的Hyper-V和VMware的ESX/vSphere相竞争的商业软件。像其他产品一样,KVM是一款全面虚拟化的软件。全面虚拟化意味着用KVM创建的虚拟机可以全面涵盖计算机硬件,这样在虚拟机内部运行的操作系统认为他们他们是在物理硬件上运行。内存,中央处理器,硬盘,外围设备,网络接口卡和图形适配器组成了使用全面虚拟化技术的虚拟机。我是从IT号外知道的。
评论暂时关闭