云计算与虚拟化

一、概念

 什么是云计算?

云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。

云计算是一种模型,它可以实现随时随地,便捷地,随需应变地从可配置计算资源共享池中获取所需的资源(例如:网络、服务器、存储、应用、及服务)。资源能够快速供应并释放。使管理资源的工作量和与服务器提供商的交互减小到最低限度。

云计算五大基本特质

1、按需自助服务
2、广泛网络接入
3、资源池化
4、快速弹性伸缩
5、可计量服务

云计算的四种部署模式

1、私有云
——企业利用自有或租用的基础设施资源自建的云;
2、社区云/行业云
——为特定社区或行业所构建的共享基础设施的云;(点对点专业领域)
3、公有云
——出租给公众的大型的基础设施的云;
4、混合云
——由两种或两种以上部署模式组成的云;

云计算的三种服务模式

1、云基础设施既服务(IaaS)
——出租处理能力、存储空间、网络容量等基本计算资源;
2、云平台即服务(PaaS)
——为客户开发的应用程序提供可部署的云环境;
3、云软件即服务(SaaS)
——在网络上提供可直接使的应用程序;

什么是虚拟化?

虚拟化的解释有很多这里举一下维基百科上对虚拟化的解释

在计算机技术中,虚拟化(技术)虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网路适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑组态环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些电脑硬体资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料储存。

虚拟化方案

全虚拟化

全虚拟化是最早出现的虚拟化技术。顾名思义,全虚拟化中VM从头到脚都是虚拟化的,VM操作系统所发出的一切可能指令都由虚拟化层(即VM Manager, VMM或者Hyperviser)处理。

全虚拟化最先完全由软件实现,典型的实现是将客户VM的二进制代码进行翻译。后来出现了硬件辅助的全虚拟化,典型的如Intel-VT和AMD-V。

相对来说更加简单和易于实现,但由于有两层OS,管理开销更大,性能损耗大。

很多个人或者小型的组织使用的VMware Workstation和VirtualBox就属于这种软件辅助的全虚拟化,还有KVM等

半虚拟化

半虚拟化中客户VM知道其运行在虚拟平台上,并需要主动适应,这样的虚拟平台需要对所运行的客户机操作系统进行或多或少的修改使之适应虚拟环境。虚拟化层是直接安装在硬件设备上的,会接管虚机的指令。

这种技术不依赖于操作系统,但需要对虚拟层的内核进行开发,开发难度更大。

VMware ESX、Xen、华为的FusionSphere都是这种模式。

混合虚拟化

无需开发内核,可支持多种操作系统,但需要底层硬件的虚拟化支持。

KVM就是这种模式

操作系统级别虚拟化

常说的容器化就是一种OS级别虚拟化,也有人不把容器算作虚拟化方式的,目的是与VM方式区分开。

操作系统层上的虚拟化是指操作系统的内核可以提供多个互相隔离的用户态实例。这些用户态实例(经常被称为容器)对于它的用户来说就像是一台真实的计算机,有自己独立的文件系统、网络、系统设置和库函数等。

由于是OS提供的,这种方式往往非常高效,最核心的优点,也是Docker最鼓吹的——占用资源更少、启动更快,因为容器不需要像虚机一样运行客户端OS,容器底层是主机OS,其上只需运行需要的应用,同样做到了相互隔离,这种启动速度也使得容器可以不需要时关闭,释放主机资源。此外模块化程度更高,体积小,应用可以通过微服务技术部署在多个容器。劣势来说,首先容器是基于Host OS的,不同系统OS的区别也就使得容器不能在各种系统环境混用;安全性相对更差,因为容器需要与底层操作系统或者其他容器通信。

容器化的应用场景更多是在应用程序上,而不是隔离操作系统,可能这也是很多资料将其与其他虚拟化技术分隔开的原因。

主流的虚拟化方案

1、kvm

kvm自Linux2.6.20版本后就直接整合到Linux内核中,它依托CPU下虚拟化指令集(如Inter-VT、AMD-V)实现高性能的虚拟化支持。由于与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。

在KVM环境中运行的每一个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与Linux系统中的安全模块进行整合(SELinux),可以灵活地实现资源的管理及分配。

优势:

1、首先从现有形势来看,国内的阿里云,华为云,国外的AWS 之类的云服务提供商从几年前开始就均将技术路线向KVM进行切换,性能和稳定性经历了考研。
2、开源。不仅开源性能还比vmware、xen等老牌虚拟化服务好,费用基本可以无视,高度可定制。
3、已写入Linux内核,可以利用内核的优化和改进,是Linux的一部分,Linux活着可以不用太担心KVM死掉。且KVM本身是内核模块,结构更精简,无需对内核进行修改。
4、充分支持现有的硬件虚拟化功能,支持SR-IOV。

劣势:

需要支持虚拟化的处理器,如果CPU比较旧或者不支持虚拟化,KVM也就不能用了,因为KVM本身并不执行硬件模拟。

2、Hyper-V

微软家的,旧称Windows Server Virtualization。可以归属到半虚拟化

适合应用于小型组织或企业

优势:

1、Hyper-V建立在微内核化设计之上,因此设备驱动程序在控制层中独立运行和操作,可以保持最少的设备驱动程序管理;

2、初始化时间更短

劣势:

使用Hyper-V之前必须安装主OS,且由于架构问题,父OS的崩溃会使得所有的VM崩溃。

3. VMware vSphere

更适合大型组织或企业。

优势:

独立,无需像Hyper-V一样使用一个主OS控制所有的的虚拟化组件。

劣势:

1、需要硬件的支持。

2、由于设备驱动程序在体系结构的管理程序层中初始化,因此需要更多的初始化时间。该层中的任何损坏代码都可能导致初始化速度变慢,甚至导致服务器挂起或崩溃。

3、贵。

4、XEN

Xen是开放源代码虚拟机监视器,由XenProject开发,能够在单个计算机运行多达128个有完全功能的操作系统。支持半虚拟化和全虚拟化。

优势:

无需特殊硬件支持,就能达到高性能的虚拟化。即支持更广泛的CPU架构。

劣势:

版本更新需要对内核重新打补丁,重新编译整个内核。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/74828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SLAM论文详解(5) — Bundle_Adjustment_LM(BALM)论文详解

目录 1 摘要 2 相关工作 3 BA公式和导数 A. 直接BA公式 B. 导数 C. 二阶近似 4 自适应体素化 5. 将BALM结合进LOAM 6. 实验 7. 算法应用场景解析 1 摘要 Bundle Adjustment是一种用于同时估计三维结构和传感器运动运动的优化算法。在视觉SLAM,三维重建等…

爬虫逆向实战(30)-某查查股东关联公司(HmacSHA512)

一、数据接口分析 主页地址:某查查 1、抓包 通过抓包可以发现数据接口是api/people/getRelatCompany 2、判断是否有加密参数 请求参数是否加密? 无 请求头是否加密? 通过查看“标头”可以发现,请求头中有一个key和value都是…

基于Sentinel的微服务保护

前言 Sentinel是Alibaba开源的一款微服务流控组件,用于解决分布式应用场景下服务的稳定性问题。Sentinel具有丰富的应用场景,它基于流量提供一系列的服务保护措施,例如多线程秒杀情况下的系统承载,并发访问下的流量控制&#xff…

9.8day59

503. 下一个更大元素 II - 力扣(LeetCode) 知识点:单调栈 42. 接雨水 - 力扣(LeetCode)

Qt的窗口系统

代码仓库以及参考文件见文章底部 坐标体系 要想学好GUI,界面的坐标系首先要搞清楚 在Qt编程中,以左上角为原点,X向右增加,Y向下增加。 对于所有嵌套的窗口,其坐标是相对于父窗口来说的。 QWidget 所有窗口以及窗口控件都是从QWidget直接或者间接派生出来的。 对象模…

基于Fomantic UI Web构建 个人导航站点网站源码 网站技术导航源码

BYR-Navi-master好看有个性的网站技术导航源码 该网站基于Fomantic UI Web框架构建,整个项目的设计和构建具有高度的配置和定制灵活性。 整体风格比较适合个人导航站点使用 搜索框输入关键词后,点击上方搜索引擎图标可跳转打开对应搜索引擎搜索结果&am…

std : : vector

一.简介 std::vector 的底层实现通常基于动态数组(dynamic array),它是一种连续分配的内存块,允许元素的快速随机访问。下面是 std::vector 的一些关键特点和底层实现细节: 连续内存块:std::vector 内部使…

MAC M1芯片安装mounty读写移动硬盘中的文件

因为移动硬盘中的文件是微软公司NTFS格式,MAC只支持自己的APFS或者HFS,与微软的NTFS不兼容,所以需要第三方的软件来支持读写硬盘中的文件,经过一上午的折腾,最终选择安装mounty这个免费的第三方软件 工具网址连接&am…

祝贺!Databend Cloud 入驻 AWS 云市场

关于 Databend Cloud Databend Cloud 是基于开源云原生数仓项目 Databend 打造的一款易用、低成本、高性能的新一代大数据分析平台,提供一站式 SaaS 服务,免运维、开箱即用。 Databend Cloud 架构如下: 存储层完全面向对象存储而设计。 计算…

第25节-PhotoShop基础课程-文本工具组

文章目录 前言1.横排文字工具1.基本操作1.字体选择2.字体大小3.字体颜色4.左对齐5.右对齐6.居中对齐 2.字符 2.段落文字3.蒙版文字 前言 1.横排文字工具 1.基本操作 1.字体选择 2.字体大小 3.字体颜色 4.左对齐 5.右对齐 6.居中对齐 2.字符 2.段落文字 3.蒙版文字

Stable Diffusion 告别猜关键词,LoRA适配关键词自动生成

有没有想想过在SD绘图的时候下载好的LoRA模型选择之后不生效是为什么?或者说关键词不知道怎么填写? 这里介绍基于 Civitai 的LoRA 使用方法。 文章目录 Civitai 插件使用方法Civitai 插件 如果没有安装的小伙伴可以参考前面的文章先对 Civitai 的模型管理进行安装和使用,确…

【iOS】MVC

文章目录 前言一、MVC各层职责1.1、controller层1.2、model层1.3、view层 二、总结三、优缺点3.1、优点3.2、缺点 四、代码示例 前言 MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此…

【python爬虫】批量识别pdf中的英文,自动翻译成中文上

不管是上学还是上班,有时不可避免需要看英文文章,特别是在写毕业论文的时候。比较头疼的是把专业性很强的英文pdf文章翻译成中文。我记得我上学的时候,是一段一段复制,或者碰到不认识的单词就百度翻译一下,非常耗费时间。本文提供批量识别pdf中英文的方法,后续文章实现自…

CnosDB 签约京清能源,助力分布式光伏发电解决监测系统难题。

近日,京清能源采购CnosDB,升级其“太阳能光伏电站一体化监控平台”。该平台可以实现电站设备统一运行监控,数据集中管理,为操作人员、维护人员、管理人员提供全面、便捷、差异化的数据和服务。 京清能源集团有限公司(…

【新版】系统架构设计师 - 软件架构设计<SOA与微服务>

个人总结,仅供参考,欢迎加好友一起讨论 架构 - 软件架构设计<SOA与微服务> 考点摘要 面向服务SOA(★★★★)微服务(★★★★) 基于/面向服务的(SOA) 在SO…

企业架构LNMP学习笔记34

LVS-DR模式: 老师分析: 1、首先用户用CIP请求VIP 2、根据上图可以看到,不管是Director Server还是Real Server上都需要配置VIP,那么当用户请求到达我们的集群网络的前端路由器的时候,请求数据包的源地址为CIP目标地址…

C++ day 3

1、 自行封装一个栈的类,包含私有成员属性:栈的数组、记录栈顶的变量,成员函数完成:构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小 stack.h #ifndef STACK_H #define STACK_H#…

Paper: 利用RNN来提取恶意软件家族的API调用模式

论文 摘要 恶意软件家族分类是预测恶意软件特征的好方法,因为属于同一家族的恶意软件往往有相似的行为特征恶意软件检测或分类方法分静态分析和动态分析两种: 静态分析基于恶意软件中包含的特定签名进行分析,优点是分析的范围覆盖了整个代码…

【STM32】文件系统FATFS与Flash的初步使用

文件系统简介 简介可以不看,直接看移植步骤 文件系统是介于应用层和底层间的模糊层。底层提供API,比如说使用SDIO或者SPI等读写一个字节。文件系统把这些API组合包装起来,并且提供一些列函数,我们可以使用这些函数进行更进一步的…

《protobuf》基础语法2

文章目录 枚举类型ANY 类型oneof 类型map 类型改进通讯录实例 枚举类型 protobuf里有枚举类型,定义如下 enum PhoneType {string home_addr 0;string work_addr 1; }同message一样,可分为 嵌套定义,文件内定义,文件外定义。不…