抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

学习虚拟化及其技术KVM。

虚拟化

虚拟化是云计算的基础。

虚拟化让一台物理机可以运行多个虚拟机,共享物理机的CPU、内存、IO,但是在逻辑上虚拟机之间是相互隔离的。

注:宿主机Host,虚拟机(客户机)Guest。

通过Hypervisor程序来实现虚拟化。目前有两种虚拟化(1型虚拟化、2型虚拟化)

1型虚拟化

Hypervisor直接安装在物理机。多个虚拟机在Hypervisor上运行。(采用此模式有Xen和VMWare的ESXi)

image-20200618232629233

2型虚拟化

物理机上安装常规操作系统(Linux、MacOS、WIndows)。Hypervisor作为OS的一个程序运行,并对虚拟机进行管理。(采用此模式有KVM、VirtualBox和VMWare Workstation)

image-20200618233021103

1型与2型虚拟化比较

1型虚拟化对硬件虚拟化功能进行了优化,性能比2型好。

2型基于普通操作系统,比较灵活,比如支持虚拟机嵌套。

KVM

KVM(Kernel-Based Virtual Machine)是基于Linux内核实现的。KVM是x86平台运行最广泛的虚拟化方案,且OpenStack对KVM支持很好。KVM有个内核模块叫kvm.ko,用于管理虚拟CPU和内存,Linux内核和Qemu来管理存储和网络设备。

KVM管理工具Libvirt

作为KVM的管理工具Libvirt除了可以管理Hypervisor(KVM),还能管理Xen、VirtualBox。

注:OpenStack底层也使用Libvirt。

Libvirt三模块

模块 说明
后台daemon程序libvirtd 服务程序,接收和处理API请求
API库 开发基于Libvirt的高级工具(图形化KVM管理工具virt-manager)
命令行工具virsh KVM命令行工具

注:virsh和virt-manager工具在后面会学习。

评论