云计算
为什么要用云计算解决问题?
- 数据量增长
- volume、variety、velocity、value、complex
- 对更高计算性能的追求
- 集中式计算、并行计算、分布式计算(计算集群、P2P、计算网格)、云计算是一种完美的分布式计算解决方案(同构可控)
- 大数据是输入、人工智能是算法、云计算提供了算力
- 具有超大规模、虚拟化、按需服务、通用、高可伸缩、及其廉价、高可靠的特点
云计算服务模型
通用→专用
- IaaS Infrastructure as a Service
- 基础设施作为服务
- 将硬件设备等基础设施封装成服务供用户使用
- 用户相当于直接使用裸机和硬盘,设备之间怎么通信要自己配置。
- 优势:允许用户动态申请和释放资源、按使用量计费、可认为资源几乎无限、资源使用率高
- PaaS platform as a service
- 平台设施作为服务
- 提供用户应用程序的运行环境
- 自身负责资源的动态拓展和容错管理,用户应用程序不用过多考虑节点间的配合问题,但用户自主性降低,要按照给定的编程环境和模型。
- SaaS software as a service
- 软件作为服务
- 将某些特定的用用软件功能封装为服务
- 针对性强,只提供某些专门用途的服务提供应用调用
体系结构
云计算技术的关键部分:资源池层、管理中间件层
分为物理资源层、资源池层、管理中间件层、SOA构建层
- 物理资源层
- 计算机、软件、数据库、网络设施、存储器等
- 资源池层
- 物理资源的集成和管理,将大量相同类型的资源构成同构或者接近同构的资源池,虚拟化技术
- 管理中间件层
- 负责对云计算的资源进行管理,并对众多应用任务进行调度。目标:安全高效
- SOA构建层
- 将云计算能力封装成Web Service服务
部署模型
- 公有云
- 由第三方云提供者提供的可公共访问的云环境
- 社区云
- 类似公有云,访问被限制为特点的云用户社区
- 私有云
- 由一家组织单位拥有,利用云计算技术来访问内部IT资源
- 混合云
- 由两种或更多不同的云部署模型组成的云环境
云计算的优势和难点
- 优势:
- 经济性:更低的硬件成本、网络成本、管理成本和电力成本,更高的资源利用率
- 可拓展性和可伸缩性:类似单个虚拟机
- 虚拟化:不用开发软化和安装硬件就可以部署
- 高可靠:多副本容错、计算节点同构可互换
- 管理简单:无需专职IT人员
- 安全:专业团队、严格的权限管理
- 难点:
- 物理资源层:数据中心安全控制
- 资源池层:构造高度同构化的虚拟资源
- 管理中间件层:高可用性(资源管理)、容错、节能(任务管理)、安全隐私(安全管理)
- 风险与挑战:
- 安全漏洞
- 降低运营管理控制——云提供者可能不遵守服务保证
- 云提供者之间有限的移植性——阿里云、腾讯云移植
- 多地方法律法规问题——云上贵州
虚拟化技术在云计算的使用
云计算中使用虚拟化技术主要体现在对数据中心的虚拟化上。数据中心的虚拟化可以:
- 实现资源的动态分配和调度,提高有效资源的利用率和服务可靠性
- 提供自动化的服务开通能力,降低运维成本
- 具有有效的安全机制和可靠性机制,满足客户安全需求
- 方便系统升级、迁移、改造
主要通过服务器虚拟化、存储虚拟化、网络虚拟化实现
服务器虚拟化的实现
将一个或者多个物理服务器虚拟化成多个逻辑上的服务器
- 层次
- 寄居虚拟化
- VMM安装在已有的主机操作系统上
- 裸机虚拟化
- 不需要安装宿主操作系统,直接在硬件上安装Hypervisor,实现虚拟资源到物理资源的映射
- 寄居虚拟化
- 底层实现
- CPU虚拟化
- 任意时刻一个物理CPU只能运行一个虚拟CPU、各个操作系统之间的虚拟CPU互不影响
- 内存虚拟化
- 将物理内存统一管理,包装成多个虚拟的内存给各个虚拟机使用
- IO设备虚拟化
- VMM
- CPU虚拟化
- 虚拟机迁移
- 重点:实时迁移
- 无法提供额外的物理资源进行负载均衡时,将服务器迁移到其他物理服务器
- 物理服务器定期升级时,先将虚拟机迁移到其他服务器,升级完再迁移回来
- 重点:实时迁移
存储虚拟化的实现
将分布的异构的存储设备统一为一个或几个大的存储池
将存储网络中的各个分散且异构的存储设备按照一定的策略映射成一个统一的连续编址的逻辑存储空间,称为虚拟存储池,应用服务器只与分配给他们的逻辑卷打交道,不需要关心数据在哪个物理内存上
- 基于主机的存储虚拟化
- 虚拟机为物理卷→逻辑据映射提供一个虚拟层
- 基于存储设备的存储虚拟化
- 存储设备内部由嵌入式系统,在存储子系统内进行虚拟化
- 基于网络的存储虚拟化
- 基于互联设备、基于路由器
云数据中心
特征
- 高设备利用率(虚拟化使用)、绿色节能(服务器本事、环境、软件进行调度管理)、高可用性(冗余、容错、容灾设计)、自动化管理(远程控制)
网络部署
- 改进树
- FatTree 解决了传统布线上任意一个核心交换机故障导致上千台服务器失效的问题
- k端口交换机 k个Pod 每个Pod有k/2个汇聚、接入交换机
- (k/2)2个核心交换机 k(k/2)2个主机
- VL2
- FatTree 解决了传统布线上任意一个核心交换机故障导致上千台服务器失效的问题
- 递归层次
- DCell BCube FiConn
- 光交换网络、
- 无线数据中心网络
- 软件定义网络
其他
- 绿色节能技术
- 配电系统节能技术
- 空调系统节能技术
- 集装箱数据中心节能技术
- 节能策略和算法研究
- 新能源应用
- 自动化管理
- 容灾备份
- 数据级容灾、应用级容灾
OpenStack的理解?
OpenStack是一个管理计算、存储和网络资源的数据中心云计算开放平台,通过仪表盘,为管理员提供了所有的管理控制,同时通过Web界面为其用户提供资源
OpenStack从一开始,就是为了云计算服务的。简单来说,它就是一个操作系统,一套软件,一套IaaS软件。
- horizon
- 一个用以管理、控制OpenStack服务的Web控制面板
- keystone
- 认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改
- Nova
- 计算组织控制器,提供计算服务,负责管理计算资源、网络、授权和扩展需求
- swift
- 提供对象存储服务
- Glance
- 镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理
- cinder
- 块存储服务
- Neutron
- 网络管理服务,提供了对网络节点的网络拓扑管理