复习材料,不建议阅读
简介
大数据的特点(4V + 1C)
- 数据量大(Volume)
- 快速(Velocity)
- 多样(Variety)
- 价值密度低(Value)
- 复杂度(Complexity)
是什么?
云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。
云计算是通过网络按需提供可动态伸缩的廉价计算等服务。
云计算的特点:
- 超大规模
- 虚拟化
- 高可靠性
- 通用性
- 弹性扩展
- 按需服务
- 廉价
云计算的分类:
- SaaS(软件)
- PaaS(平台)
- IaaS(基础设施)
按部署模式分类:
- 公有云(任何符合条件的人可用)
- 混合云(有几种云组成)
- 社区云(两个或以上企业或单位使用)
- 私有云(企业或单位内部使用)
发展

- 全面上云
- 云网融合
- 云边协同
- 云原生
- 云际计算
集群技术
是什么?
集群(Cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
为什么要使用集群?
- 提高性能
- 降低成本
- 提高可扩展性
- 增强可靠性
集群的组织方式
- 主从结构
将备份服务器连接到主服务器上;备份服务器一般不主动提供服务;主服务器故障时,备份提供服务。
- 多机结构
由多台服务器运行相同应用,通过负载均衡共同提供服务;服务器间相互通信,故障时自动转移至其他服务器。
一般故障转移步骤需要:侦测、启动、接管,会花费一定时间。
LB 负载均衡
是什么?
负载均衡(Load balancing),是一种将网络流量负载均衡到各个服务器上,以减少单个服务器压力、提升整体性能的技术。
为什么需要负载均衡?
- 解决并发压力
- 实现高可用
- 实现扩展性
- 安全防护
负载均衡类型:
- 四层(ip:port)
- 七层(http 等)
- DNS(域名解析多个 ip)
方案:
- 硬件(F5、A10 等)
- 软件(LVS、Nginx、HAProxy、Traefik 等)
HA 高可用
是什么?
保证系统在任何故障情况下仍可长期可以提供服务的方式
常用于不易实现负载均衡的应用,如负载均衡器、数据库、存储等
常见方案:
- keepalived
在高可用对之间使用 VRRP 通信,主服务器一直进行广播通知备份设备。
- heartbeat
动静分离
网站、资源、业务分离,所以需要不同的集群。
Nginx 通过设置不同 uri 转发至不同的 upstream 实现分离。
session 保持
如何解决集群 session 保持问题?
- 服务器间共享
- 使用 session 集群
- 同一用户始终访问同一集群
一般使用 ip_hash,由源 ip、源端口、目的 ip、目的端口、协议计算出请求摘要
文件共享
教材云 NFS,实际性能差;不太重要,略过。
磁盘阵列
为什么?
磁盘损坏数据丢失,通过 RAID 提高安全性和性能。


基本 RAID 级别:
- 0
条带化, 倍容量,无备份
- 1
镜像, 倍容量,有备份
- 5
条带化 + 奇偶校验, 倍容量,有备份
- 6
分布式奇偶校验, 倍容量,有备份
组合 RAID 级别:
- 10
倍容量,有备份
- 50
倍容量,有备份
- 60
倍容量,有备份

条带(Strip):是指将数据分割成的离散数据块(段)。将这些数据块(段)同时分布到硬盘阵列中的每个物理硬盘上的这种工作方式被称为“数据条带化”。
带区(Stripe):是指硬盘阵列当中物理硬盘上“同一位置”的一组条带的集合。
条带大小:是指每一个条带的大小。
带区大小:是指跨所有数据盘的一组条带的总大小,不包括奇偶校验带区。
带区宽度:指涉及的硬盘数量
分布式技术
是什么?
一组独立的计算机展现给用户的是一个系统来完成一个统一的工作,但是系统内部可以动态的分配任务。分散的物理和逻辑资源通过计算机网络实现信息的交换。
特点:
- 计算速度加快
- 对等性
- 并发性
- 缺乏全局时钟
- 故障总会发生
和集群区别在哪?
- 集群是同一个任务,分布式是将不同任务分到不同地方。
- 集群可以隔离故障,分布式无法隔离故障。
NoSQL
非关系型数据库
四大分类:
- 键值存储
- 列存储
- 文档型
- 图形
主流是 Redis 等。
session 分离
没啥好说的,用 Redis 代替传统的数据库或者 NFS 进行 session 的存储。
一致性哈希

主要是处理缓存问题。
方法:
- 取模法
不方便扩展
- 一致性哈希
选择足够大的哈希空间构成哈希环,计算主机要素哈希将主机布置到哈希环不同位置;需要缓存时,计算数据哈希在环上位置,顺时针第一个服务器就是缓存位置。增加/减少节点时影响范围非常小。
也可以通过虚拟节点方式进一步分散数据解决数据倾斜问题,改善故障容忍。
分布式存储
分布式文件系统
用来管理网络中跨多台计算机存储的文件系统。
以 HDFS 为例,存在两类节点:
- namenode
管理节点,管理文件系统的命名空间,维护文件和目录关系,记录文件块所在的节点信息。
- datanode
工作节点,块存储具体的数据,向 namenode 发送存储的块列表。
虚拟化技术
是什么?
利用软件或固件管理程序构成虚拟化层,把物理资源映射为虚拟资源。
主要有几个方面:
- 服务器虚拟化
将一个或多个物理服务器虚拟成多个逻辑上的服务器。
- 存储虚拟化
把分布的异构存储设备统一为一个或几个大的存储池。
- 网络虚拟化
在底层物理网络和网络用户之间增加一个抽象层。
- 虚拟化容器
在同一个系统上,实现资源隔离与重用,在不同设备上模拟同一环境。
两种虚拟化:
- 寄居虚拟化

用 VMM 应用程序虚拟化。
全虚拟化不需要对 GuestOS 做任何修改,特权命令由 VMM 捕获处理。
半虚拟化需要修改部分 GuestOS 特权指令部分。
- 裸机虚拟化

HyperVisor 直接控制硬件。
容器
是什么?
容器化是一个类似于 VM 但经过改进的概念。容器化不会复制硬件层,而是移除独立环境中的操作系统层。这使应用程序能够独立于主机操作系统运行。为应用程序提供所需的确切资源,因此容器化可防止资源浪费。
教材这一块讲得不清楚。Linux 容器实现是通过命名空间进行隔离,容器和宿主共用内核。不同的 rootfs 和 layer 构成不同容器,但是均使用宿主机的 Linux 内核。相较 VM 需要连同内核设备等一起虚拟化,容器的开销要小得多。但是,安全性也弱于强隔离的 VM。
OpenStack
是什么?
一个部署云的操作平台或工具集。
成员:
- 计算服务 Nova
管理计算资源、网络、授权和扩展需求
- 对象存储服务 Swift
允许对文件进行存储或检索
- 镜像服务 Glance
为Nova提供创建虚拟机所需的镜像
- 身份认证服务 Keystone
负责提供身份验证、授权和令牌管理
- 网络管理服务 Neutron
负责提供网络连接服务
- 存储管理服务 Cinder
提供持久块存储服务
- 仪表盘 Horizon
基于Web的用户界面,方便用户进行交互
Nova
计算组织控制器
- API Server(Nova-Api)
API Server对外提供一个与云基础设施交互的接口,也是外部可用于管理基础设施的唯一组件。
- Message Queue(Rabbit MQ Server)
OpenStack节点之间通过消息队列使用AMQP(Advanced Message Queue Protocol)完成通信。
- Compute Worker(Nova-Compute)
Compute Worker管理实例生命周期,通过Message Queue接收实例生命周期管理的请求,并承担操作工作。
- Network Controller(Nova-Network)
Network Controller处理主机的网络配置,包括IP地址分配、为项目配置VLAN、实现安全组、配置计算节点网络。
- Volume Workers(Nova-Volume)
Volume Workers用来管理基于LVM(Logical Volume Manager)的实例卷。Volume Workers有卷的相关功能,例如新建卷、删除卷、为实例附加卷、为实例分离卷。
- Scheduler(Nova-Scheduler)
调度器Scheduler把Nova-API调用映射为OpenStack组件。调度器作为一个Nova-Schedule守护进程运行,通过恰当的调度算法从可用资源池获得一个计算服务。

通过 Libvirt 兼容不同的虚拟化底层。
Glance
镜像存储,swift 实际提供了存储服务
支持存储类型:
- OpenStack Object Storage
它是OpenStack中高可用的对象存储项目。
- FileSystem
OpenStack Image Service存储虚拟机镜像的默认后端是后端文件系统。
- S3
该后端允许OpenStack Image Service存储虚拟机镜像在Amazon S3服务中。
- HTTP
OpenStack Image Service能通过HTTP在Internet上读取可用的虚拟机镜像。
数据中心

树结构

传统数据中心采用树状结构。

FatTree 结构,消除了上层链路吞吐量限制,内部节点间通讯有多条链路,横向扩展降低网络成本,兼容性好。
改进型为 VL2,加强 SDN,服务器池和虚拟机可随意迁移。
递归结构

DCell 结构,构建高层次网络时,需要的低层网络的个数等于每个低层网络中的服务器个数加1;服务器参与数据的交换。

BCube 结构,每一层都用 个交换机连接 个下级单元。
![]()
FiConn 结构,依赖 SDN 和服务器互联。
光交换结构

Helios 结构,感觉和树形差别不大,就是换成光交。

OSA 结构,虽然一眼难辨是哪路高手,不过还是树形。
无线

比较新,无线代替有线还是有许多困难。