当前位置: 首页 > news >正文

云计算与虚拟化

一、概念

 什么是云计算?

云计算(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架构。

劣势:

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

相关文章:

云计算与虚拟化

一、概念 什么是云计算? 云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果…...

Linux常见进程类别

目录 常见进程类别 守护进程&精灵进程 任务管理 进程组 作业 作业 | 进程组 会话 w命令 守护进程 守护进程的创建 setsid()函数 daemon()函数 模拟实现daemon函数 前台进程 | 后台进程 僵尸进程 | 孤儿进程 僵尸进程的一些细节 守护进程 | 后台进程 守护…...

智能小车之蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车

目录 1. 蓝牙控制小车 2. 蓝牙控制并测速小车 3. wifi控制测速小车 4. 4g控制小车 5. 语音控制小车 1. 蓝牙控制小车 使用蓝牙模块,串口透传蓝牙模块,又叫做蓝牙串口模块 串口透传技术: 透传即透明传送,是指在数据的传输过…...

指针进阶(一)

指针进阶 1. 字符指针面试题 2. 指针数组3. 数组指针3.1 数组指针的定义3.2 &数组名VS数组名 3.3 数组指针的使用4. 数组传参和指针传参4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参 前言 指针的主题,我们在初级阶段的《指针》章节已经接…...

c# sql 判断表中是否包含指定字段

你可以使用以下方法来判断一个 SQL 数据库中的表是否包含指定的字段。 首先,你需要连接到数据库,然后执行一条 SQL 查询语句来检查表结构。你可以使用 SELECT 语句和 INFORMATION_SCHEMA.COLUMNS 系统视图来获取表中的所有列信息。 下面是一个示例代码…...

08-JVM垃圾收集器详解

上一篇:07-垃圾收集算法详解 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 虽然我们对各个收集器进行比较,但并非为了挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现,更加没…...

sql_mode详解

文章目录 一、sql_mode作用二、查询sql_mode三、mysql8默认的mode配置(6个默认配置)四、常见mode详细解释mysql8默认配置了的mode(6个)需要自己配置的mode(4个) 五、设置sql_mode(一旦设置了&am…...

Vue3的新特性总结

一、Vue3 里 script 的三种写法 首先&#xff0c;Vue3 新增了一个叫做组合式 api 的东西&#xff0c;英文名叫 Composition API。因此 Vue3 的 script 现在支持三种写法。 1、最基本的 Vue2 写法 <template><div>{{ count }}</div><button click"…...

【Node】Mac多版本Node切换

1、查看当前电脑是否安装node node -v或者查看当前电脑通过brew安装的node路径 ls /usr/local/Cellar/node*2、查看可安装的node brew search node3、安装其他版本node 下载需要安装的node版本 brew install node144、brew切换node版本 假设之前的版本是18&#xff0c;需…...

Apache POI

POI介绍 Apache POI是用Java编写的免费开源的跨平台的Java API&#xff0c; Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能&#xff0c; 其中使用最多的就是使用POI操作Excel文件。 maven坐标&#xff1a; <dependency><groupId>org.apa…...

个人能做股票期权吗?个人期权交易开户条件新规

个人投资者是可以交易股票期权的&#xff0c;不过期权交易通常需要投资者具备一定的投资经验和风险承受能力&#xff0c;因为期权交易涉及较高的风险和复杂性&#xff0c;下文为大家介绍个人能做股票期权吗&#xff1f;个人期权交易开户条件新规的内容。本文来自&#xff1a;期…...

Java面试整理(一)

开篇 面试,应该都是打工人需要面对的事情。我记得自己以前开始准备Java工程师面试时,都会去看那个《面试宝典》,当时这个“宝典”真的很经典,现在应该还是不少朋友会看这个。我自己经历过了找工作的面试,和企业招聘工作。所以我自己更加想从这两个不同的角度去和大家交流这…...

国家信息中心举办“数字政府建设暨数字安全技术”研讨会:海云安提出数字政府软件供应链安全解决方案

近日&#xff0c;由国家信息中心主办&#xff0c;复旦大学研究院承办的“数字政府建设暨数字安全技术研讨会”在义乌顺利召开。国家信息中心信息与网络安全部副主任禄凯&#xff0c;复旦大学党委常委、宣传部部长陈玉刚&#xff0c;义乌市委常委、常务副市长喻新贵为会议致辞。…...

uniapp 处理 分页请求

我的需求是手机上一个动态滚动列表&#xff0c;下拉到底部时&#xff0c;触发分页数据请求 uniapp上处理分页解决方案 主要看你是如何写出滚动条的。我想到的目前有三种 &#xff08;1&#xff09;页面滚动&#xff1a;直接使用onReachBottom方法&#xff0c;可以监听到达底部…...

最新2米分辨率北极开源DEM数据集(矢量文件)

一、项目背景 美国明尼苏达大学(University of Minnesota)的极地地理空间中心(Polar Geospatial Center, PGC)于2023年8月发布了北极数字高程模型4.1版本(ArcticDEM Mosaic 4.1)。该DEM数据集是革命性的&#xff0c;分辨率达到了2米&#xff0c;而一般的开源DEM数据集分辨率是3…...

【计算机网络】HTTP(下)

本文承接上文的代码进行改造&#xff0c;上文链接&#xff1a;HTTP上 文章目录 1. 实现网站跳转实现 自己的网站跳转 2. 请求方法(get) && 响应方法(post)GET方法POST方法GET与POST的应用场景 3. HTTP状态码在自己设计的代码中发现4043开头的状态码(重定向状态码)永久…...

自学Python03-学会Python中的while循环语句

我们来学习一下怎么使用列表和字典吧&#xff01; 1.列表 首先&#xff0c;我们来学习一下列表。列表是一个有序的集合&#xff0c;它可以包含任何类型的数据&#xff0c;比如数字、字符串或其他列表。我们可以用方括号 [] 来创建一个列表&#xff0c;用逗号分隔各个元素。 …...

PatchMatchNet 学习笔记 译文 深度学习三维重建

9 PatchMatchNet CVPR-2021 patchmatchnet源码下载 PatchMatchNet 代码注释版 下载链接(注释非常详细,较源码结构有调整,使用起来更方便) PatchMatchNet-CVPR-2021(源码、原文+注释+译文+批注) 9.0 主要特点 金字塔,基于传统的PatchMatch算法,精度高,速度快 Pa…...

为什么要使用设计模式,以及使用设计模式的好处

在软件开发中&#xff0c;衡量软件质量只要包含如下指标&#xff1a; 正确性可维护性可读性可扩展性简洁性可测试性健壮性灵活性可复用性 然而&#xff0c;对于一些刚入行的新程序员来说&#xff0c;往往会注意不到上面这些问题&#xff0c;从而产生了一些让人头皮发麻的烂代…...

【Springcloud】Sentinel熔断和降级

【Springcloud】Sentinel熔断和降级 【一】基本介绍【1】什么是熔断和降级【2】为什么使用熔断和降级【3】Sentinel熔断和降级【4】核心概念 【二】下载方式【1】Windows平台安装包下载【2】打开控制台 【三】使用案例【1】添加依赖【2】添加Sentinel配置【3】添加TestUserCont…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor

1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...