文档章节

openstack-mitaka安装文档-Compute服务安装

J
 JennerLuo
发布于 2016/08/10 23:34
字数 2182
阅读 129
收藏 0

 

计算服务概述

用户OpenStack计算去托管和管理云计算系统。OpenStack计算是基础即架构服务(IaaS)系统的一个重要组成部分。主要模块是用Pthon实现的。

OpenStack计算与OpenStack身份认证进行认证交互;OpenStack Image提供磁盘和服务器镜像服务;而OpenStack dashboard为用户提供界面交互。镜像的访问是受项目和用户的限制;配额是受每个项目限制(如云主机实例的数量)。OpenStack计算可横向扩展标准硬件,并且下载镜像到启动的云主机实例。

OpenStack计算由下面几方面和组件构成:

Nova-api service

接受和响应终端用户计算API的调用。该服务支持OpenStack计算API,Amazon EC2 API,和给特权用户执行管理操作的特定管理API。它执行一些政策,并启动大部分的业务流程活动,例如运行一个实例。

nova-api-metadata service

接受来自云主机实例的元数据请求。当你的OpenStack环境是采用nova-network的多节点模式进行安装时,nova-api-metadata服务通常是需要被用到的。更多细节,请查看Metadata service手册。

nova-compute service

一个工作守护进程通过管理程序API来创建和终止虚拟机实例。例如:

l  XenAPI for XenServer/XCP

l  libvirt for KVM or QEMU

l  VMwareAPI for Vmware

处理是相当复杂的。基本上,该守护进程接受来自队列的操作并执行一系列的系统命令,例如启动一个KVM实例和更新其在数据库中的状态。

nova-scheduler service

从队列中取出一个虚拟机实例请求,并确定它运行在个计算服务器主机。

nova-conductor module

调解nova-compute计算服务和数据库之间的相互作用。它消除了直接访问由nova-compute服务组成的云数据库。Noa-conductor模块水平缩放。可是不要在运行nova-compute服务的节点部署它。更多信息查看,Configuration Reference Guide.

nova-cert module

一个服务器守护进程为Nova Cert服务提供X509证书服务。用于生成euca-bundle-image证书。只有在EC2 API使用中才会被用到。

nova-network worker daemon

和nova-compute服务类似,接受来自队列的网络任务并操作网络。执行任务,例如设置格拉接口或者改变Iptables规则。

nova-consoleauth daemon

为用户控制台代理提供授权令牌。请了解See nova-novncproxy 和 nova-xvpvncproxy。此服务必须运行于控制代理工作中。你可以在配置单nova-consoleauth服务的集群配置中运行两种类型的代理。更多信息,查看About nova-consoleauth.

nova-novncproxy daemon

为通过VNC连接访问运行中的云主机实例提供代理。支持基于浏览器的VNC客户端。

nova-spicehtml5proxy daemon

为通过SPICE连接访问运行中的云主机实例提供代理。支持基于浏览器的HTML客户端。

nova-xvpvncproxy daemon

为通过VNC连接访问运行中的云主机实例提供代理。支持基于特定的OpenStack  java客户端。

nova-cert daemon

x509 证书

nova client

允许用户提交作为管理或终端用户的命令。

The queue

守护进程之前进行消息传递的一个中心枢纽。通常用RabbitMQ实现,也可以用另一个AMQP消息队列来实现,如ZeroMQ。

SQL database

为云基础架构提供大多数编译时和运行时的状态存储,包括:

l  可用实例类型

l  在使用实例

l  可用网络

l  项目

理论上,OpenStack可以支持SQL-Alchemy支持的任务数据库。常见的SQLite3数据库用于测试和开发工作,MySQL, 和 PostgreSQL。

安装和配置控制节点

下面步骤介绍如何在控制节点安装和配置计算服务。

先决条件

开始安装和配置镜像服务前需要先创建一个数据库,服务凭证和API端点。

1.以下几步完成数据库创建:

l用root账号登陆数据库

mysql -u root -p

l创建nova_api 和 nova数据库

CREATE DATABASE nova_api;
CREATE DATABASE nova;

l给数据库授权

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';

l退出数据库

2.加载admin凭证

. admin-openrc

3.创建服务凭证

l创建nova用户

openstack user create --domain default --password-prompt nova

l将admin角色添加给nova用户

openstack role add --project service --user nova admin

l创建nova service entity

openstack service create --name nova --description "OpenStack Compute" compute

4.创建nova service API endpoints

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

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

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

安装和配置组件

1.安装软件包

yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler

2.编辑/etc/nova/nova.conf文件,完成下面几步修改

l在[DEFAULT],配置仅启用计算和元数据API:

[DEFAULT]
...
enabled_apis = osapi_compute,metadata

l在[api_database] 和 [database]部分,配置数据库的访问

[api_database]
...
connection = mysql+pymysql://nova:nova@controller/nova_api
 
[database]
...
connection = mysql+pymysql://nova:nova@controller/nova

l在[DEFAULT]和[oso_messaging_rabbit]部分,配置RabbitMQ消息队列访问

[DEFAULT]
...
rpc_backend = rabbit 
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = xxxxxxxx

l在[DEFAULT]和[keystone_authtoken],配置Identity服务数据库访问

[DEFAULT]
...
auth_strategy = keystone
 
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova

l在[DEFAULT]部分,将my_ip配置为controller节点的管理接口IP地址

[DEFAULT]
...
 my_ip = 192.168.213.81

l在[DEFAULT]部分,启用对网络服务的支持

[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

l在[vnc]部分,配置VNC代理使用controller节点管理接口IP地址

[vnc]
...
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

l在[glance]部分,配置镜像服务API的location

[glance]
...
api_servers = http://controller:9292

l在[oslo_concurrency]部分,配置镜像服务API的location

[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

3.同步填充Compute数据库

# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova

若输入下列deprecation信息,可忽略

完成安装

1.启动compute服务并配置开机自启动

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

安装和配置计算节点

这部分描述如何在计算节点安装和配置计算服务。该服务支持几种hypervisors去部署instancesVMs。为简单起见,这个配置在计算节点使用带KVM扩展的QEMU管理程序,它应支持硬件加速的虚拟机。在旧式硬件上,该配置使用通用的QEMU管理程序。你可以按照这些说明进行较小的修改,以水平扩展你的环境与额外的计算节点。

 

安装和配置组件

1.安装软件包

yum install openstack-nova-compute

2.编辑/etc/nova/nova.conf文件,完成下面几步修改

l在[DEFAULT]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问:

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

RABBIT_PASS换成正确的密码

l在[default] 和 [keystone_authtoken]部分,配置Identity service的访问

[DEFAULT]
...
auth_strategy = keystone
 
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova

l在[default]部分,配置my_ip

[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

   MANAGEMENT_INTERFACE_IP_ADDRESS替换成计算节点的管理网络接口的IP地址

l在[default]部分,打开网络服务支持

[DEFAULT]
...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

l  在[vnc]部分,配置远程控制台的访问

[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

服务器组件监听所有的IP地址,代理组件只监听计算节点的管理接口IP地址。Base URL表示你可以使用Web浏览器访问计算节点上实例远程控制台的位置。

l在[glance]部分,配置Image service API的位置

[glance]
...
api_servers = http://controller:9292

l在[oslo_concurrency]部分,配置lock path

[oslo_concurrency]
...
lock_path = /var/lib/nova/tmp

完成安装

1.测试计算节点是否支持虚拟机的硬件加速

egrep -c '(vmx|svm)' /proc/cpuinfo

如果命令返回值是大于等于1,说明你的计算节点支持硬件加速,这种情况通常不需做额外配置。如果命令返回值是0,你的计算节点不支持硬件加速,必须将的libvirt由KVM改为QEMU。

l在编辑/etc/nova/nova.conf文件,并按下面内容修改[libvirt]部分

[libvirt]
...
virt_type = qemu

2.启动服务并设置开机自启动

systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service

验证操作

在controller节点执行下面命令

1.加载admin凭证

. admin-openrc

2.例出服务组件以验证每个进程的成功推出和注册

openstack compute service list

 

备注:输入应该列出在控制节点启动的三个服务组件和在计算节点启动的一个服务组件。

© 著作权归作者所有

J
粉丝 5
博文 130
码字总数 75981
作品 0
深圳
程序员
私信 提问
OpenStack Mitaka 正式发布

伴随着OpenStack的第十三次发布(mitaka),企业和服务提供商可以获得更好、更强的管理性、可扩展性以及更好的用户体验。感谢来自293家公司的2336贡献者在每一个关键时刻及时的交付Mitaka。 ...

linuxprobe
2016/04/09
2K
2
安装Openstack的Mitaka版本的swift服务时,swift服务无法启动

你好,我在安装并且配置好Openstack的Mitaka版本的swift服务后,swift服务无法启动。proxy服务运行在controller node上,并且已经正常运行,chrony服务正常同步时间。 swift服务安装环境如下...

jokk
2016/08/19
729
0
OpenStack centos版安装(二)

在OpenStack第一天文档翻译后,丁丁努力坚持每晚抽时间翻译OpenStack官方网站提供的安装与部署指南,本文翻译自官方安装与部署指南的前四章内容,前四章内容主要是对OpenStack整体安装步骤以...

蓝狐乐队
2014/04/18
270
0
CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan)

CENTOS7 安装openstack mitaka版本(最新整理完整版附详细截图和操作步骤,添加了cinder和vxlan,附上个节点的配置文件) 实验环境准备: 为了更好的实现分布式mitaka版本的效果。我才有的是...

674591788
2018/06/26
0
0
OpenStack基础环境 [一]

OpenStack基础环境 [一] OpenStack基础环境 [一] openstack介绍  openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用来管理我们一个数据中心大量资源池。它里面包含了...

Abcdocker
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[转] Java 无界阻塞队列 DelayQueue 入门实战

原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元...

泥瓦匠BYSocket
8分钟前
1
0
zk中集群版中角色和消息类型

服务器角色 LEADER LEARNER FOLLOWING OBSERVER 消息类型 数据同步 服务器初始化 请求处理型 会话管理型 LEADER 集群工作核心,作用有: 1事务请求唯一调度和处理者,保证事务处理顺序性 2集...

writeademo
10分钟前
2
0
阿里云推送的基本使用-Swift;iOS10+

func initCloudPush(){ CloudPushSDK.asyncInit("*****", appSecret: "*******") { (result) in if result!.success{ print("deviceId===......

west_zll
22分钟前
2
0
分布式及高可用元数据采集原理

转载本文需注明出处:微信公众号EAWorld,违者必究。 引言: 元数据采集是元数据产品的核心部分,如何提升采集效率是需要仔细斟酌的事情,既要保持稳定性也要保持跟上主流技术的发展趋势。元...

EAWorld
37分钟前
2
0
为构建社交关系链手淘都做了啥?

作者|王卫(泓冰) 出品|阿里巴巴新零售淘系技术部 01、淘宝社交关系推荐的背景 1、互联网下半场到来:互联网的下半场,人口红利消失,各大平台需要对用户做精细化运营,用户的增长和留存是每一...

阿里云官方博客
38分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部