2024年4月22日发(作者:)

第一章

什么是“新摩尔定律”:

每18个月全球新增信息量是计算机有史以来全部信息量的总和。

云计算具有哪些特点:

(1)、超大规模(2)、虚拟化(3)、高可靠性(4)、通用性(5)、高可伸缩性、(6)、

按需服务(7)、极其廉价

云计算按照服务类型大致分为三类:

将基础设施作为服务(Iaas)、将平台作为服务(Paas)、将软件作为服务(SaaS)

什么是Iaas?

将硬件设备等基础资源封装成服务供用户使用,如AWS的弹性计算云EC2和简单存储

服务S3。

什么是Paas?

对资源的抽象层次更进一步,它提供用户应用程序的运行环境,典型的如Google App

Engine。

什么是SaaS?

它的针对性更强,它将某些特定应用软件功能封装成服务,如Salesforce公司提供的在

线客户关系管理CRM服务。

云计算技术体系结构分为四层:

物理资源层、资源池层、管理中间件层和SOA构建层

(管理中间件层和资源池层是云计算技术的最关键部分)

物理资源层包括计算机、存储器、网络设施、数据库和软件。

资源池层是将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源

池。构建资源池更多的是物理资源的集成和管理工作。

管理中间件层负责对云计算的资源进行管理,并对众多应用任务进行调度,使资源能够高效、

安全地为应用服务。

大数据具有4V+1C的特征:

(1)、数据量大(2)、多样(3)、快速(4)、价值密度低(5)、复杂度

全球企业的IT开销分为三部分

:硬件开销、能耗和管理成本。

云计算的优势:

云计算有更低的硬件和网络成本、更低管理成本和电力成本以及更高的资源利用率。

云计算与大数据之间的关系:

大数据是需求,云计算是手段。没有大数据,就不需要云计算。没有云计算就无法处理大数

据。

什么是云计算:

长定义:云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使

各种应用系统能够根据需要获取计算力、存储空间和信息服务。短定义:云计算是通过网络

按需提供可动态伸缩的廉价计算服务。

云计算的管理中间件层:负责资源管理、任务管理、用户管理、和安全管理等工作。

资源管理:负责均衡地使用云资源节点,检测节点的故障并试图恢复或屏蔽它,并对资源的

使用情况进行监视统计;

任务管理:负责执行用户或应用提交的任务,包括完成用户任务映像部署和管理、任务调度、

任务管理、生命周期管理。

简述亚马逊的云计算:

AWS率先在全球提供了弹性计算云EC2和简单服务存储服务S3,为企业提供计算和存储服

务。

亚马逊是最大的服务商,谷歌是最大的云计算技术的使用者。

第二章

Google云计算技术包括:

Google文件系统 GFS、分布式计算编程模型MapReduce、分布式锁服务Chubby、分

布式结构化数据表Bigtable。

当前主流分布式文件系统有哪些?各有什么优缺点?

答:RedHat的GFS(Global File System)、IBM的GPFS、Sun的Lustre等。

优缺点:①GFS采用廉价的商品机器构建分布式文件系统,同时将GFS的设计与Google应

用的特点紧密结合,简化实现,GFS将容错的任务交给文件系统完成,利用软件的方法解决

系统可靠性问题,使存储成本下降;GFS将服务器故障视为正常现象,并采用多种方法、从

多个角度,使用不同的容错措施,确保数据存储的安全、保证提供不间断的数据存储服务。

②IBM GPFS并行文件系统软件在设计上不存在任何性能瓶颈,因此GPFS并行文件系统可

以充分发挥硬件系统的性能。换句话说,GPFS并行文件系统的性能完全取决于硬件配置的

好坏,而文件系统软件本身对性能的影响微乎其微。IBM GPFS并行文件系统与其它并行文

件系统之间最大的区别在于GPFS不需要专用的元数据(Meta Data)管理服务器,所有元

数据分散在磁盘阵列中,并可以由任何I/O节点管理。这样的设计避免了并行文件系统中最

可能产生性能瓶颈的因素——Meta Data Server。

③Lustre文件系统为例,它只对元数据管理器MDS提供容错解决方案,而对于具体的数据

存储节点OST来说,则依赖其自身来解决容错的问题。例如,Lustre推荐OST节点采用RAID

技术或SAN存储区域网来容错,但由于Lustre自身能提供数据存储的容错,一旦OST发生

故障就无法恢复,因此对OST的稳定性就提出了相当高的要求,从而大大增加了存储的成

本,而且成本会随着规模的扩大线性增长

GFS容错机制包含:

1、 Master容错:

Master上保存了GFS文件系统的三种元数据。

(1)、命名空间,也就是整个文件系统的目录结构。

(2)、Chunk与文件名的映射表

(3)、Chunk副本的位置信息,每一个Chunk默认有三个副本。

前两种GFS通过操作日志来提供容错功能。第三种直接保存各个Chunk Server上,当master

发生故障时,迅速恢复以上元数据。为了防止master彻底死机,GFS提供了master远程的

实时备份。

2、Chunk Server容错:

GFS采用副本的方式实现其容错。如果相关副本丢失或不可恢复,master自动将副本

复制到其他Chunk Server.

GFS把每一个文件划分成多个Chunk,

MapReduce与传统的分布式程序设计相比的优点

答:与传统的分布式程序设计相比,MapReduce封装了并行处理、容错处理、本地化计算、

负载均衡等细节,还提供了一个简单而强大的接口。

Chubby的设计目标主要有?

Paxos算法在Chubby中起什么作用?

(1)、高可用性(2)、高扩展性(3)、支持粗粒度的建议性锁服务(4)、服务信息的直接

存储(5)、支持通报机制(6)、支持缓存机制。

Chubby内部一致性问题的实现用到Paxos算

什么是分布式结构化数据表Bigtable?

Bigtable是Google开发的基于GFS和Chubby的分布式存储系统,它的设计应达到以下几

个目标:(1)、广泛的适用性(2)、很强的可扩展性(3)、高可用性(4)、简单性

Bigtable是:一个分布式多维映射表,表中的数据通过一个行关键字、一个列关键字以及一个

时间戳进行索引。

在Bigtable中Chubby主要有以下几个作用:

(1)选取并保证同一时间内只有一个主服务器(Master Server)

(2)获取子表的位置信息

(3)保存Bigtable的模式信息及访问控制列表

Bigtable主要由三个部分组成:客户端程序库、一个主服务器和多个子表服务器

Paxos算法中节点被分成了三种类型:

proposers、acceptors、和learners,其中proposers提出决议,acceptors批准决议、learners

获取并使用已经通过的决议。一个节点可以兼有多重类型,满足三个条件保持数据的一致性,

(1)、决议只有在被Proposers提出后才能批准(2)、每次只能批准一个决议(3)、只有决

议确定被批准后learners才能获取这个决议。

Bigtable性能优化:

1、局部性群组2、压缩3、布隆过滤器

GFS将整个系统的节点分为哪几类角色:

Client(客户端)、Master(主服务器)、Chunk Server(数据块服务器)。

Master是GFS的管理节点,在逻辑上只有一个,他保存系统的元数据,负责整个文件系统

的管理,是GFS文件系统中的“大脑”。

Chunk Server负责具体的存储工作。数据以文件的形式存储在Chunk Server 的个数可以有

多个,他的数目直接决定了GFS的规模。GFS将文件按照固定大小进行分块,默认是64MB,

每一块称为一个Chunk(数据块),每个Chunk都有一个对应的索引号(Index)。

GFS具有哪些特点:

1、 采用中心服务器模式:GFS采用中心服务器模式管理整个文件系统,增加新的Chunk

Server是一件非常容易的事情。

2、 不缓存数据:缓存机制是提升文件系统的性能的一个重要手段,通用文件系统为了提高

性能,一般需要实现复杂的缓存机制。GFS文件系统根据应用的特点,没有实现缓存,

因为GFS的数据在Chunk Server上是以文件的形式存储。

3、 在用户态下实现

4、 只提供专用接口

什么是MapReduce?

Map(映射)Reduce(化简)是Google提出的一个软件架构,是一种处理海量数据的并行

编程模式,用于大规模数据集的并行计算。

第三章

AWS提供的服务包括:

弹性计算云EC2、简单存储服务S3、简单数据库服务Simple DB、简单队列服务SQS、弹性

MapReduce服务、内容推送服务、电子商务服务、FPS。

改进的一致性哈希算法优点:

可以减小数据分布不均衡的可能性。

采用数据分区后,在添加或删除设备节点时,会引起娇小的数据传输。

可以在很小的数据传输代价下,保证整个系统数据分布的均衡性。

在Dynamo中添加一个新的节点时,原先各节点保存的数据

是否需要改变?如果改变,应该如何变化?

需要改变;原存储在前驱节点上的那部分数据会迁移到新的节点上。而其他节点保存的数据

不变。同样,在删除节点时,被删除节点的数据会迁移到其前驱节点上,而对其他节点没有

影响。

私有IP、公有IP和弹性IP的区别在哪里?

EC2的IP地址包括三大类:私有IP、公有IP和弹性IP。

EC2的实例一旦被创建,就会动态地分配两个IP地址,即私有IP和公有IP。私有IP地址与实

例相对应,由动态主机配置协议(DHCP)分配产生。公有IP地址和私有IP地址之间通过网络地

址转换(NAT)技术实现相互之间的转换。公共IP和特定的实例相对应,在某个实例终结或被

弹性IP地址替代之前,公共IP地址会一直存在,实例通过这个公有IP地址和外界通信。实

例每次启动时,公有IP都会发生变化。弹性IP则是与用户账号绑定,使用时可以代替公有IP

通过NAT的方式实现与私有IP转换,从而连接到EC2实例。

地理区域和可用区域有哪些区别?

AWS中采用了两种区域(Zone),地理区域( Region Zone)和可用区域( Availability Zone)。地理

区域是按实际的地理位置划分的。可用区域是根据是否有独立的供电系统和冷却系统划分,

通常将每个数据中心看作一个可用区域。EC2系统中包含多个地理区域,而每个地理区域又

包含多个可用区域。

Amazom云平台中,SQS的目的及组成部分,其中“消息”的

格式是什么?

简单队列服务(SQS)是Amazon为了解决其云计算平台之间不同组件的通信而设计开发的。

SQS由三个基本部分组成:系统组件、队列、消息。系统组件是SQS的服务对象,而SQS

则是组件之间沟通的桥梁。组件有双重角色,既是消息的发送者,也可以是消息的接受者。

“消息”格式:消息由以下四部分组成:

消息ID:由系统返回给用户,用来标识队列中的不同消息。

接收句柄:当 从队列中接收消息时就会从消息那里得到一个接收句柄,这个句柄可以用来

对消息进行删除等操作。

消息体:消息的正文部分,需要注意的是消息存放的是文本数据并且不能是URL编码方式。

消息体摘要:消息体字符串的MD5校验和。

非关系型数据库和传统关系数据库的区别

1.数据模型

关系数据库对数据有严格的约束,包括数据之间的关系和数据的完整性。非关系数据库的

key-value存储形式中,key和value可以使用任意的数据类型。

2.数据处理:

关系数据库满足CAP原则的C和A,在P方面很弱,所以在可扩展性方面弱,所以导致其

在可扩展性方面面临很多问题。非关系型数据库满足CAP原则的A和P,而在C方面较弱,

所以使得其无法满足ACID要求。

3.接口层

关系型数据库都是以SQL语言对数据进行访问的,提供了强大的查询功能,并便于在各种

关系数据库间移植。非关系型数据库对数据库的操作大多通过API来实现,支持简单的查询

功能,且由于不同数据库之间API的不同而造成移植性较差。

综上所述,关系数据库具有高一致性,在ACID方面很强,移植性很高;但在可扩展性方面

能力较弱,只能通过提高服务的配置来提高处理能力。非关系型数据库具有很高的可扩展性,

可以通过增加服务器数量来不断提高存储规模,具有很好的并发处理能力;但由于缺乏数据

的一致性保证,所以处理事务性问题能力较弱,并且难以处理跨表,跨服务器的查询。

第四章

微软云计算平台包括几部分?每部分的作用是什么?

当前版本的Windows Azure 平台包括4 个组成部分:

(1)Windows Azure。位于云计算平台最底层,是微软云计算技术的核心。

它作为微软云计算操作系统,提供了一个在微软数据中心服务器上运行应用程序

和存储数据的Windows 环境。

(2)SQL Azure。它是云中的关系数据库,为云中基于SQL Azure 的关系型

数据提供服务。

(3)Windows Azure AppFabric。为在云中或本地系统中的应用提供基于云

的基础架构服务。部署和管理云基础架构的工作均由AppFabric 完成,开发者只

需关心应用逻辑。

(4)Windows Azure Marketplace。为购买云计算环境下的数据和应用提供

在线服务。

Windows Azure 存储服务提供了几种类型的存储方式?阐

述每种存储方式主要的存储对象。

答:Windows Azure 存储服务目前主要提供了4 种主要的数据存储结构:

(1)Blob 类型。Blob 数据类型存储二进制数据,可以存储大型的无结构数据,容量巨大,

能够满足海量数据存储需求

(2)Table 类型。Table 数据类型能够提供更加结构化的数据存储,但是它不同于关系型

数据库管理系统中的二维关系表,查询语言也不是大家熟悉的关系查询语言SQL。

(3)Queue 类型。Queue 类型的作用和微软消息队列(MSMQ)相近,用来支持在Windows

Azure 应用程序组件之间进行通信。

(4)File 类型。File 类型使用标准SMB2.1 协议支持Windows Azure 虚拟机和云服务,可

通过装载的共享在应用程序组件之间共享文件数据,本地应用程序可通过文件存储API 来

访问共享中的文件数据。

SQL Azure 数据同步技术主要有几种?分别如何实现?

答:(1)SQL Azure 数据库与SQL Server 数据库之间的数据同步。用户选择这类同步的原

因有很多,除了网络故障等因素外,数据调度也需要数据副本在某一区域范围内进行,同时

需要防止某些操作失误所带来的数据丢失。这时用户可以通过SQL Azure 数据库和SQL

Server 数据库的信息同步在本地数据库保存副本。

(2)SQL Azure 数据库之间的同步。某些ISVs(独立的软件开发商)或全球化的企业需要

创建一个应用,为了满足高性能的需求,应用的创建者也许会选择在三个不同的Windows

Azure 数据中心运行这个应用。如果这个应用将数据存放在SQL Azure 数据中,需要使用

SQL Azure 数据同步服务保持三个数据中心之间的信息同步。SQL Azure 数据同步服务使用

“轮辐式”模型,所有的变化将会首先被复制到SQL Azure 数据库“hub”上,然后再传送到其

他“spoke”以上。这些“spoke”成员可以是一个SQL Azure 数据库,也可以是本地SQL Server

数据库。上述的同步过程可以同步整个数据库,也可以只同步有更新的数据库表格。

SQL Azure 和SQL Server 的相同点和不同点

相同点:SQL Azure是云中的关系数据库,和本地的SQL Server数据库有很多相识的地方。

比如SQL Azure 提供了一个表格数据流(TDS)接口供基于Transact-SQL的数据库进行访问,

这和SQL Server 中的实例访问数据库情况是相似的。

不同点:在SQL Azure中,由于物理管理工作是由微软进行的,所以在管理、服务提供、

Transact-SQL支持和编程方式等方面,与SQL Server有所不同。

Windows Azure最新版本包含5个部分:1.计算服务,2.存储服务,控制器,4.内容分发

网络CDN,5. Windows Azure Connect.

存储名空间被划分为三部分:账户名,分区名和对象名

SQL Azure关键技术:1. SQL Azure数据库,2. SQL Azure报表服务,3. SQL Azure数据同步

AppFabric关键技术:1.服务总线,2.访问控制,3.高速缓存。

Windows Azure是微软云计算战略的核心:云计算操作系统

WAS的一个重要特征是能够存储和访问达到甚至超过EB级的海量数据,其产品系统由存储

域和位置服务构成

存储域的层次结构包括哪三层:1、文件流层,2、分区层,3、前段

文件流层包括流管理器和区块节点两大部分。

分区层包括一个分区管理器、多个分区服务器和一个锁服务三个主要的体系结构模块。

分区管理器:负责保存对象表到分区段的划分和每个分区段到相应分区服务器的分配情况。

分区服务器:负责处理由分区管理器分配给它的一组分区段的请求。

锁服务:Paxos锁服务用于分区服务器的主服务器选举。

WAS 将分区B 拆成新的分区段C 和D 如何实现?

步骤1:分区管理器通知分区服务器将段B 拆分为C 和D。

步骤2:分区服务器处理B 的检查点,再暂停相应的服务请求。

步骤3:

分区服务器使用一种“MultiModify”的特殊流操作处理B 的每个流,并分别生成与B 中

区块顺序相同的C 和D 流子集,再追加C 和D 的新分区键值范围到他们的元数据流。

步骤4:分区服务器开始将服务请求发送至新的分区C 和D。

步骤5:分区服务器通知分区管理器拆分操作完成,并且分区管理器更新分区映射表和相应

的元数据信息,分区管理器将其中一个拆分的分区迁移到一个不同的分区服务器。

第七章

虚拟机迁移的步骤

步骤1:预迁移。步骤2:预定资源。步骤3:预复制。步骤4:停机复制。步骤5:提交。

步骤6:启动。

存储虚拟化的三种实现方式?

(1)基于主机的存储虚拟化:基于主机的存储虚拟化,也称基于服务器的存储虚拟化或者

基于系统卷管理器的存储虚拟化,其一般是通过逻辑卷管理来实现的。

(2)基于存储设备的存储虚拟化:基于存储设备的存储虚拟化,也称基于存储控制器的存

储虚拟化。它主要是在存储设备的磁盘、适配器或者控制器上实现虚拟化功能。

(3)基于网络的存储虚拟化:基于网络的存储虚拟化方法是在网络设备上实现存储虚拟化

功能,它包括基于互联设备和基于路由器两种方式。

服务器虚拟化的底层实现:虚拟化,2.内存虚拟化,3.I/O设备虚拟化

主流X86虚拟技术:威睿(VMware vSphere 5)2. Microsoft微软(Windows2008 R2

Hyper-V)思杰(XenServer 6)甲骨文(Oracle VM 3.0)红帽(Red

Hat Enterprise Virtualization 3)

X86虚拟化基本功能:1.快照,2.创建和部署虚拟机,3.创建模板,4.克隆虚拟机,5.部署模

板,6.配置虚拟机硬件、选项和资源

数据中心网络虚拟化划分为:核心层(主要指数据中心核心网络设备的虚拟化),接入层(可

以实现数据中心接入层的分级设计),虚拟机网络虚拟化(虚拟机网络交互包括物理网卡虚

拟化和虚拟网络交换机)

云计算中运用虚拟化技术主要体现在对数据中心的虚拟化上。

数据中心的虚拟化是通过服务器虚拟化,存储虚拟化和网络虚拟化实现的。

服务器虚拟化分为:寄居虚拟化和裸机虚拟化