目录
一、理论部分
- 了解Openstack的基本概念
- 了解Openstack的工作原理
- 了解Openstack主要组件的使用
(1)Openstack是什么
Openstack是一个云操作系统,控制着一个大规模(数据中心级别)的资源池,资源池包含计算、存储和网络。给管理员提供一个仪表盘去控制资源池里所有资源,最终用户可以通过web页面下发(获得)这些资源。
(2)云与操作系统
1、虚拟化与云计算
虚拟化是将物理资源分配给多个虚拟机,提高硬件资源利用率,重点在于分配物理资源的能力。云计算通过管理众多云虚拟机对外提供服务,重点在于提供服务。并且能够多租户之间隔离,按需使用、按量计费。
2、操作系统功能
云也被当成操作系统,因为它也提供了:资源抽象、资源分配与负载调度、应用的生命周期管理、系统运维及人机交互等。
(3)Openstack的定位
OpenStack只是云计算系统的控制面,为了构建一个云,我们还需要很多东西。
(4)openstack的设计理念
开放:1.开源。2.尽最大可能重用已有开源项目。
灵活:1.不使用任何不可替代的私有/商业组件(如华为云用GaussDB替代MySQL)。2.大量使用插件化方式进行架构设计与实现。
可拓展:1.由多个相互独立的项目组成。2.每个项目包含多个独立服务组件。3.无中心架构。4.无状态架构(高可用)。
(5)Openstack各主要项目间相互关系
在Dashboard[Horizon]上申请一台云虚拟机流程:Network[Neutron]提供网络,Block Storage[Cinder]提供卷,image[Glance]提供操作系统镜像(image不存储镜像,只存镜像目录,镜像实际存储在Object Storage[Swift]),然后交由Compute[Nova]创建虚拟机。在这个过程中Identity[Keystone]为各个独立的服务提供认证、鉴权服务
(6)Openstack各主要项目间相互关系
在Dashboard[Horizon]上申请一台云虚拟机流程:Network[Neutron]提供网络,Block Storage[Cinder]提供卷,image[Glance]提供操作系统镜像(image不存储镜像,只存镜像目录,镜像实际存储在Object Storage[Swift]),然后交由Compute[Nova]创建虚拟机。在这个过程中Identity[Keystone]为各个独立的服务提供认证、鉴权服务。
(7)Openstack部署
对于双机模式来说,可让vm流量和内部管理流量共一个网卡,故我们的实验环境为:
外网:ens33,即设置为nat模式的第一块网卡。
IP为192.168.1.x的设备。
内网:ens34(或ens37),即设置为仅主机模式的第二网卡。IP为20.0.0.x。
(8)计算组件nova
OpenStack中提供计算资源服务的项目
Nova负责:虚拟机生命周期管理,其他计算资源生命周期管理
Nova不负责:承载虚拟机的物理主机自身的管理,全面的系统状态监控
Nova是OpenStack事实上最核心的项目
API接收简单用户请求(开关虚拟机)->Compute(计算节点)处理请求,API接收复杂用户请求(创建虚拟机)->Conductor(指令器)->Scheduler(调度器)选择空闲的Compute->Conductor发送指令给Compute,Compute中实际执行指令的是Hypervisor(虚拟机监视器)。
(9)块存储服务组件cinder
为云平台提供统一接口,按需分配的,持久化的块存储服务。
核心功能是对卷的管理,允许对卷、卷的类型、卷的快照、卷备份进行操作。
为后端不同的存储设备提供了统一的接口,不同的块设备服务厂商在Cinder 中实现其驱动支持以与OpenStack进行整合。
(10)网络服务组件neutron
L2 Agent:二层网络服务,提供基础服务,部署在所有计算节点
L3 Agent:三层网络服务,提供IP、交换、路由服务,根据业务情况部署在网络节点或者计算节点,华为云部署在计算节点
DHCP Agent:DHCP服务
Adv Services:高级网络服务,如负载均衡
neutron组件之间通过消息队列通信
二、实验部分
需求描述
- 用脚本安装Openstack网络组件
实现思路
- 编辑Openstack环境变量脚本/etc/xiandian/openrc.sh正确设置外网和管理网的网卡和IP地址,配置必须的组件的帐户和登录密码,以及虚拟网络。
- 执行必须的组件对应的安装脚本。