KVM

1.1 在认识虚拟化之前,聊聊在业务中,我们想要实现什么?

1.      满足性能前提下,保证业务稳定可靠,其次是安全性

2.      最大程度的平衡调度资源,提高资源的利用率,节省成本

3.      灵活快速,可以针对并发数量对架构实现动态伸缩

4.      扩展灵活的机柜,集群

5.      管理方便,平台化,自动化(puppet;ansible;saltstack;shell;python;)

6.      磁盘IO:硬件是高性能的---HBA,RAID,SAN(光纤,以太网),软件上高性能的---缓冲;缓存

7.      网络吞吐(带宽大小)和发包---tcpdump

第2章 虚拟化的概念

在计算机技术中,虚拟化或者虚拟技术是一种资源管理技术,是将计算机的各种实体资源如CPU;内存;磁盘空间;网卡等予以抽象,转换后呈现出来并可供分区,组合成多个×××配置环境

简单一句话计算存储网络都变成软件就是虚拟化

1.1 为什么要使用虚拟化?

1.      是同一台物理机运行多个不同版本的应用软件

2.      硬件依赖性较低和便于数据迁移

3.      提高资源利用率

1.1 虚拟化技术有哪些优势?

Ø  降低运行成本

服务器虚拟化降低了IT基础设施的运营成本,令系统管理员摆脱了繁重的物理服务器,OS.中间件及兼容性的管理工作,减少人工干预频率,使管理更加强大,便捷

Ø  提高应用兼容性

服务器虚拟化提供的封装性和隔离性使大量应用独立运行与各种环境中,管理人员不需要根据底层环境调整应用,只需构建一个应用版本并将其发布到虚拟化后的不同类型平台上即可

Ø  加速应用部署

采用服务器虚拟技术只需输入激活配置参数,拷贝虚拟机,启动虚拟机,激活虚拟机即可完成部署,大大缩短了部署时间,免除人工干预,降低了部署成本

Ø  提高服务可用性

用户可以方便的备份虚拟机,在进行虚拟机动态迁移后,可以方便的恢复备份,或者在其他物理机上运行备份,大大提高了服务的可用性

Ø  提升资源利用率:

通过服务器虚拟化的整合,提高了CPU;内存;存储;网络等设备的利用率,同时保证原有服务的可用性,使其安全性及性能不受影响

Ø  动态调度资源(动态伸缩)

在服务器虚拟化技术中,数据中心从传统的单一服务器变成了统一的资源池,用户可以即时的调整虚拟机资源,同时数据中心管理程序和数据中心管理员可以灵活根据虚拟机内部资源使用情况灵活分配调整给虚拟机的资源;例如公司业务中每天有流量访问的高低峰,在高峰的时候可以加大服务器的性能及资源,而在低峰时有可以收缩服务器的性能

Ø  降低能源消耗

通过减少运行的物理服务器数量,减少cpu以外各单元的耗电量,达到节能减排的目的

1.2 虚拟化的分类

Ø  全虚:   HD + OS + hypervisor

又叫硬件辅助虚拟化技术,最初所使用的虚拟化技术就是全虚拟化(Full Virtualization)技术,它在虚拟机(vm)和硬件之间加了一个软件层-Hypervisor,或者叫做虚拟管理程序(VMM),

1.2.1 hypervisor可以划分为两大类 :

Ø  类型1

这种hypervisor是直接运行在物理机上,是基于你内核的虚拟机(KVM本身也是基于操作系统的hypervisor)

Ø  类型2

这种hypervisor运行在另一个操作系统(运行在物理硬件之上),hypervisor包括qemu和wine,因为运行在虚拟机上的操作系统是通过hypervisor来最终分享硬件,所以虚拟机发出的指令需要经过hypervisor捕获并处理,为此每个客户操作系统所发出的指令都要被翻译成CPU能识别的指令格式,这里的客户操作系统即是运行的虚拟机,所以hypervisor的工作负荷会很大,因此会占用一定的资源,所以在性能上肯定不如裸机,但是运行速度要快于硬件模拟,全虚拟化最大的优点就是运行在虚拟机上的操作系统没有经过任何修改,唯一的限制就是操作系统必须能够支持底层的硬件,不过目前的操作系统一般会支持底层硬件,所以这个限制就变得微不足道了

Ø  半虚:   HD + hypervisor

半虚拟化技术是后来才出现的技术,半虚技术英文: paravirtualization,也叫作准虚拟化技术,现在比较热门,它就是在全虚拟化的基础上,把客户操作系统进行修改,增加了一个专门的API,这个API可以将客户操作系统发出的指令进行优化,即不需要hypervisor耗费一定的资源进行翻译操作,因此hypervisor的工作负担变得非常的小,因此整体的性能也有很大的提高,不过缺点就是要修改包含该API的操作系统,但是对于某些不含该API的操作系统,像windows来说,就不能用这种方法,Xen就是一个典型的半虚技术

1.1 硬件虚拟化包含哪些硬件?

cpu  内存  逻辑内存  物理内存  磁盘

1.2 实现虚拟化的方式:

Ø  单机虚拟化

Ø  集群虚拟化

Ø  分布式虚拟化***不支持数据库

1.3 虚拟化的引擎有哪些?

Ø  Vmware  esxi:x86

Ø  hyper-v

微软公司的虚拟化技术,可以实现桌面虚拟化

Ø  xen

使用较少

xen与kvm的主要区别:

kvm内置于linux的内核,xen是linux的一个应用,所以kvm可以直接利用linux来做一些xen中需要利用hypervisor来做的事情,比如任务调度,内存管理等,所以相比较之下,kvm更加轻量级,易于管理,并且版本的更新也随着内核更新

Ø  kvm

第2章 KVM简介:

KVM基于内核的虚拟机(英语:Kernel-based Virtual Machine,缩写为 KVM),是一种用于linux内核中的虚拟化基础设备,可以将linux内核转化为一个hypervisor,KVM在2007年被导入linux内核中,以可加载核心模块的方式被移植到系统中

KVM在具备inter VT或AMD-V功能的x86平台上运行,它也被移植到s/390,powerPC与IA-64平台上,在linux内核3.9版本中,加入ARM架构支持

KVM目前有RedHat等厂商开发,对Centos支持性极佳

1.1 关于KVM

Ø  KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。

Ø  是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。

Ø  它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。

Ø  KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。

Ø  KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)同时KVM还能够使用ksm技术帮助宿主服务器节约内存。

Ø  在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。

1.2 Qemu与KVM

qemu是一个开源项目,实际就是一台硬件模拟器,可以模拟许多硬件如 : 磁盘,网卡等设备

也包括x86架构处理器,AMD架构处理器

qemu的好处是纯软件模拟,可以在支持的平台模拟设备,也正是因为这一点,所以很慢

KVM虚拟机 = KVM内核模块 + qemu模拟器

1.3 libvirt与KVM

livirt是开源的虚拟化管理工具,主要有三部分组成:

一套API的lib库,支持主流的编程语言包括C;python;ruby

一个守护进程libvirtd

一个命令行实用程序virsh

1.3.1  关于Virtual Machine Manager

  在×××运算中,红帽公司的Virtual Machine Manager是一个虚拟机管理员,可以让用户管理多个虚拟机。

  基于内核的虚拟机libvirt与Virtual Machine Manager。

1.3.2 Virtual Machine Manager : 可以让用户:

1.    创建;编辑;引导或停止虚拟机

2.    查看并控制每个虚拟机的控制台

3.    查看每部虚拟机的性能及使用率

4.    查看每部正在运行中的虚拟机以及主控端的即时性及使用率信息

5.    不论实在本机或远程,皆可使用KVM;Xen;Qemu

转载于:https://blog.51cto.com/13520772/2112183

KVM虚拟化基础概念相关推荐

  1. 《深入学习VMware vSphere 6》——第1章 vSphere虚拟化基础与规划 1.1虚拟化基础概念...

    本节书摘来自异步社区<深入学习VMware vSphere 6>一书中的第1章,第1.1节,作者:王春海著,更多章节内容可以访问云栖社区"异步社区"公众号查看 第1章 ...

  2. KVM虚拟化基础原理

    KVM虚拟化 虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般称为宿主 ...

  3. vSphere 虚拟化基础概念讲解与环境构建视频教程(笔记)

    vSphere 5.5服务器的安装 1.虚拟化简介.实验环境介绍 ESXI兼容性查看:http://www.vmware.com/resources/compatibility/search.ph ...

  4. (一)VMware搭建华为FusionCompute6.5.1,可正常使用 —— 搭建KVM虚拟化基础环境

    1.实验环境准备 先上结果,可以虚拟化嵌套,能通外网 1.1 部署要求 VMware Workstation Pro 16        上下浮动一版本 电脑配置 16G内存              ...

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

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

  6. 2021-7-20-KVM虚拟化基础

    KVM虚拟化基础 1,虚拟化介绍 虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配.灵活调度.跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,服务 ...

  7. 虚拟化——使用ovirt必备基础概念知识

    作者专注于Java.架构.Linux.小程序.爬虫.自动化等技术. 工作期间含泪整理出一些资料,微信搜索[程序员高手之路],回复 [java][黑客][爬虫][小程序][面试]等关键字免费获取资料.技 ...

  8. Linux云计算虚拟化-Kubernetes 容器集群管理系统基础概念讲述

    文章目录 Linux云计算虚拟化-Kubernetes 容器集群管理系统基础概念讲述 1. kubernetes简介 2. k8s常见组件介绍 3. k8s原理持续更新...... Linux云计算虚 ...

  9. 基础必学,挑灯夜战KVM虚拟化技术

    前言:什么是虚拟化? 在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU.内存.磁盘空间.网络适配器等),予以抽象.转换 ...

最新文章

  1. 张一鸣的微博世界-产品篇一
  2. mysql约束日期_MySQL的约束、事务、字符串、日期、数学相关及其他补充
  3. [从菜鸟到高手演变]之智力题【史上最全】 (转)
  4. Mapreuduce实现网络数据包的清洗工作
  5. 数据结构——马踏棋盘题解(贪心算法)
  6. python画三维平面-Python 绘制酷炫的三维图步骤详解
  7. executequery方法_【接口测试】soapui中数字、字符串、日期时间、数据库连接参数化的设置方法...
  8. C# default關鍵字
  9. Arrays 的copyOf() - JDK 6 和操作符 instanceof
  10. 大数据平台建设方案_工信部:全国范围内逐步推进反诈大数据平台建设
  11. AI:PR的数学表示-传统方法PR
  12. 求一个整数的各位累加和
  13. 语音识别系统功能_语音识别系统的应用
  14. 性能测试adb常用命令
  15. FTP服务器vsftpd配置详解
  16. k8s calico 插件错误:Number of node(s) with BGP peering established = 0 calico/node is not ready: BIRD is
  17. 乐高大颗粒作品24:金蟾
  18. 从目标检测到小目标检测
  19. ardupilot GPS代码分析
  20. 交流耦合仪表放大器(AC-Coupled Instrumentation Amplifier)

热门文章

  1. 对于技术焦虑的一点想法
  2. 三星电子首次公布李在镕薪酬 看起来一点儿也不高
  3. vs生成命令和属性的宏
  4. JAVA读、写EXCEL文件
  5. nginx post请求超时_Nginx 的超时 timeout 配置详解
  6. 利用SmsManager发送短信
  7. 如何双击就以管理员身份运行批处理
  8. linux消息队列总结
  9. Android编程之另一种原因造成Cursor未关闭错误
  10. iPhone开发之第三方回调函数的使用方法