Openstack(九)部署nova服务(控制节点)
9.1nova服务介绍
nova是openstack最早的组件之一,nova分为控制节点和计算节点,计算节点通过nova computer进行虚拟机创建,通过libvirt调用kvm创建虚拟机,nova之间通信通过rabbitMQ队列进行通信,其组件和功能如下:
API:负责接收和响应外部请求。
Scheduler:负责调度虚拟机所在的物理机。
Conductor:计算节点访问数据库的中间件。
Consoleauth:用于控制台的授权认证。
Novncproxy:VNC 代理,用于显示虚拟机操作终端。
官方部署文档:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/common/get_started_compute.html
Nova-API的功能:
Nova-api组件实现了restful API的功能,接收和响应来自最终用户的计算API请求,接收外部的请求并通过message queue将请求发动给其他服务组件,同时也兼容EC2 API,所以也可以使用EC2的管理工具对nova进行日常管理。
nova scheduler:
nova scheduler模块在openstack中的作用是决策虚拟机创建在哪个主机(计算节点)上。决策一个虚拟机应该调度到某物理节点,需要分为两个步骤:
过滤(filter),过滤出可以创建虚拟机的主机
9.2安装nove控制节点
官方安装文档:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/nova-controller-install.html
9.2.1安装nova控制端
# 在控制服务器安装
# yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-placement-api
9.2.2数据库准备
# 注mariaDB使用时需三个库都添加本主机权限GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'<主机名>' IDENTIFIED BY 'nova123';
# mysql
> CREATE DATABASE nova_api;
> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova123';
> CREATE DATABASE nova;
> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova123';
> CREATE DATABASE nova_cell0;
> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova123';
> flush privileges;
9.2.3验证数据库

9.3配置nova控制端服务
控制端服务器操作
9.3.1创建nova服务
# openstack service create --name nova --description "OpenStack Compute" compute
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Compute |
| enabled | True |
| id | f5d5af647ae040eca5bf7d878c23086d |
| name | nova |
| type | compute |
+-------------+----------------------------------+
9.3.2创建公共端点
# openstack endpoint create --region RegionOne compute public http://192.168.10.100:8774/v2.1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 9ea17b1200fc40ed84de2c66651d8298 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f5d5af647ae040eca5bf7d878c23086d |
| service_name | nova |
| service_type | compute |
| url | http://192.168.10.100:8774/v2.1 |
+--------------+----------------------------------+
9.3.3创建私有端点
# openstack endpoint create --region RegionOne compute internal http://192.168.10.100:8774/v2.1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | cc3e3b629fbf44a69948922773836804 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f5d5af647ae040eca5bf7d878c23086d |
| service_name | nova |
| service_type | compute |
| url | http://192.168.10.100:8774/v2.1 |
+--------------+----------------------------------+
9.3.4创建管理端点
# openstack endpoint create --region RegionOne compute admin http://192.168.10.100:8774/v2.1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 51dca1e673ee419f8c75fb9646520003 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | f5d5af647ae040eca5bf7d878c23086d |
| service_name | nova |
| service_type | compute |
| url | http://192.168.10.100:8774/v2.1 |
+--------------+----------------------------------+
9.3.5创建placement用户
# Placement用户密码设置为placement
# openstack user create --domain default --password-prompt placement
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | 961b40ed4c6b40a9b266ce5e451a4292 |
| enabled | True |
| id | f052cbbd13d341e3bee6a0da23588802 |
| name | placement |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
9.3.6授权placement用户admin权限
# openstack role add --project service --user placement admin
9.3.7创建placement API并注册
# openstack service create --name placement --description "Placement API" placement
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Placement API |
| enabled | True |
| id | af5b2be1a8e24a2d9a619f318a04022a |
| name | placement |
| type | placement |
+-------------+----------------------------------+
# openstack endpoint create --region RegionOne placement public http://192.168.10.100:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | c1eb9cc9c3bf42bd9b49ac86b309fe2b |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | af5b2be1a8e24a2d9a619f318a04022a |
| service_name | placement |
| service_type | placement |
| url | http://192.168.10.100:8778 |
+--------------+----------------------------------+
# openstack endpoint create --region RegionOne placement internal http://192.168.10.100:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 65cf7e1dbeac440ea6a4e369e816d83e |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | af5b2be1a8e24a2d9a619f318a04022a |
| service_name | placement |
| service_type | placement |
| url | http://192.168.10.100:8778 |
+--------------+----------------------------------+
# openstack endpoint create --region RegionOne placement admin http://192.168.10.100:8778
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 8c073907d3d84c5995df683b0a2c4f5b |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | af5b2be1a8e24a2d9a619f318a04022a |
| service_name | placement |
| service_type | placement |
| url | http://192.168.10.100:8778 |
+--------------+----------------------------------+
9.3.8配置nova.conf配置文件
# 详细配置文件/etc/nova/nova.conf
1:[DEFAULT]
2306:use_neutron=true
2465:firewall_driver=nova.virt.firewall.NoopFirewallDriver
2629:enabled_apis=osapi_compute,metadata
3021:transport_url = rabbit://openstack:123456@192.168.10.205
3028:rpc_backend=rabbit
3069:[api]
3085:auth_strategy=keystone
3367:[api_database]
3380:connection = mysql+pymysql://nova:nova123@192.168.10.100/nova_api
4370:[database]
4398:connection = mysql+pymysql://nova:nova123@192.168.10.100/nova
4939:[glance]
4957:api_servers=http://192.168.10.100:9292
5598:[keystone_authtoken]
5599:auth_uri = http://192.168.10.100:5000
5600:auth_url = http://192.168.10.100:35357
5601:memcached_servers = 192.168.10.100:11211
5602:auth_type = password
5603:project_domain_name = default
5604:user_domain_name = default
5605:project_name = service
5606:username = nova
5607:password = nova
7235:[oslo_concurrency]
7250:lock_path=/var/lib/nova/tmp
8081:[placement]
8082:os_region_name = RegionOne
8083:project_domain_name = Default
8084:project_name = service
8085:auth_type = password
8086:user_domain_name = Default
8087:auth_url = http://192.168.10.100:35357/v3
8088:username = placement
8089:password = placement
9669:[vnc]
9685:enabled=true
9708:vncserver_listen=192.168.10.201
9720:vncserver_proxyclient_address=192.168.10.201
9.3.9配置apache服务placement API
# vim /etc/httpd/conf.d/00-nova-placement-api.conf
#最下方添加以下配置:
<Directory /usr/bin>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order allow,deny
Allow from all
</IfVersion>
</Directory>
# systemctl restart httpd #重启http服务
9.3.10初始化数据库
#nova_api数据库
# su -s /bin/sh -c "nova-manage api_db sync" nova
#nova数据库
# su -s /bin/sh -c "nova-manage db sync" nova
#nova cell0数据库
# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
#nova cell1 数据库
# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
7972a48a-bddb-4957-b773-852565a25725
9.4验证nova cell0和nova cell1是否正常注册
# nova-manage cell_v2 list_cells
+-------+--------------------------------------+
| Name | UUID |
+-------+--------------------------------------+
| cell0 | 00000000-0000-0000-0000-000000000000 |
| cell1 | 7972a48a-bddb-4957-b773-852565a25725 |
+-------+--------------------------------------+
9.5启动并将nova服务设置为开机启动
# 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
9.6重启nova控制端脚本
# cat nova-restart.sh
#!/bin/bash
systemctl restart openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
# chmod a+x nova-restart.sh
9.7查看nova服务日志

9.8查看rabbitMQ连接

9.9验证nova控制端:
# nova service-list

Openstack(九)部署nova服务(控制节点)的更多相关文章
- openstack Q版部署-----nova服务配置-控制节点(5)
一.创建数据库(控制节点) 创建数据库以及用户: CREATE DATABASE nova_api; CREATE DATABASE nova; CREATE DATABASE nova_cell0; ...
- openstack Q版部署-----nova服务配置-计算节点(6)
一.服务安装(计算节点) 安装软件: yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容: [DEFAULT] e ...
- Openstack(十)部署nova服务(计算节点)
在计算节点安装 10.1安装nova计算服务 # 阿里云源详见2.3配置 # yum install openstack-nova-compute 10.2配置nova计算服务 10.2.1配置nov ...
- openstack安装部署——计算服务(控制节点&计算节点)前言
1.前言Openstack计算服务通过认证服务获取认证:通过镜像服务获取镜像:通过仪表盘提供的用户界面与用户交互.镜像的存取受工程和用户的限制,配额受工程的限制(例如不同工程允许虚拟机实例数量不同). ...
- openstack controller ha测试环境搭建记录(八)——配置nova(控制节点)
在任一节点创建nova用户:mysql -u root -p CREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localh ...
- openstack 部署笔记--neutron控制节点
控制节点 配置neutron用户及服务 $ . admin-openrc $ openstack user create --domain default --password-prompt neut ...
- OpenStack搭建Q版在控制节点上的环境准备(step2)
接下来是只需要在控制节点上准备的环境配置.其中虽然NTP服务需要在所有节点上都安装,但NTP服务在控制节点和其他的节点上的配置是不同的,所以不把它放在step1的公共配置中进行准备.如下: 1.配置N ...
- OpenStack 安装:nova服务
上一篇介绍了glance,并且成功创建了一个镜像,这一篇介绍Nova. 首先创建Nova用户,需要记得先source环境变量,然后创建Nova用户,并设置密码为nova [root@linux-nod ...
- Openstack组件部署 — Nova overview
目录 目录 前文列表 前言 Compute service overview Nova 的组件 nova-api service nova-api-metadata service nova-comp ...
随机推荐
- Ubuntu 12.04.3 安装 Oracle11gR2
#step 1: groupadd -g 2000 dba useradd -g 2000 -m -s /bin/bash -u 2000 grid useradd -g 2000 -m ...
- UGUI之Canvas Group
可以通过Canvas Group影响该组UI元素的部分性质,而不需要费力的对该组UI下的每个元素逐个调整.Canvas Group是同时作用于该组UI下的全部元素. 参数:Alpha:该组UI元素的透 ...
- Post方式调用wcf服务
我们平常在PC端调用WCF服务,只要知道WCF服务的地址,客户端直接添加引用服务就可以使用了,殊不知还有其他方式,其实,我们也可以 通过HTTP POST的方式调用WCF服务,这样就不用添加引用了,在 ...
- swift - UIButton 的用法
1,按钮的创建 (1)按钮有下面四种类型: contactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果 detailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝 ...
- 第六篇:GPU 并行优化的几种典型策略
前言 如何对现有的程序进行并行优化,是 GPU 并行编程技术最为关注的实际问题.本文将提供几种优化的思路,为程序并行优化指明道路方向. 优化前准备 首先,要明确优化的目标 - 是要将程序提速 2 倍? ...
- oracle中怎么用normal方式登录怎么自定义用户名和密码
1.首先要创建一个用户.必须使用有最高权限的用户来创建,语句如下: create user shopping identified by 123456;--创建shopping用户,密码123456 ...
- poj_2709 贪心算法
poj 2709 painter 题目要求 给定涂料,每套涂料含有3-12种不同的颜色(开始时候给定选用的颜料套的颜色数目),且一套涂料中每种颜色均有50ml.且一套涂料中的任意三种不同的颜色各X m ...
- poj_1182 并查集
题目大意 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B,B吃C,C吃A.现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人 ...
- net 中的一些知识
这是一篇摘抄的文章 有一些内容对我很有帮助 .有一些内容解释很清晰 所以我拿过来了. 第一遍用了5天时间,第二遍看的时候决定自己复制一份出来于是有了这儿博客. 什么是.NET?什么是.NET Fram ...
- intellijIDEA常用快捷键以及和Eclipse快捷键的对照
CTRL + D 复制当前行到下一行 相当于eclipse中的 CTRL + SHIFT + 下 CTRL + / 单行注释和反注释 CTRL +SHIFT + / 块儿注释和反注释 CTRL ...