码迷,mamicode.com
首页 > 其他好文 > 详细

KVM虚拟化

时间:2020-11-26 14:17:15      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:har   系统   用户   背景   svi   模块   info   空间   qemu-kvm   

KVM 虚拟化

 

背景:

  随着硬件的设备性能越来越高,成本也越来越低廉,我们在硬件上运行一些程序跑一些业务的时候,可能会对硬件的资源造成一种浪费。这时候我们直接在硬件上采用的一些虚拟化技术,虚拟一些虚拟的机器,让业务泡在虚拟机中。方便后期的维护,迁移

 

常见的虚拟化:

Eg: 云平台     openstack 

技术图片

 

 

Hardware 是硬件

Os       系统

Hapervisor VMM 是虚拟软件

Guest OS    虚拟机

 

Os  hardware 构成一个服务器,通过hypersvisor 对他物理的资源进行虚拟化,通过hypervisor 管理创建的虚拟机

 

 

如果不需要os 的虚拟化称为 原生态虚拟化

如果以os 的虚拟化称为 寄居

 

虚拟化技术既是对资源的抽象

如果我们用虚拟化技术模拟得是底层的硬件,eg CPU 内存和外设等,这种虚拟化技术称为 “平台虚拟化”    每个平台都可以运行自己独立系统。

 

如果我们把操作系统及其提供的系统调用作为资源“操作系统虚拟化”模拟操作系统的一些应用程序和库。Egdocker 

 

 

 

 

 

平台虚拟化:

 

虚拟化管理程序Hypervisor VMM

 

在平台虚拟化中管理虚拟化的一套软件,可以允许多个操作系统和应用共享硬件

 

Hypervisor 可以以截获虚拟机的命令。让虚拟程序不去影响物理机 

 

 

根据平台虚拟化,虚拟化的划分:

 

 

 

半虚拟化:

 

利用hypervisor 可以绕过自己的虚拟硬件,通过一些系统的调用去跑一些真实的物理硬件!

 

半虚拟化体现在输入输出的设备上如网卡硬盘,对操作系统有一定的限制

 

 技术图片

 

 

 

全虚拟化   ----已经淘汰了

 

 

 

硬件辅助全虚拟化

 

有硬件底层添加的虚拟化技术的支持,上层虚拟化跑的应用子调用底层的CPU直接由底层的虚拟化去调用,不在需要中间的hypervisor 的去运行,(对CPU有要求,CPU要支持虚拟化)

 

标志:

 

Intel  支持硬件辅助虚拟化    VT-x

 

AMD  支持硬件辅助虚拟化 AMD-v

 

 技术图片

 

 

 

 

 

如何实现硬件的虚拟化的那?

 

CPU指令集进行改造

 

能在CPU上运行的东西我们称他CPU指令集,所有能在CPU上能运行得命令是分等级分环的!

 

 技术图片

 

 

 

Ring 0     内核级别的命令是运行在

 

Ring 3 用户空间的命令

 

Ring 1 ring 2 在没有运行虚拟化的时候是空闲的。

 

Ring  -1        是运行虚拟化的敏感命令如关机之类的

 

硬件辅助,中间的改造运行虚拟化都在底层的CPU上进行!

 

硬件辅助虚拟化:    linux KVM

 

 

 

 

 

可以通过lscpu 查看机器是否支持虚拟化

技术图片

 

 

技术图片

 

 

 

操作系统虚拟化与传统虚拟化

  1. 省却了虚拟硬件
  2. 省却了虚拟软件

技术图片

 

 

技术图片

 

lvm 为例:

技术图片

 

 

Kvm 实际是内核的一个模块,这个模块本身提供了CPU  与内存的模拟,借助quem-kvm 实现一个硬盘和网卡的模拟

 

我们从物理机看kvm kvm在物理机上是以进程存在

 

Libvirt  上虚拟机的一些管理命令 

 技术图片

 

 

KVM 的安装

手工去安装kvm

方法一: 通过yum install  安装包

[root@study-server ~]# yum install qemu-kvm qemu-img libvirt

技术图片

[root@study-server ~]#yum install virt-install.noarch libvirt-python.x86_64 virt-manager python-virtinst libvirt-client.i686 --skip-broken

技术图片

 

 

装软件组前三必须安装: yum groupinstall -y virt*

 

 技术图片

 

通常情况下往虚拟机拷贝文件,首先的需要虚拟机是运行开启的,

Libguestfs 支持虚拟机不开机就可以往虚拟机里拷贝文件、从虚拟机往出拷贝文件等

 

 

 通过:  lsmod | grep kvm 检查kvm 模块是否安装成功

技术图片

 

 

KVM虚拟化

标签:har   系统   用户   背景   svi   模块   info   空间   qemu-kvm   

原文地址:https://www.cnblogs.com/yk0625/p/14019374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!