云计算(cloud computing)
基于互联网的相关服务的增加,使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络,互联网的一种比喻说法。
早期 | 单机跑服务 |
中期 | 单机性能得到了非常大的提升,如果还是单机跑一个服务,服务器性能显得过剩。因此把很多服务器集中到一起,运行很多虚拟模式,每台虚拟机运行一个服务,这就是虚拟化 |
现在 | 美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。通常涉及通过互联网来提供 动态易扩展且经常是虚拟化的资源 |
云计算分类
Iaas 基础设施即服务 |
Infrastructure as a Service 提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU,内存,存储,网络和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序 三种用法:公有云,私有云和混合云 |
---|---|
Paas 平台即服务 |
Platform-as-a-Service 以服务器平台或者开发环境作为服务进行提供就是PaaS 不仅仅是单纯的基础平台,还提供技术支持服务,还进行应用系统开发,优化等服务 简单说,云环境中的应用基础设施服务,中间件即服务 |
SaaS 软件即服务 |
Soft-as-a-Service 通过inernet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务 现在用户向提供商租用基于web软件,不用维护软件,由提供商区全权管理,也提供离线操作和本地存储 |
Openstack
是由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目,是一套IaaS解决方案,开源的云计算管理平台,以Apache许可证为授权
Horizon | 管理其各种服务的,基于web的管理接口,通过图形界面实现创建用户,管理网络,启动实例等操作 |
---|---|
Keystone | 为其他服务器提供认证和授权的集中身份管理服务和目录服务 支持多种身份认证模式,如密码,令牌,AWS(亚马逊web服务器)登陆,为用户和其他服务器提供SSO认证服务 |
Neutron | 软件定义网络服务,用于创建网络,子网,路由器,管理浮动IP地址,可以实现虚拟交换机集合路由器,可以在项目中创建VPN |
Cinder | w为虚拟机管理存储器卷的服务,为运行在Nova中的实例提供永久的块存储,快照进行数据备份,经常应用在实例存储环境中,如数据库文件 |
Nova | 在节点上用于管理虚拟机的服务,在标准硬件上能够进行水平扩展 分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理,启动实例时,如果有则需要进行下载镜像 |
Glance | 扮演虚拟机镜像注册的角色,允许用户为直接存储拷贝服务器镜像,这些镜像可以用于新建虚拟机的模板 |
[root@localhost etc(keystone_admin)]# openstack-status
== Nova services ==
openstack-nova-api(对外提供服务的窗口,接受并影响用户的compute API调用): active
openstack-nova-compute(安装到每个物理主机上的服务进程,接受请求后执行一批与虚拟机相关的操作): active
openstack-nova-network(网络控制): inactive (disabled on boot)
openstack-nova-scheduler(接受虚拟机创建的请求,并决定在哪台物理机上启动该虚拟机的调度器): active
openstack-nova-cert(提供了x509验证管理服务): active
openstack-nova-conductor(介于db和compute之间的组件,由它代为转交compute对代表db的请求): active
openstack-nova-console(控制台服务,允许最终用户通过代理服务器访问他们虚拟机的控制台): inactive (disabled on boot)
openstack-nova-consoleauth: active
openstack-nova-xvpvncproxy: inactive (disabled on boot)
== Glance services ==
openstack-glance-api(接收来自外部的API镜像请求,包括发现,获取和存储): active
openstack-glance-registry(用于存储,处理,和获取镜像元数据): active
== Keystone service ==
openstack-keystone(提供身份验证和授权): inactive (disabled on boot)
== Horizon service ==
openstack-dashboard: active
== neutron services ==
neutron-server(用于接收来自外部的API请求,并将改请求交给合适的neutron来处理): active
neutron-dhcp-agent(为租户网络提供DHCP服务,每个插件都是使用这一个代理): active
neutron-l3-agent(为虚拟机访问外部网络提供3层转发服务): active
neutron-metadata-agent: active
neutron-openvswitch-agent: active
neutron-metering-agent: active
== Cinder services ==
openstack-cinder-api(接受外部的API请求,把请求交给cinder-volume执行): active
openstack-cinder-scheduler(会找一个最佳的节点创建volume): active
openstack-cinder-volume(负责与底层的块存储服务打交道,相应读写块设备请求,把请求交给块存储服务): active
openstack-cinder-backup: inactive (disabled on boot)
== Ceilometer services ==
openstack-ceilometer-api: inactive (disabled on boot)
openstack-ceilometer-central: active
openstack-ceilometer-compute: active
openstack-ceilometer-collector: active
openstack-ceilometer-notification: active
额外:
openstack-nova-db 数据库表,记录虚拟机状态,虚拟机与物理机的对应关系,租户信息等数据内容
openstack-nova-objectstore 在Glance中注册镜像的s3接口服务
swift proxy-server 属于swift系统的内部和外部之间,负责接受api或http请求
container-server 用于管理容器或文件夹的映射关系
account-server 仅用于账号管理
object-server 管理在存储节点上的实际对象,还有一些定期执行的进程,比如repilication,auditor,updater,reapter
openstack-cinder-db 用于记录和维护块设备的信息
openstack-glance-db 存储元数据
工作原理:
以创建虚拟机为例,用户先接触到的是界面即horizon,通过horizon上的简单界面操作,一个创建虚拟机的请求被发送到openstack系统后端。接着指定虚拟机的操作系统,下载启动镜像,这件事情由glance提供,但这个镜像可能存储在swift上,所以需要与swift交互得到需要的镜像文件。
再创建虚拟机的时候 ,需要用到cinder提供块服务和neutron提供的网络服务,方便虚拟机有volume可以使用,能被分配到IP地址查询与外界网络链接,然后虚拟机资源的访问要经过keystone的认证之后才可以继续。
安装openstack
准备安装环境
1.在物理机上安装yum源,CentOS7-1708.iso RHEL7-extras.iso RHEL7O