Nova Cell V2
Nova Cell V2
- 一.概述
- 二.结构
- 三.Cell 相关数据库表
- 四.部署
- 1.安装规划
- 2.安装流程
一.概述
OpenStack 在控制平面上的性能瓶颈主要在 Message Queue 和 Database 。 尤其是 Message Queue , 随着计算节点的增加 , 性能变的越来越差 。 为了应对这种情况 , Nova 很早之前提出来 nova-cell的解决方案 。起初是cell v1版本,由于架构负杂,自 Newton 版本引入cell v2。
二.结构
(1)nova-api 依赖 nova_api 和 nova_cell0 两个数据库 。
(2)nova-scheduler 服务只需要在 api 层面上安装 ,cell 不需要参数调度 。 这样实现了一次调度就可以确
定到具体在哪个 cell 的哪台机器上启动
(3)cell 里面只需要安装 nova-compute 和 nova-conductor 服务 , 和其依赖的 DB 和 MQ
(4)api 上面服务会直接连接 cell 的 MQ 和 DB
三.Cell 相关数据库表
(1)cell_mappings 表 cell 的 Database 和 Mesage Queue 的连接 。 用于和子 cell 通讯
(2)host_mappings 是用于 nova-scheduler, 可以确认分配到的机器 。 这里其实也有一个坑 , 之前 nova-compute 启动起来 , 就可以直接使用了 ,cell v2 之后 , 就需要手动运行 nova-manage cell_v2
discover_host , 把 host mapping 到 cell_mappings 表里面 , 那台计算节点才会加入到调度中 。
(3)instance_mappings 表里有所有 instance id, 这样在查询 instance 时 , 就可以从这个表里查到他所在的 cell, 然后直连 cell 拿到 instance 具体信息 。
四.部署
1.安装规划
节点 | 服务 | 备注 |
---|---|---|
controller | nova-api、MQ、DB、nova-scheduler、nova-conductor | |
cell | MQ、DB、nova-conductor | 也可以和计算节点装在一起 |
compute | nova-compute |
2.安装流程
(1)controller node 略,按照官网装即可
(2)cell node
# 基础服务(略)
# 关闭selinuex和防火墙(略)
# 时间同步(略)
# 互信(略)
# mysql(略)
# rabbitmq(略)# nova-conductor install
yum -y install openstack-nova-conductor openstack-nova-api openstack-utils # 安装openstack-nova-api是为了解决依赖报错# 建库
mysql -uroot -p123456 -e "CREATE DATABASE nova;"
mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';"
mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';"# 配置,注意,api_database用的是控制节点数据库,database用的是cell节点的nova数据库,transport_url用的是cell节点的MQ
openstack-config --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:123456@controller/nova_api
openstack-config --set /etc/nova/nova.conf database connection mysql+pymysql://nova:123456@cell/nova
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:openstack@cell# 控制节点执行,注意数据库、MQ填的都是cell节点的
# su -s /bin/sh -c "nova-manage cell_v2 create_cell --verbose --name $cell_name \
# --database_connection mysql+pymysql:/$cell_nova_user:$cell_nova_pass@$cell_node/$cell_nova_db \
# --transport-url rabbit://$cell_mq_user:$cell_mq_pass@$cell_node" nova# 在cell节点上初始化nova数据库
su -s /bin/sh -c "nova-manage db sync" nova# 启动服务
systemctl enable openstack-nova-conductor.service
systemctl start openstack-nova-conductor.service
(3) compute node
# 基础服务(略)
# 关闭selinuex和防火墙(略)
# 时间同步(略)
# 互信(略)
# nova-compute install
yum -y install openstack-utils openstack-nova-compute openstack-nova-spicehtml5proxy# 配置(篇幅限制只粘出了注意或改动的地方,其余请参考部署完整脚本)
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:openstack@cell # 注意,此处是cell节点的MQ# 启动服务
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
systemctl enable openstack-nova-spicehtml5proxy
systemctl restart openstack-nova-spicehtml5proxy# cell节点上执行,发现新cell的计算节点
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova#neutron install
yum install -y openstack-neutron openstack-neutron-openvswitch openvswitch which ebtables ipset# 配置(篇幅限制只粘出了注意或改动的地方,其余请参考部署完整脚本)
openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url rabbit://openstack:openstack@controller # 注意,此处是controller节点的MQ# 启动服务
systemctl start openvswitch
systemctl enable openvswitch# 建ovs网桥
ovs-vsctl add-br br-ex
ovs-vsctl add-port br-ex ${ext_netcard_name}
ovs-vsctl add-br br-tun# 启动服务
systemctl restart openstack-nova-compute.service
systemctl enable neutron-metadata-agent neutron-l3-agent neutron-openvswitch-agent
systemctl restart neutron-metadata-agent neutron-l3-agent neutron-openvswitch-agent# 注意,如果是已有环境添加cell需要重启controller节点上的计算服务
Nova Cell V2相关推荐
- OpenStack中 Nova的Cell架构模式介绍
目录 1,什么是cell ?为什么有cell ? 2,cell的两种架构模式及工作原理 3 , Cell v2实现的原理 1,什么是cell ?为什么有cell ? 当openstack nova 集 ...
- OpenStack之Nova分析——Nova API服务
Nova是OpenStack中最核心的组件,可以说OpenStack中的其它组件都是为Nova服务的.所以Nova也是OpenStack最复杂的组件.Nova服务由多个子服务组成,这些子服务通过RPC ...
- OpenStack Ocata Release Notes
本文整理了OpenStack Ocata版本的主要项目更新情况,供大家参考. Nova Ocata 版本加入了许多 Cell V2 的功能 . 但是不是所有的都可以用于生产 . 现在部署 Nova 需 ...
- [转] OpenStack Kilo 更新日志
OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录 [隐藏] ...
- openstack horizon dashboard_OpenStack最新版本:Ussuri发布亮点
前言 又到了半年一次的OpenStack的发布日期,至今发布已有21个版本,如今已经更加稳定,更加强健.近几年,docker,k8s,serverless等新技术风头之盛可谓一时无两,而OpenSta ...
- OpenStack 2015.1.0 (Kilo)更新日志
看到好东西,就分享一下.遗憾的是不在csdn,只有复制过来了. OpenStack对象存储(Swift)[edit]新功能[edit]纠删码(beta)[edit] Swift现在支持纠删码(EC)存 ...
- openstack--T版—nava计算服务
openstack--T版-nava计算服务 一.nava计算服务概述 二.Nova系统架构 三.组件介绍 3.1 API 3.2 Scheduler 3.3 过滤器 3.4 Nova-compute ...
- OpenStack最新版本:Ussuri发布亮点
前言 又到了半年一次的OpenStack的发布日期,至今发布已有21个版本,如今已经更加稳定,更加强健.近几年,docker,k8s,serverless等新技术风头之盛可谓一时无两,而OpenSta ...
- Openstack实验笔记
Openstack实验笔记 制作人:全心全意 Openstack:提供可靠的云部署方案及良好的扩展性 Openstack简单的说就是云操作系统,或者说是云管理平台,自身并不提供云服务,只是提供部署和管 ...
最新文章
- 山东大学为中外学生“学伴”项目不当选项致歉
- 【模型开发】逐步回归
- 魔兽世界工程学技能1-375冲级攻略
- intersect函数_PHP array_intersect()函数与示例
- HDFS使用JavaAPI操作上传特定副本到datanode
- HTML代码transform,html-transform+onmouseover代码实例
- I.MX6 gpio-keys driver hacking
- 消防信号二总线有没电压_荆门剧院消防设备电源监控系统的设计与应用
- 具体数学-第10课(素数和阶乘的有趣性质)
- 【消息轰炸】Python消息轰炸
- 软件项目管理实践之日计划 .
- 关于ram的结构和读写过程
- Word学习笔记分享
- 使用微搭搭建天气预报小程序
- 【文本分类】文本分类流程及算法原理
- c语言中用age表示年龄的词语,age和aged表示年龄的区别
- 信道编码基础(生成校验矩阵、码的个数、循环码)
- 51单片机DS18B20温度传感器及数码管显示温度
- STM32F103的DAC——实现音频输出
- 跟我学SharePoint 2013视频培训课程——理解SharePoint网站的体系结构(3)