目录
虚拟化介绍
虚拟化:在一台计算机上虚拟出多个逻辑的计算机,而且每个逻辑计算机
它可以是不同操作系统
虚拟化技术:可以扩大硬件容量,单个cpu模拟出多个cpu并行,
允许一个平台上同时运行多个操作系统,应用程序都可以在相互独立
的空间内运行,而且互不影响。
为什么企业使用虚拟化技术
1、节约成本
2、提高效率,物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest)。
那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?
这个主要是通过一个叫做 Hypervisor 的程序实现的。
Hypervisor:一种运行在物理服务器硬件与操作系统之间的中间软件层
可允许多个操作系统和应用来共享硬件资源
根据 Hypervisor 的实现方式和所处的位置,虚拟化又分为两种:
完全虚拟化:直接在物理机上部署虚拟化,且不需要修改操作系统内核
半虚拟化:需要修改操作系统内核,使其支持虚拟化驱动来实现虚拟化技术
全虚拟化
半虚拟化
kvm简介
kVM 全称是 Kernel-Based Virtual Machine。也就是说 KVM 是基于 Linux 内核实现的。
KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。
那 IO 的虚拟化,比如存储和网络设备则是由 Linux 内核与Qemu来实现。
Qemu-KVM虚拟化
KVM本身不执行任何设备模拟,需要用户空间程序QEMU通过/dev/kvm接口设置一个虚拟客户机的地址空间。
KVM和Qemu的关系
Qemu是一个独立的虚拟化解决方案,通过intel-VT 或AMD SVM实现全虚拟化,安装qemu的系统,可以直接模拟出另一个完全不同的系统环境。QEMU本身可以不依赖于KVM,但是如果有KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel-VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。准确来说,KVM是Linux kernel的一个模块。
Qemu的三种运行模式:
1.第一种模式是通过kqemu模块实现内核态的加速。
2.第二种模式是在用户态直接运行QEMU,由QEMU对目标机的 所有 指令进行翻译后执行,相当于全虚拟化。
3.第三种模式则是KVM官方提供的kvm-qemu加速模式。
qmeu的两种特点:
1.QEMU可以在没有主机内核驱动程序的情况下运行。
2.它适用于多种操作系统(GNU / Linux,* BSD,Mac OS X,Windows)和体系结构。
3.它执行FPU的精确软件仿真。
QEMU的两种操作模式:完整的系统仿真和用户模式仿真。
QEMU用户模式仿真具有以下功能:
1.通用Linux系统调用转换器,包括大部分ioctls。
2.使用本机CPU clone的仿真为线程使用Linux调度程序。
3.通过将主机信号重新映射到目标信号来实现精确信号处理。
QEMU全系统仿真具有以下特点:
1.QEMU使用完整的软件MMU来实现最大的便携性。
2.QEMU可以选择使用内核加速器,如kvm。加速器本地执行大部分客户代码,同时继续模拟机器的其余部分。
3.可以仿真各种硬件设备,并且在某些情况下,客户机操作系统可以透明地使用主机设备(例如串行和并行端口,USB,驱动器)。主机设备传递可用于与外部物理外围设备(例如网络摄像头,调制解调器或磁带驱动器)交谈。
4.对称多处理(SMP)支持。目前,内核加速器需要使用多个主机CPU进行仿真。
部署kvm
环境说明
主机名 | ip | 系统 |
---|---|---|
kvm | 192.168.111.141 | centos 8 |
内存尽量给大点,cpu虚拟化功能都勾选,虚拟计数器看情况勾选
新建分区,将硬盘所有大小都给这个分区
标签:KVM,虚拟化,kvm,内核,Linux,QEMU From: https://www.cnblogs.com/Their-own/p/16755367.html