当前位置: 首页 > 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…...

javascript实战开发:json数据求指定元素的和算法

项目需求 在js中&#xff0c;格式如&#xff1a; [{"name": "一(0)班-电量,一(9)班-电流,一(9)班-功率","odata": {"prev_0_day_val_diff": "10.189941,-3.0,79.0",} },{"name": "一(10)班-电量,一(10)班-…...

娱乐时间 —— 用python将图片转为excel十字绘

最近看蛮多朋友在玩&#xff0c;要么只能画比较简单的&#xff0c;要么非常花时间。想了下本质上就是把excel对应的单元格涂色&#xff0c;如果能知道哪些格子要上什么颜色&#xff0c;用编程来实现图片转为excel十字绘应该是很方便的。 图片的每一个像素点都可以数值化&#x…...

OJ练习第160题——LRU 缓存

LRU 缓存 力扣链接&#xff1a;146. LRU 缓存 题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓…...

使用 Hugging Face Transformer 创建 BERT 嵌入

介绍 最初是为了将文本从一种语言更改为另一种语言而创建的。BERT 极大地影响了我们学习和使用人类语言的方式。它改进了原始 Transformer 模型中理解文本的部分。创建 BERT 嵌入尤其擅长抓取具有复杂含义的句子。它通过检查整个句子并理解单词如何连接来做到这一点。Hugging F…...

unity 控制Dropdown的Arrow箭头变化

Dropdown打开下拉菜单会以“Template”为模板创建一个Dropdown List&#xff0c;在“Template”上添加一个脚本在Start()中执行下拉框打开时的操作&#xff0c;在OnDestroy()中执行下拉框收起时的操作即可。 效果代码如下用于控制Arrow旋转可以根据自己的想法进行修改&#xff…...

Java开发面试--nacos专区

1、 Nacos是什么&#xff1f; 请简要介绍Nacos是什么以及它的主要功能和用途。 答&#xff1a; 简介&#xff1a; Nacos是一个开源的、高性能、动态服务发现、配置和服务管理平台&#xff0c;通常用于微服务架构中。Nacos的名称来源于"Naming"&#xff08;服务发现…...

GB28181学习(三)——心跳保活

心跳保活 要求&#xff1a; 1. 当原设备发现工作异常时&#xff0c;应立即向本SIP监控域的SIP服务器发送状态信息&#xff1b; 2. 无异常时&#xff0c;定时向本SIP监控域的SIP服务器发送状态信息&#xff1b; 3. 状态信息报送采用**MESSGAE**方法&#xff1b; 4. SIP设备宜在…...

黑马JVM总结(三)

&#xff08;1&#xff09;栈内存溢出 方法的递归调用&#xff0c;没有设置正确的结束条件&#xff0c;栈会有用完的一天&#xff0c;导致栈内存溢出 可以修改栈的大小&#xff1a; 再次运行&#xff1a;减少了次数 案例二&#xff1a; 两个类的循环应用问题&#xff0c;导致Js…...

【数据结构】二叉树基础入门

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …...

MFC自定义消息的实现方法----(线程向主对话框发送消息)、MFC不能用UpdateData的解决方法

在MFC中&#xff0c;我们一边在使用多线程时&#xff0c;经常会遇到在需要调用到新建的控件&#xff0c;此时建议不要在新建的线程中直接调用主对话框的控件&#xff0c;我们可以通过自定义消息&#xff0c;在新建线程中发送并触发主线程进行相关的界面控件操作。 以Dialog对话…...

展馆展示设计公司排名前十名/短视频seo是什么

IEEE 802.1Q标准&#xff08;以下简称dot1q&#xff09;规定了一种基于端口的VLAN划分方法&#xff0c;规定了报文中携带VLAN信息的方法&#xff0c;规定了交换机等支持VLAN的设备对报文的处理过程。下面对dot1q标准规定的携带VLAN信息的报文格式进行说明。如下图所示&#xff…...

做外贸出口的网站/网站策划是干什么的

%86时出现报错 Error in invoking target agent nmhs of makefile 解决方案在makefile中添加链接libnnz11库的参数修改$ORACLE_HOME/sysman/lib/ins_emagent.mk&#xff0c;将$(MK_EMAGENT_NMECTL)修改为&#xff1a;$(MK_EMAGENT_NMECTL) -lnnz11建议修改前备份原始文件[ora…...

可以做网站高仿服装吗/重庆广告公司

不限(学硕)(0101)哲学(学硕)(0201)理论经济学(学硕)(0202)应用经济学(专硕)(0251)金融硕士(专硕)(0252)应用统计硕士(专硕)(0253)税务硕士(专硕)(0254)国际商务硕士(专硕)(0255)保险硕士(专硕)(0256)资产评估硕士(专硕)(0257)审计硕士(学硕)(0270)统计学(学硕)(0301)法学(学硕)…...

网页制作门户网站案例/网站定制的公司

1.环境准备 1.1.初始化实例 安装DM数据库软件并初始化实例。始化实例请参考DM数据库相关的部署文档&#xff0c;本处不在赘述 1.2.创建元数据库 元数据库是用于保存监控平台的元数据的数据库。 1.3.调整数据库参数 调整DEM元数据库的参数&#xff08;修改dm.in后重启生效&…...

wordpress wp_head()在哪个文件中/常用的seo工具推荐

任务&#xff1a; 识别猫咪。 目录 1. 直接使用 1.1 获取预训练权重 1.2 libtorch直接使用pt权重 2. 间接使用 2.1 BasicBlock 2.2 实现ResNet 2.3 BottleNeck 1. 直接使用 1.1 获取预训练权重 比如直接使用Pytorch版的预训练权重。先把权重保存下来&#xff0c;并打印…...

wordpress主题升级文件/网络运营培训课程

NEW关注Tech逆向思维视频号最新视频→【男生的秋裤&#xff0c;女生的打底裤&#xff0c;哪个更抗冻&#xff1f;】出品&#xff5c;新熵文 | 叶子编辑&#xff5c;月见肩负着宸帆电商的雪梨&#xff0c;带货步伐注定比薇、李二人沉重。今年的双十一带货之战还在进行中&#xf…...