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体系中一个叫做计算节点,一个叫做控制节点.这 ...
 
随机推荐
- Qt 的线程与事件循环
			
Qt 的线程与事件循环
 - CSS快速入门-属性和伪类
			
一.属性选择器 <div class="gradefather"> hello1 <div name="son">hello2 < ...
 - 阿里云centos 安装禅道
			
下载 我的阿里云服务器系统是 centos6.8 64 位,下载的禅道版本是 Linux 64位一键安装包(适用于Linux 64位) 由于阿里云服务器没桌面,所以下载用不了浏览器,可考虑在本地下载后 ...
 - 给Android Studio 设置背景图片
			
初用Android Studio的我 看见这么帅的事情,肯定自己要设置试试(又可以边看女神边打代码了,想想都刺激)由于这不是AS的原始功能所以需要下载插件 先看看效果图吧: 1.下载插件 Sexy E ...
 - EOS开发基础之四:使用cleos命令行客户端操作EOS——智能合约之eosio.bios和eosio.token
			
现实世界中的合约,简单地说,是一个参与活动的所有人都需要遵循的协议.合约可以是正式的法律合同(例如,金融交易),或者是简单的游戏规则.典型的活动可以是诸如资金转移(在金融合约的情况下)或游戏动作(在游 ...
 - 《Linux内核设计与实现》第四章学习笔记——进程调度
			
<Linux内核设计与实现>第四章学习笔记——进程调 ...
 - C++:派生类的构造函数和析构函数的调用顺序
			
一.派生类 在C++编程中,我们在编写一个基类的派生类时,大致可以分为四步: • 吸收基类的成员:不论是数据成员还是函数成员,派生类吸收除基类的构造函数和析构函数之外的全部成员. • 改造基类函数:在 ...
 - Java的起源和发展
			
程序设计语言的发展 第一代语言:机器语言 0011 1100 …… 第二代语言:汇编语言 ADD 12,0x13 第三 ...
 - hibernate   创建工厂类
			
package cn.hibernate; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; / ...
 - 《TCP-IP详解卷1》中BGP部分的笔记