OpenStack 计算服务 Nova介绍和控制节点部署(七)
介绍
Nova是openstack最早的两块模块之一,另一个是对象存储swift。在openstack体系中一个叫做计算节点,一个叫做控制节点。这个主要和nova相关,我们把安装为计算节点nova-compute,把除了nova-compute叫做控制节点。nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上。
nova组件(服务)
- API:负责接受和响应外部请求。支持OpenStack API,EC2 API
- Cert:负责身份认证EC2
- Scheduler:用于云主机调度
- Conductor:计算节点访问数据的中间件
- Consoleauth:用于控制台的授权验证
- Novncproxy:VNC代理
提示:EC2是亚马逊弹性计算云
Nova API
- nova-api组件实现了RESTful API功能,是外部访问Nova的唯一途径。
- 接收外部的请求并通过Messages Queue将请求发送给其他的服务组件,同时也兼容EC2 API,所以也可以用EC2的管理工具对nova进行日常管理。

Nova scheduler
Nova scheduler模块在openstack中的作用就是决策虚拟机创建在那个主机(计算节点)上。
决策一个虚拟机应该调度到那个物理节点,需要分两个步骤:
- 过滤(Filter)
- 计算权值(Weight)
Q:实际操作中可能会出现找不到有效的主机?实际上是有资源的,为什么?
因为在openstack中nova scheduler认为没有资源创建虚拟机,即使你有100G内存,如果nova scheduler认为你没有资格,就无法进行创建虚拟机。这个时候可能是某一个节点故障,如网络或者其它。
Q:如果决策虚拟机创建在那个主机?
1、Filter Scheduler首先得到未经过滤的主机列表,然后根据过滤属性,选择符合条件的计算节点主机。

2、计算权重,经过主机过滤后,需要对主机进行权值的计算,根据策略选择相应的某一台主机(对于每一个要创建的虚拟机而言)。

Nova 控制节点部署
1、安装软件包
yum install -y openstack-nova-api openstack-nova-conductor \
openstack-nova-console openstack-nova-novncproxy \
openstack-nova-scheduler
2、数据库配置
- 修改配置文件/etc/nova/nova.conf
[root@linux-node1 ~]# vim /etc/nova/nova.conf
[database]
connection=mysql+pymysql://nova:nova@192.168.137.11/nova
[api_database]
connection=mysql+pymysql://nova:nova@192.168.137.11/nova_api
- 同步数据库
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage db sync" nova
提示:有警告可以忽略
- 检查是否有表结构
mysql -h 192.168.137.11 -unova -pnova -e "use nova;show tables;"
mysql -h 192.168.137.11 -unova -pnova -e "use nova_api;show tables;"
3、配置keystone
[root@linux-node1 ~]# vim /etc/nova/nova.conf
[keystone_authtoken]
auth_uri = http://192.168.137.11:5000
auth_url = http://192.168.137.11:35357
memcached_servers = 192.168.137.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
[DEFAULT]
auth_strategy=keystone
4、RabbitMq(消息队列配置)
[root@linux-node1 ~]# vim /etc/nova/nova.conf
rpc_backend=rabbit
rabbit_host=192.168.137.11
rabbit_port=5672
rabbit_userid=openstack
rabbit_password=openstack
5、配置nova自己的一些功能
- 设置启用的元数据API
[DEFAULT]
enabled_apis=osapi_compute,metadata
- 启动网络服务支持和关闭防火墙
[DEFAULT]
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
- 配置VNC代理使用控制节点的管理接口IP地址
[vnc]
vncserver_listen=192.168.137.11
vncserver_proxyclient_address=192.168.137.11
- 配置镜像服务 API 的位置
[glance]
api_servers=http://192.168.137.11:9292
- 配置锁路径
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
6、设置开机启动,并启动服务
systemctl enable openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service systemctl start openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
7、keystone上注册nova服务
- 创建nova服务
source /root/admin-openstack.sh
openstack service create --name nova --description "Openstack Compute " compute

- 创建Compute服务api端点(公有、私有、admin)
openstack endpoint create --region RegionOne \
compute public http://192.168.137.11:8774/v2.1/%\(tenant_id\)s

openstack endpoint create --region RegionOne \
compute internal http://192.168.137.11:8774/v2.1/%\(tenant_id\)s

openstack endpoint create --region RegionOne \
compute admin http://192.168.137.11:8774/v2.1/%\(tenant_id\)s

8、检查控制节点是否成功
openstack host list

OpenStack 计算服务 Nova介绍和控制节点部署(七)的更多相关文章
- OpenStack 计算服务 Nova介绍和控制节点部署 (八)
一)nova在keystone上服务注册 1.1创建nova务实体 [root@controller ~]# source admin-openrc [root@controller ~]# open ...
- OpenStack 存储服务 Cinder介绍和控制节点部署(十五)
Cinder介绍 OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷.此服务也会激活管理卷的快照和 ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (九)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- OpenStack 存储服务 Cinder介绍和控制节点部署 (十三)
Cinder介绍 OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷.此服务也会激活管理卷的快照和 ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (十)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- OpenStack 计算服务 Nova计算节点部署(八)
如果使用vmware虚拟机进行部署,需要开启虚拟化:如果是服务器需要在bios上开启. nova计算节点IP是192.168.137.12 环境准备 安装时间同步 yum install ntpdat ...
- OpenStack 计算服务 Nova计算节点部署 (九)
如果使用vmware虚拟机进行部署,需要开启虚拟化:如果是服务器需要在bios上开启. Nova Compute nova-compute 一般运行在计算节点上,通过Messages Queue接收并 ...
- 云计算管理平台之OpenStack计算服务nova
一.nova简介 nova是openstack中的计算服务,其主要作用是帮助我们在计算节点上管理虚拟机的核心服务:这里的计算节点就是指用于提供运行虚拟机实例的主机,通常像这种计算节点有很多台,那么虚拟 ...
- 【openstack N版】——计算服务nova
一.openstack计算服务nova 1.1nova介绍 Nova是openstack最早的两块模块之一,另一个是对象存储swift.在openstack体系中一个叫做计算节点,一个叫做控制节点.这 ...
随机推荐
- python 回溯法 子集树模板 系列 —— 16、爬楼梯
问题 某楼梯有n层台阶,每步只能走1级台阶,或2级台阶.从下向上爬楼梯,有多少种爬法? 分析 这个问题之前用分治法解决过.但是,这里我要用回溯法子集树模板解决它. 祭出元素-状态空间分析大法:每一步是 ...
- Partition2:对现有表分区
在SQL Server中,普通表可以转化为分区表,而分区表不能转化为普通表,普通表转化成分区表的过程是不可逆的,将普通表转化为分区表的方法是: 在分区架构(Partition Scheme)上创建聚集 ...
- SpringBoot日记——MQ消息队列整合(一)
除了之前讲到的缓存,我们还会用到消息队列来存储一些消息,为了提升系统的异步性能等等: 消息服务有两个概念需要知道:消息代理-message broker,目的地-destination.消息发送由代理 ...
- Spring学习总结之面向切面(AOP)
AOP术语 通知(advice):定义切面是什么以及什么时候使用 连接点(join point):应用在执行过程中能够插入切面的点 切点(pointcut):切点的定义会匹配通知所要织入的一个或多个连 ...
- 《Linux内核分析》第一周学习报告
第一周:计算机是如何工作的 姓名:王玮怡 学号:20135116 第一节 存储程序计算机工作模型(冯诺依曼体系结构) IP指向的内存地址,取指令执行,完成后,IP值自加一,取下一条指令再执行. AP ...
- 《Linux内核设计与实现》第5章读书整理
<第五章 系统调用>笔记 5.1 与内核通信 系统调用在用户空间和硬件设备之间提供了一个中间层. 中间层的作用: 为用户空间提供一 ...
- Git学习笔记 --第一章
本系列学习笔记参考廖雪峰Git教程 安装Git Linux平台 Ubuntu/Debian命令:sudo apt-get install git 其他版本 Git官网下载源码,然后解压,依次输入:. ...
- Daily Scrum - 11/17
今天小组例会内容较少.拜重阳将一个简易的UI设计好push上TFS了,其他人没有太多进展.在原有项目基础上继续开发看似工作量变少,其实开始需要弄清楚原先代码的实现架构和各种借口还是比较困难的.
- wc 统计程序
WC项目要求 这个项目要求写一个命令行程序,模仿已有的wc.exe的功能,并加以扩充,给出某程序设计源语言文件的字符数.单词数和行数.给实现一个统计程序,它能正确统计程序文件的字符数.单词数.行数,以 ...
- (转)广度优先搜索BFS和深度优先搜索DFS
1. 广度优先搜索介绍 广度优先搜索算法(Breadth First Search),又称为"宽度优先搜索"或"横向优先搜索",简称BFS. 它的思想是:从图中 ...