天天看点

华为网课云计算笔记一、云计算的产生背景二、云计算的价值三、虚拟化技术的简介四、OpenStack 的架构—了解各个组件五、NOVA六、提供对象存储服务的Swift介绍七、Keystone认证模型八、Neutron介绍

一、云计算的产生背景

1.云计算的产生背景

云计算的驱动力:

1.技术驱动

2.需求驱动

3.商业模式驱动

海量的数据和终端

IT的复杂性、商业延迟也是促进云计算产生的一个因素

2.云计算的概念

—商业视角 云计算=信息电厂

–技术视角 云计算=计算/存储的网络

云计算分为狭义和广义两个

狭义的是指:IT技术设施的交付和使用模式,通过按需易扩展的方式获得所需的资源,包括基础架构,平台,软件等

广义的是指:通过网络按需、易扩展的方式获得所需的服务,这种服务可以是IT和软件,互联网相关的,也可以是任意其他的服务。比如,医疗云,教育云等

3.云计算的部署模式:

1.private cloud(私有云)

2.public cloud(公有云)

【私有云和公有云通过企业防火墙隔离】

3.混合云

4.云计算的商业应用模式:

IaaS(Infrastructure as a service):将基础设施当作服务(虚拟机的租用,云盘等)

PaaS(Platform as a service):主要面型技术开发者

SaaS(Software as a service):面向中断用户

二、云计算的价值

1.行业客户对云的认知

  • 大多数客户人为云计算必须演进至开放平台
  • 认为交付将基于云来进行
  • 认为找到合适的战略合作伙伴以启动云战略至关重要
  • 且和多人关心云平台的安全性

2.行业客户反应的困难与挑战

  • 复杂性与平滑过度
  • 可靠性
  • 工作负载及可迁移性
  • 数据的安全性
  • 厂商锁定
  • 看不到投资回报

3.云计算的价值:

  • 只能资源的调度,即实现负载均衡和通过热迁移来实现节能减排
  • 提高资源的利用率通过的方式:通过资源共享通过分时共享
  • 分布式的计算和存储
  • 统一管理
  • 业务快速部署

4.云计算带来的机会

- 对于云计算供应商

- 对于最终的消费者

- 对于中小型客户

- 对于企业级的客户

- 对于政府机构

三、虚拟化技术的简介

  1. 虚拟化技术的起源

    虚拟化技术的发展由来:

    60年代在大型机有所应用

    90年代在小型机上出现逻辑区分的应用

    2000年,X86平台虚拟技术开始出现

    2001年,X86平台虚拟化技术在服务器上开始应用

    虚拟化技术的推动力:

    CPU的处理速度越来越快,超出软件对硬件性能的要求

    INTER和AMD在CPU里加入了虚拟指令

    企业成本压力

    环保压力

    不断增长的业务压力

  2. 虚拟化的概念

    虚拟化是指通过虚拟化技术,将一台计算机虚拟为堕胎逻辑计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可以运行不同的操作系统,并且,应用程序都可以在相互独立的空间内运行而互不影响,从而显著的提高了计算机的工作效率。

    物理机:宿主机

    虚拟机:客户机

虚拟化后的区别就是:物理机上可以同时运行多个虚拟机,而且还有虚拟机监控器,通过虚拟机监控器的模拟,可以使得虚拟机在上层软件看来就是一个真实的机器。

虚拟机是将物理资源池化了,多个虚拟机直接从资源池种获取资源,与硬件解耦和。

  1. 虚拟化的主要内容
  2. 计算虚拟化:CPU虚拟化 内存虚拟化 IO虚拟化
  3. 存储虚拟化:裸设备+逻辑卷 存储设备虚拟化 主机存储虚拟化+文件系统
  4. 网络虚拟化: VPN VLAN
  5. 虚拟化的本质

    分区

    隔离

    封装

    独立

  6. 5.虚拟化技术的应用案例:—热迁移

四、OpenStack 的架构—了解各个组件

  1. 提供身份认证服务的 Keystone组件

    主要负责身份服务,管理用户、租户、角色、服务和服务断点

    可以支持SQL,PAM,LDAP作为后端

  2. 提供计算服务的Nova组件

    主要负责虚拟机实例的调度分配以及实例的创建、起停、迁移、重启等操作,从而来管理云中实例的生命周期。

    是整个云中的组织控制器

    主要功能:

    计算服务:

    计算节点运行虚拟机的分布式控制器

    负责处理器调度策略及API调用等。

  3. 提供镜像服务的 Glance组件

    能够实现镜像的创建、镜像快照管理、以及镜像模板等等。

    同时也支持各种格式的镜像格式

  4. 提供对象存储服务的Swift

    主要提供了存取数据的应用服务。

    通常用于保存非结构化的数据,比如通常作为Glance组件的存储后端或者作为一些云盘等应用

  5. 提供网络服务的Neutron

    基于软件定义网络的思想,实现网路资源的软件化管理。支持各种各样类型的插件,实现多租户网络的隔离。也可以对硬件以及软件的解决方案进行集成。

  6. 提供块存储服务 Cinder

    为虚拟机实例提供卷的持久化服务,同时支持一些对卷的快照、备份等的一些管理。基于插件的架构,非常易于扩展。

    总结:块存储服务 持久化磁盘 基于插件的架构,易于扩展

  7. 提供WEB统一化管理界面服务的 HORIZON组件

    主要提供了自动化仪表板的管理服务,实现对用户、租户、卷、网络等几乎多有资源的图形化管理。

  8. 提供监控和计量服务的 Ceilometer

    提供对Opens tack中平台组件的监控

    提供纪良服务

五、NOVA

1、什么是Nova?

Nova是Open stack云中的计算组织控制器,管理opens tack云中实例的生命周期的左右活动,使得nova称为一个负责管理计算资源、网络、认证所需的可扩展性平台。

2.常用术语

KVM:内核虚拟化,Open Stack 默认的Hypervisor

Qemu: KVM 的替补角色,没有KVM的执行效率高,不支持全虚拟化

Flavor:新建虚拟机的配置列表,虚拟机模板

Keypair:ssh连接访问实例的密钥对

安全组:是一个控制访问策略的容器,里面包含了各种各样的安全组规则

安全组规则:用来控制实例访问的具体策略

3.Nova框架

Nova组件

Nova API:提供了统一风格的 RestAPI接口,作为Nova组件的入口,接受用户的请求

Nova scheduler :负责调度,将实例分配到具体的计算节点

Nova conductor:主要负责与Nova数据库进行交互

Nova compute:用于虚拟机实例的创建和管理

以及提供消息传递的消息队列:Nova各个组件之间的消息传递

和数据库模块:

【重要!!!!】Nova各个组件如何协作运行?

首先,用户通过CLI命令行或者horizon向Nova组件提出创建实例的请求时,Nova API 作为Nova的入口,将会接受用户的请求,将会以消息队列的方式,将请求发送给Nova scheduler,Nova scheduler从消息队列中,侦听到Nova API的消息队列后,去数据库中查询,当前计算节点的负载和使用情况,由于Nova scheduler不能直接跟数据库进行交互,因此,将会借助于消息队列的方式通过Nova conductor组件,进而与数据库进行交互,然后将查询到的结果,将虚拟机实例分配到当前负载最小,并且满足启动虚拟机实例的那个计算节点上,但最终的虚拟机实例的组件,还是要靠Nova compute来完成。但是实例的创建,离不开镜像、网络等一些资源的配合,因此,Nova compute将会与Nova volume、Nova network等等一些组件通过消息队列的方式实现相互的协作。最终完成虚拟机实例的创建。

  1. Nova的功能特性:

    • 实现实例的生命周期的管理

    • 调动管理平台的网络、存储等资源

    • 提供了统一风格的 RestAPI接口

    • 支持KVM、VMware等透明的hypervisor

    • 各个模块之间通过消息队列来进行消息传递

六、提供对象存储服务的Swift介绍

1.什么是Swift?

Swift 是 提供高可用分布式对象存储的服务,为nova组件提供虚拟机镜像存储服务,在数据冗余方面,无需采用read【?】通过在软件层面,引入一致性散列技术和数据冗余,牺牲一定得数据一致性,来达到高可用和可伸缩性。支持多租户模式下,容器和对象读写操作,适用于互联网应用场景下非结构化的数据存储,比如,华为云盘等。

2. Swift中的常用术语【1】

Account:用户定义的管理存储区域

Container:存储隔间,类似于文件夹或者目录

Object:包含了基本的存储实体和它自身的元数据

Ring:环,记录了磁盘上存储的实体名称和物理位置的映射关系。

以上术语之间的关系:

首先,可以创建多个account,每个account里可以创建多个容器container,每个container下可以创建多个object,【container 之间不能相互嵌套】

Swift的介绍

Swift在物理结构上往往会存储对象的多个副本,通常按照物理位置的特点,将对象拷贝到不同的物理位置的特点,将对象拷贝到不同的物理位置上,来保证数据的可靠性。

常用术语2

Region:地域,从地理位置上划分的一个概念

Zone:可用区,按照独立的供网、供电既基础设备划分

Node:节点,代表了一台存储服务器

Disk:磁盘,代表着物理服务器上的存储设备

Cluster:群集,为冗余考虑而设计的架构

以上术语之间的关系:

可以根据不同的物理位置,有不同的Region,不同的region代表两个不同的城市,然后在同一个region下,为冗余的考虑,设置了多个可用区,zone。每一个可用去可以有不同的存储节点,node;在更大的架构上,两个region可以构成一个cluster。

  1. Swift的架构

    首先,用户提出一个对象存储服务的申请,由Swift的API接受和处理,收到之后,先去找???认证节点,对用户的身份进行认证。认证通过后,将请求提交给,名称为Swift Proxy的组件,Swift Proxy是Swift 的代理,由Swift Proxy来确定究竟应该将存储对象放在哪一个满足存储要求的存储节点上。最终将对象存储到指定的存储节点上即可。最终将返回结果返回给用户。

    05Keystone 简介

    提供身份验证、服务规则和服务令牌功能

    任何服务之间相互调用,都需要经过keystone的身份验证

常用术语:

User:Openstack最基本的用户

Project:指分配给使用者的资源的集合

Role:代表一组用户可以访问组员的权限

Domain:定义管理边界,可以包含多个project/tenant、user、role等

Endpoint:服务的URL路径,暴露出来的访问点

七、Keystone认证模型

首先创建两个域domain1和2,给两个公司使用,每个公司在domain下创建三个子公司project1 2 3,project下可以创建多个用户User,用户User可以跨多个project存在。

Keystone认证原理

当用户再创建时,将通过Keystone将会创建一个访问令牌accesstoken,假设当用户提出创建虚拟机实例的请求时,首先将自己的访问令牌和访问请求提交给NOVE服务,NOVE服务为确保用户的访问令牌并没有篡改过,因此首先会将访问令牌交给keystone进行验证,验证通过后nova为了启动虚拟机的实例,还需要向Glance组件申请相关的镜像资源,Glance为保证访问令牌在传递的过程中没有被篡改过,也需要将访问令牌发送给keystone做确认,验证通过后将会发放镜像资源给nova组件,虚拟机实例的创建还需要存储、网络等资源,因此nova组件还需要给负责各种资源的模块传递申请资源的请求,资源申请的过程中都会伴随这访问令牌的验证,nova拿到启动虚拟机实例的所有资源后进行实例的启动,然后分配给相关的用户。整个过程来看组件之间资源的调用都离不开keystone的验证….

八、Neutron介绍

1.Neutron的简介:

Neutron时open stack中负责提供网络服务的组件,基于软件定义网络的思想,实现软件化的网络资源管理,在实现上,充分利用了linux系统中各种与网络相关的技术,支持第三方插件

2. Neutron中常用的术语

Bridge-int:综合网桥,常用于实现内部网路通讯功能的网桥

Br-ex:外部网桥,通常用于跟外部网络通讯的网桥。

Neutron-server:提供了API接口,将配置好的API接口,提供给相关的插件,进行后续处理

Neutron-L2-agent:二层代理,用于实现二层网络通讯的代理,用于管理VLAN的插件,接受Neutron-server的指令来创建VLAN。

Neutron-DHCP-agent:为子网自动分发IP地址

Neutron-L3-agent:负责租户网络和floating IP之间的地址转换,通过linux iptables 中的NAT功能来实现IP转换

Neutron-metadata-agent:运行在网络节点上,用来响应nova中的metadata请求

LBaaS agent:为堕胎实例和open vswitch agent提供负载均衡服务

3. Neutron的架构

当Neutron通过API接口,接受来自用户或者其他组件的网络请求时,以消息队列的方式提交给2、3层代理,其中Neutron-DHCP-agent实现子网的创建和IP地址的自动分发。而Neutron-L2-agent实现相同VLAN下,网络的通信,Neutron-L3-agent实现同一个租户网络下,不同子网间的通信

继续阅读