OpenStack 计算服务Nova [四]
标签(空格分隔): openstack
时间:2016年11月28日
博客地址:
www.abcdocker.com
公众号:
abcdocker
Nova简介:
Nova是openstack最早的两块模块之一,另一个是对象存储swift
。在openstack体系中一个叫做计算节点
,一个叫做控制节点
。这个主要和nova相关,我们把安装为计算节点nova-compute
,把除了nova-compute叫做控制节点。nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上。
nova有非常多的组件(服务)
**Nova服务介绍
API:
负责接受和响应外部请求。支持OpenStack API,EC2 API
Cert:
负责身份认证EC 2
Scheduler:
用于云主机调度
Conductor:
计算节点访问数据的中间件
Consoleauth:
用于控制台的授权验证
Novncproxy:
VNC代理**
提示:EC 2
是亚马逊云主机的意思
Nova scheduler
Nova scheduler
模块在openstack中的作用就是决策虚拟机创建在那个主机(计算节点)上
决策一个虚拟机应该调度到那个物理节点,需要分两个步骤:
**1、过滤(Fliter)
2、计算权值(Weight)**
提示:我们经常会出现找不到有效的主机?为什么?
因为nova scheduler
认为没有资源创建虚拟机,即使你有100G
内存,如果nova scheduler
认为你没有资格照样无法进行创建。scheduler
作用就是决策虚拟机创建在那个主机上
经过主机过滤后,需要对主机进行权值的计算,根据策略选择相应的某一台主机(对于每一个要创建的虚拟机而言)
控制节点设置:
数据库以及keystone修改我们在前面已经完成,所以在此跳过
安装软件包
[root@linux-node1 ~]# yum install openstack-nova-api openstack-nova-conductor \
> openstack-nova-console openstack-nova-novncproxy \
> openstack-nova-scheduler
在配置文件中修改数据库的连接地址
[root@linux-node1 ~]# vim /etc/nova/nova.conf
…
[database]
connection=mysql+pymysql://nova:nova@192.168.56.11/nova
…
[api_database]
connection=mysql+pymysql://nova:nova@192.168.56.11/nova_api
提示:不要修改错了,每个都在在相对应的模块下面进行修改
同步数据库
[root@linux-node1 ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@linux-node1 ~]# su -s /bin/sh -c "nova-manage db sync" nova
提示:db的有警告可以忽略
检查是否有表结构
[root@linux-node1 ~]# mysql -h 192.168.56.11 -unova -pnova -e "use nova;show tables;"
[root@linux-node1 ~]# mysql -h 192.168.56.11 -unova_api -pnova_api -e "use nova_api;show tables;"
配置keystone
[root@linux-node1 ~]# vim /etc/nova/nova.conf
…
[keystone_authtoken]
auth_uri = http://192.168.56.11:5000
auth_url = http://192.168.56.11:35357
memcached_servers = 192.168.56.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
…
[DEFAULT]
auth_strategy=keystone
#打开注释,此行代表使用keystone进行认证
RabbitMq(消息队列配置)
因为nova
服务之间使用消息队列进行沟通,所以我们需要配置rabbitmq
[root@linux-node1 ~]# vim /etc/nova/nova.conf
[DEFAULT]
rpc_backend=rabbit
#搜索rpc_backend打开注释
rabbit_host=192.168.56.11
将localhost修改为IP地址
rabbit_port=5672
端口我们可以开启也可以不开启默认就好
rabbit_userid=openstack
rabbit_password=openstack
这个是我们在rabbitmq上配置的用户
配置nova自己的一些功能
设置启用的元数据API
[root@linux-node1 ~]# vim /etc/nova/nova.conf
[DEFAULT]
enabled_apis=osapi_compute,metadata
启动网络服