云平台、虚拟化与容器:Hypervisor、KVM、QEMU、Libvirt、Docker、OpenStack

【Hypervisor】
Hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也可叫做VMM(virtual machine monitor),即虚拟机监视器。

Hypervisors是虚拟环境中的根操作系统,可以访问服务器上包括磁盘和内存在内的所有物理设备。不但协调着这些硬件资源的访问,而且在各虚拟机之间施加防护隔离。当服务器启动并运行Hypervisor时,它会加载所有虚拟机的操作系统并给每一台虚拟机分配内存、CPU、网络和磁盘资源。

不管是KVM完全的虚拟化,还是XEN准虚拟化,都要有这个Hypervisor中间层。但基于容器的虚拟化技术不依赖Hypervisor。

【KVM】
KVM(Kernel-Based Virtual Machine)是基于内核的虚拟化。它其实是Linux内核的一个可加载模块,通过调用Linux内核自身的功能,实现对CPU和内存的虚拟化。这是一种完全的虚拟化,需由CPU硬件(如Intel-VT,AMD-V)支持。

功能上KVM主要负责vCPU的创建、虚拟内存的分配、vCPU寄存器的读写以及vCPU的运行。但仅有KVM还是不够的,用户无法直接控制内核去做事情。它只提供接口,至于怎么创建虚拟机,分配vCPU等并不在它上面进行。因此还必须有一个运行在用户空间的工具才行。于是KVM的开发者基于成熟的可独立使用的另外一套完整的虚拟化软件QEMU进行修改整合,最后形成了QEMU-KVM。

在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间。QEMU将CPU指令的部分交给内核模块来做,进而通过KVM实现CPU和内存的虚拟化。其他硬件设备(磁盘,网卡,显卡等)仍然通过QEM

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值