云计算
01-云计算概述
- ⭕云计算的定义:云计算是各种虚拟化、效用计算、服务计算、网格计算、自动计算等概念的混合演进并集大成之结果。
- 计算模式的演进:网格计算、效用计算、软件即服务、随需应变的计算、云计算
- 什么是集群计算?用紧密耦合的一组计算机达到单个目的。是一种有限度的分布式计算,不考虑交互式的终端用户。
- 什么是分布式计算?分布式计算依赖于分布式系统,分布式系统由通过网络了解的多台计算机组成。这些计算互相协作,共同完成一个目标或者计算任务。
- 网格计算针对什么计算?针对复杂的科学计算
- ⭕SaaS是什么?全称为Software as a service,即软件即服务。厂商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求,通过互联网向厂商订购所需的软件应用,按用量计费。用户不再购买软件,改为向提供商租用基于web的软件。
- 云计算有哪四点优势?1.按需供应的无限计算资源。2.无需事先花钱就能使用的IT架构。3.基于短期的按需付费的资源使用。4.单机难以提供的事务处理环境
- ⭕云计算的推动力是什么? 1. 网络带宽的提升。2.技术的成熟度。3.移动互联网的发展。4.数据中心的演变。5.经济因素。6.大数据
- ⭕云计算的五大公共特征是什么?1.弹性伸缩。2.快速部署。3.资源抽象。4.按用量收费。5.宽带访问。
- 按部署方式分类,云计算的分类有:__公有云__ ,___私有云_,_社区云__,_混合云_,_行业云_,其他云类型
- 针对与计算的服务层次和服务类型分类,云计算分为:1.基础设施即服务,2.平台即服务,3.软件即服务
- 并行计算的主要动力在于:加快计算速度
- 什么是SOA?面向服务的体系结构,是一套设计和开发软件的原则和方法。是一种理念,即给定一个标准接口和一个约束接口的服务协议。
- 什么是虚拟化?是指所有的资源———计算、存储、应用和网络设备等连接在一起,由云计算平台进行管理调度。
- ⭕云计算的三元认识论是指?云计算既是一种商业模式, 也是一种计算范式, 还是一种实现方式。
- ⭕云计算服务的计算范式有哪两种逻辑结构?1.横向云体,2.纵向云栈
- 云计算实现的最终归属是?数据中心
- 开源的定义?即开放一类技术或一种产品的源代码、源数据、源资产等,可以是各行业的技术或产品,其范畴涵盖文化、产业、法律、技术等多个社会维度。如果开放的是软件代码,一般被称作开源软件
- ⭕开源软件、自由软件和免费软件的区别与联系是什么?
- 开源软件是指在软件发行的时候,附上软件的源代码,并授权允许用户更改/自由再散布/衍生著作,开源并不抵制商业收费。
- 免费软件就是免费提供给用户使用的软件,但是其免费的时候,通常都会有其他的限制,比如其源码不一定会公开,而且使用者也并没有使用、复制、研究、修改和再散布的权利
- 自由软件是一项思想运动,强调用户拥有如何使用软件的自由
- 自由软件是开源软件的一个子集,自由软件的定义比开源软件的更加严格,自由软件是一种道德精神层面的维护用户使用的自由。开源软件和自由软件一样,具备一可以免费使用二是公布源代码的主要特征,所以在不刻意追究微小差异的情况下,我们可以认为开源软件和自由软件是两个等价的概念
02-分布式计算
- 集中式计算与分布式计算的概念与区别:
- 集中式计算:完全依赖于一台大型的中心计算机的处理能力,这台中心计算机称为主机(Host或mainframe),与中心计算机相连的终端设备具有各不相同非常低的计算能力。实际上大多数终端完全不具有处理能力,仅作为输入输出设备使用
- 分布式计算:分布式计算中,多个通过网络互联的计算机都具有一定的计算能力,它们之间互相传递数据,实现信息共享,协作共同完成一个处理任务
- ⭕分布式计算的定义:分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。
- 分布式计算的原理:分布式计算就是将计算任务分摊到大量的计算节点上,一起完成海量的计算任务。
- 分布式计算的三步骤?1.设计分布式计算模型,2.分布式任务分配,3.编写并执行分布式程序
- 第二步:该算法着重解决的是能否分配任务,或如何分配任务的问题。
- 第三步:难点在于
- (1)计算任务的划分
- (2)多节点之间的通信方式
- ⭕ACID原则是指?ACID是数据库事务正常执行的四个原则,分别指原子性、一致性、独立性及持久性。
- ACID中的D是指什么?D(Durability)—持久性,持久性是指一旦事务提交后,它所做的修改将会永久保存在数据库上,即使出现宕机也不会丢失。
- ⭕CAP理论是什么?一个分布式系统最多只能同时满足一致性、可用性和分区容错性这三项中的两项。
- 从客户端来看,一致性是指什么?一致性主要指多并发访问时更新过的数据如何获取的问题
- 从服务端来看,一致性是指什么?如何将更新复制分布到整个系统,以保证数据的最终一致性问题。
- CAP中的A(可用性)是指?服务一直可用,且在正确的响应时间内。
- CAP中的P(分区容错性)是指?指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务
- NoSQL的数据库是怎么权衡CAP的?保证AP放弃C,即保证高可用、分区容错,放弃一致性
- BASE理论与CAP理论的关系?BASE理论是CAP理论的延伸,即使无法做到CAP的强一致性,可用采用合适方法达到最终一致性
- ⭕BASE理论是指?基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency)。
- 当电商大促时,为了应对访问量的激增,BASE理论如何指导?用户被引导到降级页面,损失部分可用性。即基本可用
- ⭕如何理解最终一致性?最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。BASE理论牺牲了ACID的强一致性,获得高可用性。
- DNS系统的域名更新IP后,最终所有用户都会看到最新的值,涉及的是:最终一致性
- 分布式系统的定义:是建立在网络之上的软件系统。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。
- 分布式系统的特性:容错性、高可扩展性、开放性、并发处理能力和透明性
- Hadoop是什么?由哪两个模块组成?
- ⭕分布式存储与分布式计算的区别与联系是什么?分布式存储,是把一个超大文件拆分为很多小的数据块放在不同的机器上。分布式计算,将一个计算任务分发到各个机器上对各数据库并行计算。联系:都不在一个机器上。
03-云计算架构
- 云计算的本质是?
超越硬件算力的局限性,让算力无限升级扩大.- IT作为服务涵盖了基础设施即服务、平台即服务、软件即服务或任何X即服务
- 什么是"IT"作为服务?
云计算将所有IT资源包装为服务予以销售,也就是所谓的“IT作为服务” - 如何避免云计算资源“超配”带来的问题?
一种自然的选择就是IT租赁,这称为“托管” - 云数据中心有哪两种模式?1.传统模式,2.基于集装箱的数据中心
- ⭕云的工作负载有哪几种模式?它们的特征是什么?
- 什么是负载均衡?
是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性 - 云计算架构是指?
云计算的体系结构。 - 计算架构有哪些?
中央集权架构、CS架构、中间层架构、BS架构、CS与BS混合架构、面向服务架构 - 公认的云架构(基于面向服务)划分为哪三个层次?
基础设施层(IaaS)、平台层(Paas)、软件服务层(SaaS) - 云计算架构的后端指的是?
常说的“云”由各种组件(如服务器、数据存储设备、云管理软件等)构成。 - 什么是云栈?什么是云体?
- 云栈又称云平台,是在云上面建造的运行环境,它能够支持应用程序的发布、运行、监控、调度、伸缩,并为应用程序提供辅助服务的机制,如访问控制和权限管理等
- 云体是云计算的物质基础,是云计算所用到的资源集合。它是构成云计算的软硬件环境,如网络、服务器、存储器、交换机等,通过网络连接在一起。广义的云体也可以包括数据中心及其辅助设施如电力、空调、机架、冷却等系统。鉴于当前的云计算都是基于数据中心来进行,云体就是数据中心。
- 数据中心是什么?
数据中心(Data Center)是数据集中存储、计算、交换的中心 - ⭕云、云计算、云服务、云存储、云平台之间的区别和联系?
- 云是将服务器虚拟化,形成虚拟资源池,相比于以前的物理机更加节省资源成本,便于管理。云是计算、存储、网路资源池化的概念。
- 云是对互联网的升级,意味着互联网并不仅仅是存储数据,而是为你提供某种服务。
- 云计算、云存储、云服务、云平台等就是利用云通过一堆机器经过网络组合到一起的不同形式,是云下面的子概念
- 总的来说就是,
云服务=云平台,云服务=云计算+云存储!
- ⭕什么是软件定义的数据中心?它的特点是什么?
- 定义:
VMware 对其描述为:
一个统一的数据中心平台,提供了前所未有的自动化、灵活性和效率,并转变IT交付的方式。
汇集和汇总计算、存储、网络、安全性等可用性服务,并交付软件,通过智能化的策略驱动的软件进行管理。
服务器在虚拟化应用的基础上,SDDC能够虚拟网络和存储资源,使抽象的数据中心的基础设施可以通过应用程序和软件进行访问。SDDC 的目标是使数据中心运营的许多方面受益:更有效地利用资源;更加容易配置和重新配置;以及更快地部署新的应用程序..等等。 - 特点:
04-虚拟化技术
- 虚拟化的定义:
一种计算机资源管理技术,将各种IT实体资源抽象、都是虚拟化。 - 虚拟化的作用:
通过该技术将一台计算机虚拟为多台逻辑计算机。
在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 - 虚拟化的本质:
- 就是用软件的方式去实现硬件的功能,可理解为虚拟的电脑
- 如何虚拟化?
- 把底层的硬件资源(CPU、内存、硬盘等)通过虚拟化形成一个资源池,在此资源池之上拿出一些资源就可以搭建虚拟机了
- 虚拟化四个特点:
分区、隔离、封装、相对于硬件独立 - 虚拟化的优势?
- 1.更高的资源利用率,2.降低管理成本,3.提高使用灵活性,4.提高安全性,5.更高的可用性,6.更高的可扩展性,7.互操作性和投资保护,8.改进资源供应
- 虚拟化技术的分类:
- ⭕什么是虚拟化技术?以及该技术有哪三种类型?
虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、 转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。
这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
分类:
1.服务器虚拟化
2.网络虚拟化
3.桌面虚拟化
4.软件定义的存储 - ⭕全虚拟化技术和半虚拟化技术的区别是什么?
半虚拟化和全虚拟化不一样,全虚拟化时未经修改的虚拟机系统不知道自身被虚拟化,系统敏感的调用陷入虚拟化层后再进行二进制翻译。
半虚拟化的价值在于更低的虚拟化代价,但是相对全虚拟化,半虚拟化的性能优势根据不同的工作负载有很大差别。
半虚拟化不支持未经修改的操作系统(如Windows ),因此它的兼容性和可移植性较差。由于半虚拟化需要系统内核的深度修改,在生产环境中,技术支持和维护上会有很大的问题。
开源的Xen项目是半虚拟化的一个例子,它使用一个经过修改的Linux内核来虚拟化处理器,而用另一个定制的虚拟机系统的设备驱动来虚拟化I/O - ⭕硬件虚拟化技术有哪些代表?
GPU、FPGA、RDMA、NVM - ⭕什么是轻量级虚拟化技术?其代表是什么
每套容器都拥有自己的隔离化用户空间,从而使多套容器能够运行在同一主机系统之上。可以看到,全部操作系统层级的架构都可实现跨容器共享。唯一需要独立构建的就是二进制文件与库。正因为如此,容器才拥有极为出色的轻量化特性。
代表:
docker
05-分布式存储
- 存储是什么?
存储就是数据的家 - 存储主要应用于?
存储的主要应用于数据集中存储、数据备份、容灾应用等领域。 - 什么是分布式存储?
分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。 - 简单地说:就是利用分布式技术将多个服务器的各种硬盘组织成一个大规模存储资源池,对上层的应用和虚拟机提供标准的访问接口,进而打造一个虚拟的分布式统一存储产品。
- 集中式存储是?
集中式存储指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理。
数据的存储与控制处理完全交由主机来完成
特点:部署结构简单 - ⭕分布式存储系统的定义:
分布式存储系统是将为数众多的普通计算机或服务器通过网络进行连接,同时对外提供一个整体的存储服务 - 分布式存储系统的特性:1.高性能
2.可扩展
3.低成本
4.易用性 - 分布式存储的技术挑战?
数据和状态信息的持久化
数据的自动迁移
系统的自动容错
并发读写的数据的一致性等方面。 - 数据类型的分类:
非结构化数据、结构化数据、半结构化数据 - ⭕分布式存储系统的分类:
- 分布式文件系统
分布式键值(Key-Value)系统
分布式表系统
分布式数据库系统 - 分布式存储系统的底层基础部件是?分布式文件系统
- ⭕什么是Blob数据?
各种非结构化的数据对象,这类数据以对象的形式进行组织,对象之间没有关联关系 - 分布式存储系统存放哪三种类型的数据?Blob对象、定长块以及大文件
- TFS是?Taobao File System
- 一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统
- 主要针对海量的非结构化数据
- Tair是?
淘宝自己开发的一个分布式 Key/Value 存储引擎 - 一个Tair集群主要包括?
client、Config server和Data server - 分布式存储的发展历史:
- 1.SAN
2.NAS
3.GPFS
4.GFS
5.HDFS - ⭕SAN和NAS的区别是什么?
(1 ) SAN:通过将磁盘存储系统和服务器直接相连的方式提供一个易扩展、高可靠的存储环境,高可靠的光纤通道交换机和光纤通道网络协议保证各个设备间链接的可靠性和高效性。设备间的连接接口主要是采用FC或者SCSI
(2) NAS:通过基于TCP/IP的各种上层应用在各工作站和服务器之间进行文件访问,直接在工作站客户端和NAS文件共享设备之间建立连接,NAS隐藏了文件系统的底层实现,注重上层的文件服务实现,具有良好的扩展性 - 简单来说:
SAN : 磁盘与服务器直连来存储
NAS : 基于TCP/IP上层应用,隐藏文件系统底层 - 文件系统是什么?
存储数据最重要的载体,是持久保存数据和管理数据的一种最普通、最基本的手段
文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。 - 分布式文件系统 HDFS的重要组成模块有?
1.分布式文件系统
2.MapReduce系统 - 分布式存储系统是?
将数据分散存储在多台独立的设备上,以满足大规模存储应用的需要 - 分布式存储系统的特点:1、分布性
2、对等性
3、并发性
4、缺乏全局时钟
5、故障总是会发生 - Ceph是什么?
Ceph是一个统一的、分布式的存储系统,具有出众的性能、可靠性和可扩展性 - Ceph的设计思路?
充分发挥存储设备自身的计算能力
去除所有的中心点 - Ceph应用场景?
对象存储、块设备存储和文件系统服务 - ⭕比较不同文件系统的特点
1.单机文件系统 : 多用户多进程并发
2.网络文件系统 : 多客户端多用户共享访问
3.并行文件系统 : 一个作业的多任务对同一文件的不同位置的并行访问,IO请求的并行处理
4.分布式文件系统 : 数千万在线并发访问
06-云计算网络
- 计算机网络指的是?
为多个计算设备提供信息交换支持的系统 - ⭕覆盖网络指的是?
在原有网络基础上构建网络连接抽象及管理的技术 - 覆盖网络通常的实现方法?
是在原有网络的基础上构建隧道。 - 目前常用于构建隧道的网络协议有GRE、VLAN、VXLAN、NVGRE、IPSEC
- GRE是?
- 通用路由封装协议(Generic Routing Encapsulation,GRE)
GRE的实质是创建一个类似于虚拟专用网络(VPN)的专用点对点网络连接 - 虽然GRE提供了无状态的专用连接,但它并不是一个安全协议,没有包含加密技术
- 报文在GRE隧道中传输包括
封装和解封装两个过程 - GRE隧道是?
封装后的数据报文在网络中传输的路径 - VLAN是?
虚拟局域网(VLAN)是一种对局域网(LAN)进行抽象隔离的隧道协议 - ⭕VXLAN是?
虚拟可扩展局域网(VXLAN)是一种封装协议。它的提出是为了用于在现有的OSI
3层网络基础架构上构建覆盖网络,拓展了VLAN地址空间 - NVGRE是?
使用通用路由封装的网络虚拟化(NVGRE)是一种网络虚拟化方法,它使用封装和隧道为子网创建大量虚拟LAN(VLAN),这些子网可以跨分散的数据中心和第2层(数据链路层)和第3层(网络层)。其目的是启用可在本地和云环境中共享的多租户和负载平衡网络 - IPSEC是?
Ipsec( Internet Protocol Security,缩写为IPsec)是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族 - 通常和VPN等隧道技术结合进行报文的隐私保护。
- IPsec对于实现虚拟专用网络和通过拨号连接到专用网络的远程用户访问很有用。
- IPsec的一大优势是可以在不需要更改个人用户计算机的情况下处理安全性安排
- IPSec的安全特性主要有:
- (1)不可否认性:可以证实消息发送方是唯一可能的发送者,发送者不能否认发送过消息。
- (2)反重播性:确保每个IP包的唯一性,保证信息万一被截取复制后,不能再被重新利用。
- (3)数据完整性:防止传输过程中数据被篡改,确保发出数据和接收数据的一致性。
- (4)数据可靠性:在传输前,对数据进行加密,可以保证在传输过程中,即使数据包遭截取,信息也无法被读。
- ⭕大二层网络
起因:需要在不同地理位置建立数据中心 - 需要在原有数据中心网络互连的基础上,构建一张可以允许二层协议通信的覆盖网络。
- 在数据中心互连领域,通常将这样的覆盖网络称为大二层网络
- ⭕Clos网络结构是什么样的?
一种针对电路 交换网络的多级网络结构,最早被应用于电话网络系统中。
它的主要特征是用尽可能少的交换设备构建规模可伸缩的非阻塞电路交换网络。 - 在这里非阻塞的含义是,当网络中两个空闲的终端想要建立通信连接时,网络总能在不终止任何已有通信连接的前提下,分配出空闲的链路为这两个终端建立通信路径。
而电路交换网络的特征是,任何一个网络终端不能同时和两个网络终端建立连接,并且任何一条网络链路不能同时被两个连接所使用。
因此,非阻塞保证了对于一个新的网络连接请求,交换网络在任何时刻都不会因资源不足而将其阻塞。 - ⭕软件定义网络(SDN)的概念是什么?
是网络虚拟化的一种实现方式。 其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。 - ⭕什么是控制平面和数据平面?
控制平面用于控制和管理所有网络协议的运行,通过网络协议提供给路由器交换机对整个网络环境中网络设备、连接链路和交互协议的准确了解,并在网络状况发生改变时做出及时的调整以维护网络的正常运行。控制平面提供了数据平面数据处理转发前所必须的各种网络信息和转发查询表项。 - 租户网络
- 在云计算服务的供应关系中,接受云服务供应商直接提供服务的客户被称为租户(Tenant)。
- 租户向云服务供应商租用相应的虚拟化资源,并利用这些虚拟化资源来构建自己的软件服务,完成自身的业务需求。
- 这些虚拟化资源除了包括传统的虚拟机实例作为计算资源,以及网络磁盘作为存储资源外,通常也会包括虚拟化的网络系统,来管理和调度不同虚拟设备之间的通信。这一虚拟化的网络系统被称为租户网络(TenantNetwork)。
- 什么是mininet?
软件定义网络(SDN)的仿真工具。
创建一个真实的虚拟网络,其中包含真实的工作组件,但运行在一一台机器上,以便于测试。 - 网络虚拟化
就是在一个物理网络上模拟出多个逻辑网络 - 网络功能即服务
云计算的核心观念是将所有资源以服务的形式进行抽象,网络也不例外,
也就是网络功能即服务(Network Function as a Service)。
云服务提供商可以将自身的网络资源虚拟化,并允许租户对它们按需进行租用。
07-云计算安全
- 云计算的安全技术框架包含哪些内容?
云计算安全服务体系:
云计算安全服务体系由y一系列云安全服务构成,是实现云用户安全目标的重要技术手段。云安全服务可以分为云基础设施服务、云安全基础服务以及云安全应用服务三类。
2.云计算安全标准及其测评体系 - 虚拟化软件栈面临哪些安全威胁?
虚拟化中的安全威胁主要有
数据泄露和丢失、
拒绝服务、
权限提升、
运行时( Hypervisor/GOS )代码
数据篡改
控制流截获、rootkits 和后门遗留
等。而数据泄露和丢失、运行时数据篡改以及控制流截获和rootkits是虚拟化威胁的主要表现形式。 - 虚拟化软件栈有哪些防御措施?
基于Hypervisor的虚拟机安全保护
Hypervisor及特权域的安全保护
不安全虚拟化环境下的安全防护
侧信道攻击和隐蔽信道攻击的防护 - 安全云存储系统有哪些关键技术?1.安全、高效的密钥生成管理分发机制
2.基于属性的加密方式
3.基于密文的搜索方式
基于密文的重复数据删除技术
5.基于密文的数据持有性证明
6.数据的可信删除