文章目录

  • 一:虚拟化概述
    • 1:虚拟化的定义
    • 2:虚拟化的特性
    • 3:虚拟化的发展历程
    • 4:虚拟化类型
    • 5:虚拟化的特点
      • 优势
      • 劣势
    • 6:虚拟化开启前后对比
      • 开启前
      • 开启后
  • 二:KVM 概述
    • 1:KVM 的定义
    • 2:KVM 虚拟化架构/3种模式
    • 3:KVM 工作原理

一:虚拟化概述

1:虚拟化的定义

  • 通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率
  • CPU的虚拟化技术可以将单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率

2:虚拟化的特性

  1. 在一个操作系统中(win10)模拟多个操作系统(centos, win10、suse),同时每个操作系统可以跑不同的服务(nginx+tomcat),从而实现一台宿主机搭建一个集群(从整体)
  2. 通过软件/应用程序的方式,来实现物理硬件的功能

3:虚拟化的发展历程

  1. 雏形:
    1961年,IBM709机器实现了分时系统,将CPU占用切分为多个极短的时间片(1/100sec)每一个时间片执行不同的工作,通过对这些时间片进行轮询从而将一个CPU伪装成多个CPU
  2. 1972年,IBM 正式将system370机的分时系统命名为虚拟机
  3. 1990年,IBM推出的system390机支持逻辑分区(将一个CPU分为多份,相互独立,也就是逻辑分割)
  4. KVM: 2007年问世,现已内置在kernel内核中的Xen、支持的虚拟化技术:全虚拟化,半虚拟化、KVM:支持的虚拟化技术:全虚拟化

4:虚拟化类型

  1. 全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用
    使用的方法:使用hypervisor (VMM)软件,其原理是在底层硬件和服务器之间建立一个抽象层,而基于核心的虚拟机是面向Linux系统的开源产品hypervisor(VMM)可以捕捉CPU的指令,为指令访问硬件控制器和外设充当中介。
  2. 半虚拟化:需要修改操作系统
  3. 直通:直接使用物理硬件资源(需要支持,还不完善)

5:虚拟化的特点

优势

  • ①集中化管理(远程管理、维护)
  • ②提高硬件利用率(物理资源利用率低-例如峰值,虚拟化解决了“空闲”容量)
  • ③动态调整机器/资源配置(虚拟化把系统的应用程序和服务硬件分离、提高了灵活性)
  • ④高可靠(可部署额外的功能和方案,可提高透明负载均衡、迁移、恢复复制等应用环境)

劣势

  • ①前期高额费用(初期的硬件支持)
  • ②降低硬件利用率(特定场景-例如极度吃资源的应用不一定适合虚拟化)
  • ③更大的错误影响面(本地物理机down机会导致虚拟机均不可用,同时可能虚拟机中文件全部损坏)
  • ④实施配置复杂、管理复杂(管理人员运维、排障困难)
  • ⑤一定的限制性(虚拟化技术涉及各种限制,必须与支持/兼容虚拟化的服务器、应用程序及供应商结合使用)
  • ⑥安全性(虚拟化技术自身的安全隐患)

6:虚拟化开启前后对比

开启前

  • ①每台主机拥有一个操作系统
  • ②软硬件紧密结合
  • ③在同一个主机上运行多个应用程序通常会产生冲突
  • ④系统资源利用率低(例如:5%)
  • ⑤硬件成本高昂并且不够灵活

开启后

  • ①打破了操作系统和硬件的互相依赖
  • ②通过封装到虚拟机的技术,管理操作系统和应用程序为单一的个体
  • ③强大的安全和故障隔离
  • ④虚拟机时独立于硬件的,它们可以在任何硬件上运行

二:KVM 概述

1:KVM 的定义

  • (1))KVM (Kernel-based Vritual Machine)-基于内核的虚拟机
  • (2))KVM是基于虚拟化扩展的X86硬件的开源Linux原生的全虚拟化方案(要求cpu支持Inte-VT-x或AMD-V)
  • (3))KVM内嵌于内核模块中,模拟处理器和内存以支持虚拟机运行
  • (4)虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度
  • (5)虚拟机的每个虚拟CPU被实现为一个常规的Linux进程。这使得KMV能够使用Linux内核的已有功能但KVM本身不执行任何模拟。需要客户空间程序(虚拟机)通过/devlkvm(此虚拟设备需要开起硬件辅助虚拟化才能看到)接口设置一个客户机虚拟服务器的地址空间,并且由Qemu模拟I/O (ioctl)进行调度资源和维护管理

2:KVM 虚拟化架构/3种模式

  • 1、客户模式(guestoS):VM中的OS为Guestos

客户机在操作系统中运行的模式,客户机分为内核模式和用户模式,作用如下:

  • 2、用户模式

为用户提供虚拟机管理的用户空间工具以及代表用户执行lO,Qemu工作在此模式下(Qemu的主要功能)

  • 3、linux内核模式

模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

3:KVM 工作原理

  • 用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入客户模式,装载Guest 0S 并运行。Guest OS运行过程中如果发生异常,则暂停Guest 0S的运行并保存当前状态同时退出到内核模式来处理这些异常。内核模式处理这些异常时如果不需要O则处理完成后重新进入客户模式。如果需要IO则进入到用户模式,则由Qemu来处理IO,处理完成后进入内核模式,再进入客户模式

KVM 虚拟化 介绍相关推荐

  1. KVM虚拟化介绍和安装使用方法

    一.KVM虚拟化介绍 虚拟化:在一台计算机上虚拟出多个逻辑的计算机,而且每个逻辑计算机 它可以是不同操作系统 虚拟化技术:可以扩大硬件容量,单个cpu模拟出多个cpu并行, 允许一个平台上同时运行多个 ...

  2. kvm虚拟化介绍及部署

    1.虚拟化介绍 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多 ...

  3. KVM虚拟化- KVM虚拟化介绍

    1  概念 虚拟化技术 VMM (Virtual Machine Monitor) Hypervisor:虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机 ...

  4. 《Linux KVM虚拟化架构实战指南》——导读

    ** 前言 ** 越来越多的用户考虑在IT环境中实施多种虚拟化hypervisor,开源成为不错的选择.基于内核的虚拟机KVM技术逐渐流行,它由世界最大的Linux提供商红帽支持并推广,还有IBM提供 ...

  5. KVM虚拟化解决方案系列之KVM架构篇

    虚拟化是云计算的基础,在有虚拟化之前,一个物理主机上只能安装一个操作系统和运行一个核心业务程序.在有了虚拟化之后,一个物理主机上可以运行多台虚拟机,虚拟机上可以安装不同的操作系统和运行不同的核心业务程 ...

  6. 《Linux KVM虚拟化架构实战指南》——第1章 KVM虚拟化概述 1.1XEN虚拟化介绍

    本节书摘来自异步社区<Linux KVM虚拟化架构实战指南>一书中的第1章,第1.1节,作者:何坤源著,更多章节内容可以访问云栖社区"异步社区"公众号查看 第1章 KV ...

  7. KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍

    一.使用virt-manager创建和管理虚拟机 1.使用VNC Viewer连接进入虚拟化平台主机 2.打开终端输入virt-manager命令启动virt-manager虚拟机管理界面 #virt ...

  8. 云计算运营—03 KVM虚拟化技术方案介绍

    KVM虚拟化技术方案介绍 1.背景介绍 KVM(Kernel-based Virtual Machine) 开源全虚拟化方案 支持体系结构 x86(32位,64位).IA64.PowerPC.S390 ...

  9. KVM虚拟化平台介绍及搭建

    文章目录 一:虚拟化技术 1.1:虚拟化技术发展 1.2:虚拟化类型 1.3:虚拟化的特性: 优势 劣势 案例: 二:KVM: 2.1.KVM 原理简介 2.2.KVM架构及原理 2.3.KVM原理 ...

最新文章

  1. Android 编译期间 动态修改AndroidMainFest文件
  2. linux内核链表分析
  3. 类实现Parcelable接口在Intent中传递
  4. python作者龟叔_Python基础 — Python简介
  5. 1 游戏逻辑架构,Cocos2d-x游戏项目创建,HelloWorld项目创建,HelloWorld程序分析,(CCApplicationProtocol,CCApplication,AppDeleg
  6. [蓝桥杯][算法提高VIP]A Careful Approach(全排列+二分)
  7. 房奴房贷断供,房子真的会被收走吗?
  8. java ee 8 api_Java EE 8安全性API:概述
  9. Linux内核LED子系统、请务必看
  10. linux如何安装python环境变量中,Windows和linux环境下python安装及环境变量的配置
  11. android 多线程封装,Android 线程池的封装
  12. 【TI-ONE系列教程(五)】如何使用 TI-ONE SDK 玩转算法大赛
  13. 酒糟怎么处理才能喂母羊?
  14. ORB-SLAM3配置安装及运行---Ubuntu20.04(2021年)
  15. (w10)Prtsc截图键无法正常使用——解决办法
  16. MySQL数据库的恢复-mysql数据库的恢复
  17. python成语接龙代码_最全的成语接龙代码(附带有网页版)
  18. Dreamweaver开发人员工作区 标准工作区的区别
  19. ubuntu 域名解析暂时失败
  20. 手摸手带你写项目----秒杀系统(一)

热门文章

  1. 计算机找不到 bitlocker,win10中找不到bitlocker驱动器的解决方法介绍
  2. CRC校验,用于大家参考和日后查阅,内容引用github,非本人创作。
  3. PGCrypto 加密组件使用
  4. 配电站智能巡检机器人,电力智能巡检机器人
  5. 台式机:喇叭+麦克风二合一转接头DIY
  6. 自动驾驶中基于地图的视觉定位方法
  7. Linux 命令(217)—— iptables-restore 命令
  8. 小米OJ 54(数独游戏)
  9. Python中的取模运算方法
  10. linux 启动wifi