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相关推荐

  1. OpenStack中 Nova的Cell架构模式介绍

    目录 1,什么是cell ?为什么有cell ? 2,cell的两种架构模式及工作原理 3 , Cell v2实现的原理 1,什么是cell ?为什么有cell ? 当openstack nova 集 ...

  2. OpenStack之Nova分析——Nova API服务

    Nova是OpenStack中最核心的组件,可以说OpenStack中的其它组件都是为Nova服务的.所以Nova也是OpenStack最复杂的组件.Nova服务由多个子服务组成,这些子服务通过RPC ...

  3. OpenStack Ocata Release Notes

    本文整理了OpenStack Ocata版本的主要项目更新情况,供大家参考. Nova Ocata 版本加入了许多 Cell V2 的功能 . 但是不是所有的都可以用于生产 . 现在部署 Nova 需 ...

  4. [转] OpenStack Kilo 更新日志

    OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录  [隐藏] ...

  5. openstack horizon dashboard_OpenStack最新版本:Ussuri发布亮点

    前言 又到了半年一次的OpenStack的发布日期,至今发布已有21个版本,如今已经更加稳定,更加强健.近几年,docker,k8s,serverless等新技术风头之盛可谓一时无两,而OpenSta ...

  6. OpenStack 2015.1.0 (Kilo)更新日志

    看到好东西,就分享一下.遗憾的是不在csdn,只有复制过来了. OpenStack对象存储(Swift)[edit]新功能[edit]纠删码(beta)[edit] Swift现在支持纠删码(EC)存 ...

  7. openstack--T版—nava计算服务

    openstack--T版-nava计算服务 一.nava计算服务概述 二.Nova系统架构 三.组件介绍 3.1 API 3.2 Scheduler 3.3 过滤器 3.4 Nova-compute ...

  8. OpenStack最新版本:Ussuri发布亮点

    前言 又到了半年一次的OpenStack的发布日期,至今发布已有21个版本,如今已经更加稳定,更加强健.近几年,docker,k8s,serverless等新技术风头之盛可谓一时无两,而OpenSta ...

  9. Openstack实验笔记

    Openstack实验笔记 制作人:全心全意 Openstack:提供可靠的云部署方案及良好的扩展性 Openstack简单的说就是云操作系统,或者说是云管理平台,自身并不提供云服务,只是提供部署和管 ...

最新文章

  1. 山东大学为中外学生“学伴”项目不当选项致歉
  2. 【模型开发】逐步回归
  3. 魔兽世界工程学技能1-375冲级攻略
  4. intersect函数_PHP array_intersect()函数与示例
  5. HDFS使用JavaAPI操作上传特定副本到datanode
  6. HTML代码transform,html-transform+onmouseover代码实例
  7. I.MX6 gpio-keys driver hacking
  8. 消防信号二总线有没电压_荆门剧院消防设备电源监控系统的设计与应用
  9. 具体数学-第10课(素数和阶乘的有趣性质)
  10. 【消息轰炸】Python消息轰炸
  11. 软件项目管理实践之日计划 .
  12. 关于ram的结构和读写过程
  13. Word学习笔记分享
  14. 使用微搭搭建天气预报小程序
  15. 【文本分类】文本分类流程及算法原理
  16. c语言中用age表示年龄的词语,age和aged表示年龄的区别
  17. 信道编码基础(生成校验矩阵、码的个数、循环码)
  18. 51单片机DS18B20温度传感器及数码管显示温度
  19. STM32F103的DAC——实现音频输出
  20. 跟我学SharePoint 2013视频培训课程——理解SharePoint网站的体系结构(3)

热门文章

  1. python 协程 (概念+示例代码)
  2. 真正的python入门逻辑理解
  3. pg统计表,以及正常本金,逾期本金呆滞本金,呆账如何区分
  4. 【SQL】小数以百分数形式输出
  5. ⭐李宏毅机器学习2020作业汇总
  6. 快手视频伪原创工具 视频怎么修改m5d
  7. 服务器无法远程的原因是什么?116.211.147.x
  8. 公岸网:教师编备考试题及答案
  9. 【Linux云计算架构:第三阶段-Linux高级运维架构】第19章——安装Kali黑客操作系统-利用ettercap实施中间人攻击
  10. 小点滴——word自动目录+页码问题——摘自贴吧