00-kvm理论知识¶
00-kvm理论知识¶
云计算基本理论知识¶
云计算之前¶
一:云计算之前网站部署流程-传统的IDC托管
1.买一台服务器
2.与机房签订合同,托管到IDC机房
3.安装操作系统
4.部署服务应用
5.买一个网站的域名
6.绑定域名
7.提供对外访问
二:传统的IDC租用
三:VPS虚拟专用服务器
四:虚拟主机
五:关于网站备案的流程
ICP备案
ICP证
文网文
传统数据库中心面临的痛点
1.资源利用率低,调查显示生产环境的资源利用率普遍低于15%
2.资源分配不合理
3.自动化能力差
4.初始成本高
在云计算之前的模式和技术?
1、IDC托管
2、IDC租用
3、虚拟主机(卖空间)
4、VPS:虚拟专用主机 openvz(通过超卖技术坑人) xen(不支持超卖)
传统数据中心面临的问题?
(1)资源使用率比较低,比如CPU的使用率
(2)资源分配不合理
(3)难以实现真正的自动化运维
云计算概述¶
定义:云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用程序,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
*云计算特点和优势?*
1、云计算是一种使用模式,不是一种技术。(通过网络、弹性扩展、按需付费)
2、云计算使用方法必须通过网络来访问。
3、云计算必须具备:弹性计算,按需付费,快速扩展
提示:用户无需关心服务器的基础硬件设施,都是由云计算提供商提供
云计算的三层服务¶
基础设施:计算,存储,网络服务
平台服务:对象存储,身份认证,运行环境,消息队列,数据库服务
应用平台:监控,内容,合作,通信,财务
云计算的特点¶
1、资源池化
2、无处不在的网络访问
3、随需应变的自助服务
4、可测量的服务
5、快速的伸缩
云计算部署模型-分类¶
公有云(Public Cloud)
公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过internet使用,可能是免费或成本低廉,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的共有网络中提供服务。例如:阿里云、腾讯云、青云、百度云、盛大云、迅达云、等等。
优点:价格低廉,使用方便,可以在短时间
缺点:从技术层面是很不安全,对于数据的敏感性比较高的不建议使用,比如证券,银行
使用场景:小型创业公司初期阶段,个人网站的搭建
私有云(Private Clouds)
私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心防火墙内,也可以将它们部署在一个安全的主句托管场所,私有云的核心属性是专有资源。
优点:可控,数据安全(银行必然使用私有云)
缺点:资源固定,服务器都是固定的,如果想扩展的话,那么需要增加服务器
使用场景:对于数据要求高的公司
混合云(Hybrid Cloud)
混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私企业主要是面向企业用户,处于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合匹配,以获得最佳的效果,这种个性的解决方案,达到二既省钱又安全的目的。
优点:集合的使用方式更完美,可扩展,更节省
社区云(Community Cloud)
社区云是大的公有云范畴内的一个组成部分。是指在一定的地域范围内,由云计算服务提供商统一提供计算资源、网络资源、软件和服务能力所形成的云计算形式。即基于社区的网络互连优势和技术易于整合特点,通过区域内各种计算能力进行统一服务形式的整合,结合社区内的用户需求共性,实现面向区域用户需求的云计算服务模式。例如:区域型和行业型。资源的高效共享。
云计算服务模型-分层¶
IaaS 基础设施即服务
消费者通过Internet 可以从完善的计算机基础设施获得服务。这类服务称为基础设施即服务。基于 Internet 的服务(如存储和数据库)是 IaaS的一部分。Internet上其他类型的服务包括平台即服务和软件即服务。
PaaS 平台即服务
把服务器平台作为一种服务提供的商业模式。而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS。所谓PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。
SaaS 软件即服务
它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
以下为其他的图形!
虚拟化基本理论知识¶
虚拟化含义及分类¶
云计算是不等于虚拟化的。
虚拟化,一种具体的技术,用来将物理机虚拟成为多个相互独立的虚拟机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。从而显著提高计算机的工作效率。
*一、虚拟化的概念*
虚拟化的广义与狭义的理解
广义——将不存在的食物或现象“虚拟”成为存在的事物或现象的方法,计算机科学中的虚拟化包括平台虚拟化、应用程序虚拟化、存储虚拟化、网络虚拟化、设备虚拟化等。
狭义——指在计算机上模拟运行多个操作系统平台。
目前对于虚拟化-Virtualization并没有统一的标准定义,但大多数定义都包含这样几个方面,
1、虚拟的内容是资源(包括CPU、内存、存储、网络等);
2、被虚拟的物理资源有着统一的逻辑表示,而且这种逻辑表示提供给用户大部分相同或完全相同的物理资源的功能;
3、经过一系列的虚拟化过程,使得资源不受物理限制约束,由此可以带给我们与传统IT相比更多的优势——资源整合、提高资源利用率、动态IT等;
我个人的理解虚拟化既是对资源的逻辑抽象、隔离、再分配、管理的一个过程。所有虚拟化厂商所宣传的各种功能特色,都可以归结为逻辑抽象、隔离、再分配、管理这四个过程中,刚接触虚拟化的朋友只要记住一点,虚拟化技术确实有很多优势,我们需要做的就是取其所长补己之短。
虚拟化技术是实现云计算服务的一种方式!
*二、虚拟化技术分类*
1、按应用分类
A、操作系统虚拟化——Vmware的vSphere、workstation;微软的Windows Server with Hyper-v、Virtual PC;IBM的Power VM、zVM;Citrix的Xen
B、应用程序虚拟化——微软的APP-V;Citrix的Xen APP等
C、桌面虚拟化——微软的MED-V、VDI;Citrix的Xen Desktop;Vmware的 Vmware view;IBM的Virtual Infrastructure Access等
D、存储虚拟化、网络虚拟化等
E、应用虚拟化:citrix xenapp ICA
http://app.womai.com/Citrix/XenApp/auth/login.aspx 演示网站
2、按照应用模式分类
A、一对多:其中将一个物理服务器划分为多个虚拟服务器。这是典型的服务器整合模式。
B、多对一:其中整合了多个虚拟服务器,并将它们作为一个资源池。这是典型的网格计算模式。
C:多对多:将前两种模式结合在一起。
3、按硬件资源调用模式分类
A、全虚拟化——虚拟操作系统与底层硬件完全隔离,由中间的Hypervisor层转化虚拟客户操作系统对底层硬件的调用代码,全虚拟化无需更改客户端操作系统,兼容性好。典型代表是VMare WorkStation、ESX Server早期版本、Microsoft Vitrual Server
B、半虚拟化——在虚拟客户操作系统中加入特定的虚拟化指令,通过这些指令可以直接通过Hypervisor层调用硬件资源,免除有hypervisor层转换指令的性能开销。半虚拟化的典型代表Microsoft Hyper-V;Vmware的vSphere
C、硬件辅助虚拟化——在CPU中加入了新的指令集和处理器运行模式,完成虚拟操作系统对硬件资源的直接调用。典型技术是Intel VT、AMD-V
4、按运行平台分类
A、X86平台——由于X86体系结构服务器的蓬勃发展,基于X86体系的虚拟化技术也有了很大的进步,目前比较流行的基于X86体系的虚拟厂商有VMware Microsoft、Citrix、IBM System x系列服务器
B、非X86平台——非X86平台的虚拟化鼻祖是IBM公司,早在20世纪60年代,IBM就在大型机上实现了虚拟化的商用,目前IBM的虚拟化技术包括大型机的System z系列服务器,中小企业应用的System p系列服务器;HP 的虚拟服务器环境(virtual Server Environment,VSE)以及虚拟 vPar、nPartition 和 Integrity 虚拟机(IVM)也是非X86平台虚拟化的重要力量。
*全虚拟化*
又叫硬件辅助虚拟化技术,最初所使用的虚拟化技术就是全虚拟化(Full Virtualization)技术,它在虚拟机(VM)和硬件之间加了一个软件层–Hypervisor,或者叫做虚拟机管理程序(VMM)。hypervisor 可以划分为两大类。首先是类型 1,这种 hypervisor 是直接运行在物理硬件之上的。其次是类型 2,这种 hypervisor 运行在另一个操作系统(运行在物理硬件之上)中。类型 1 hypervisor 的一个例子是基于内核的虚拟机(KVM —— 它本身是一个基于操作系统的 hypervisor)。类型 2 hypervisor 包括 QEMU 和 WINE。因为运行在虚拟机上的操作系统通过Hypervisor来最终分享硬件,所以虚拟机发出的指令需经过Hypervisor捕获并处理。为此每个客户操作系统(Guest OS)所发出的指令都要被翻译成CPU能识别的指令格式,这里的客户操作系统即是运行的虚拟机,所以Hypervisor的工作负荷会很大,因此会占用一定的资源,所以在性能方面不如裸机。但是运行速度要快于硬件模拟。全虚拟化最大的优点就是运行在虚拟机上的操作系统没有经过任何修改,唯一的限制就是操作系统必须能够支持底层的硬件,不过目前的操作系统一般都能支持底层硬件,所以这个限制就变得微不足道了。
*半虚拟化*
*提示:半虚拟化一般比全虚拟化的性能好*
半虚拟化技术是后来才出现的技术,半虚拟化技术英文是paravirtualization,也叫做准虚拟化技术,现在比较热门,它就是在全虚拟化的基础上,把客户操作系统进行了修改,增加了一个专门的API,这个API可以将客户操作系统发出的指令进行最优化,即不需要Hypervisor耗费一定的资源进行翻译操作,因此Hypervisor的工作负担变得非常的小,因此整体的性能也有很大的提高。不过缺点就是,要修改包含该API的操作系统,但是对于某些不含该API的操作系统(主要是windows)来说,就不行能用这种方法,Xen就是一个典型的半虚拟化的技术。
****常见的虚拟化:****服务器虚拟化,桌面虚拟化,应用虚拟化
*一:服务器虚拟化*
数量少的情况推荐使用ESXI,XenServer
数量大的情况推荐使用KVM,RHEV(并不开源),oVirt,Openstack,Vmvare vshpere
*二:桌面虚拟化*
桌面虚拟化依赖于服务器虚拟化,在数据中心的服务器上进行服务器虚拟化,生成大量的独立的桌面操作系统(虚拟机或者虚拟桌面),同时根据专有的虚拟桌面协议发送给终端设备。用户终端通过以太网登陆到虚拟主机上,只需要记住用户名和密码及网关信息,即可随时随地的通过网络访问自己的桌面系统,从而实现单机多用户。多用于IP外包,呼叫中心,银行办公、移动桌面。
*三:应用虚拟化*
技术原理是基于应用/服务器计算A/S架构,采用类似虚拟终端的技术,把应用程序的人机交互逻辑(应用程序界面、键盘及鼠标的操作、音频输入输出、读卡器、打印输出等)与计算逻辑隔离开来。在用户访问一个服务器虚拟化后的应用时,用户计算机只需要把人机交互逻辑传送到服务器端,服务器端为用户开设独立的会话空间,应用程序的计算逻辑在这个会话空间中运行,把变化后的人机交互逻辑传送给客户端,并且在客户端相应设备展示出来,从而使用户获得如同运行本地应用程序一样的访问感受。
3)硬件虚拟化和软件虚拟化
参考:http://virtualization.ctocio.com.cn/38/11466538.shtm
小结:虚拟化的分类
全虚拟化
半虚拟化
平台虚拟化
软件虚拟化
硬件虚拟化(Inter vt-x/EPT) (AMD AMD-v /RVI)
桌面虚拟化
应用虚拟化
*提示:对于一台服务器做虚拟化,可以建议使用ESXI,XenServer,如果虚拟机比较多的话,建议使用KVM,HERV,oVirt,Openstack*
虚拟化霸主:Vmware vshpere
总结:
云计算是一种资源使用的交互方式
虚拟化是一种计算的实施
云计算是依赖虚拟化技术实现弹性扩容的
不使用kvm实现虚拟化的方式:LXD-Linux的虚拟机管理程序的容器
官方网站:http://www.ubuntu.com/cloud/lxd
虚拟化的优势¶
虚拟化可以虚拟出来多个操作系统:每个操作系统之间是相互独立的,所以每个操作系统上所跑的应用自然是相互不影响的。在这里用一个经典的例子说明,一台物理机跑8个tomcat和8个虚拟机上各跑一个tomcat,跑8个tomcat的物理机,如果其中一个tomcat出问题(内存有问题,jvm有问题等),势必会影响到其他7个tomcat,但是在8个虚拟机上跑分别各跑一个tomcat,他们之间是互不影响的,由于虚拟化一层原因占用了一些资源,效果并没有直接一台物理机跑8个tomcat效果好,但是虚拟机的互相独立互不影响是更重要的,而且便于管理,每个tomcat实例都会起3个端口(8080:对外服务端口,8009:AJP端口,8005:关闭端口),使用虚拟机之后,就不会担心多个tomcat端口冲突的情况。
支持异构 :linux系统可以虚拟化windows系统,方便不同场景系统的使用
支持快照功能和克隆等功能:快照功能在某个物理机不知运行什么,是否正在运行的情况下,如果是一台虚拟机就好办了,直接停了该虚拟机,只不过是占了一些磁盘空间而已。
*企业案例一*
公司虚拟机你也不知道能不能停,也不知道跑什么了,然后问产品经理他也不知道,有可能有用你放着把。如果这是一台物理机你看怎么办,真的很无奈、想改个啥你都不敢该,只能让他跑在那里。
*企业案例二*
公司这台物理机有没有用,所有人告诉你,没事删把肯定没有用,然后到店庆的时候,产品经理过来了:我们去年店庆做了一个积分抽奖的活动,我花钱买的,我的代码哪去了,我的服务器呢?服务器早都格式化多少遍了,产品经理说那没办法,那么赶紧联系提供商把,提供商倒闭了。怎么办,重新做呗。
如果有虚拟机就好办了,我把虚拟机关了放在那,只要不删除,是不是永远都在,哪天用在起来就行了。无非就占点硬盘,分配的时候,可以使用多少分配多少。
kvm的虚拟化特性¶
内核级别的虚拟化技术
1)嵌入到linxu正式kernel(提高了兼容性)
2)代码级资源调用(提高性能)
3)虚拟机就是一个进程(内存易于管理)
4)直接支持NUMA技术(提高扩展性)
5)虽然被Redhat收购了,但是依然保持着开源发展模式,社区活跃
6)更好的商业支持及服务保障
7)Centos7较Centos6默认支持cpu热添加,内存的热添加,大页内存默认都是开启的
KVM与QEMU¶
QEMU是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。
KVM与QEMU(纯软件的模拟)
用户态管理kvm,可以模拟,硬盘,网卡、声卡、PCI设备等都是需要qemu来管理
*软件优点:*
默认支持多种架构。可以模拟 IA-32 (x86)个人电脑,AMD 64个人电脑,MIPS R4000, 升阳的SPARCsun3 与PowerPC(PReP 及 Power Macintosh)架构
1.可扩展,可自定义新的指令集
2.开源,可移植,仿真速度快
3.在支持硬件虚拟化的x86构架上可以使用KVM加速配合内核ksm大页面备份内存,速度稳定远超过VMware ESX
4.增加了模拟速度,某些程序甚至可以实时运行
5.可以在其他平台上运行Linux的程序
6.可以储存及还原运行状态(如运行中的程序)
7.可以虚拟网络卡
libvirt介绍与组成¶
libvirt是一套免费、开源的支持Linux下主流虚拟化工具的C函数库
Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。
libvirt组成:
后台进程
后台API
命令行的工具virsh
提示:如果libvirt进程停止的话,是不会影响虚拟机的正常运行啦,但是无法使用virsh管理虚拟机。
虚拟化与云计算总结¶
****什么是云计算:****资源使用和交付模式
****虚拟化:****一种具体的技术,用来将物理机虚拟成多个相互独立的虚拟机
云计算不等于虚拟化,使用了虚拟化的技术做支撑
1.云计算不等于虚拟化,两者并不能相互比较。
2.云计算是一种资源和使用交互的方式。
3.虚拟化是一种具体的技术。
4.云计算要依赖虚拟化技术来实现的一种通过网络访问获取资源,流量,交付的使用模式。(例如:弹性计算)。
5.虚拟化相当于实干家,而云计算是思想家。
6.云计算需要使用虚拟化的技术去实现
*常见的云分类小结:*
(1)私有云,公有云,混合云
(2)KVM 服务虚拟化,桌面虚拟化,应用虚拟化
(3)硬件虚拟化:Intel vt-x/EPT AMD-v /RVI
(4)libvirt libvrit API库+libird datemon+用户工具(virsh)
常见的云计算平台¶
(1)openstack
(2)cloudstack cloud.com公司--》ctrix--》Apache基金会--》java
(3)OpenNebula
(4)ovirt RHEV开源版本 支持系统CentOS RHEL 赵班长推荐
官网:http://www.ovirt.org/ 推荐版本:3.6
分为管理端+客户端组成,管理端oVrit Engine 客户端:oVrit主机/节点
与VMwatre对比 VCenter ESXi
快速安装方法:
http://www.ovirt.org/download/
ZStack文档
http://zstack.org/cn/documentation/
(5)zstack