前面讨论了 Neutron 的架构和基础知识,接下来就要通过实验深入学习和实践了。

第一步就是准备实验用的物理环境,考虑如下几个问题:

需要几个节点?

如何分配节点的角色?

节点上部署哪些服务?

配几个网卡?

物理网络如何连接?

1 控制节点 + 1 计算节点 的部署方案

我们的目的是通过实验学习 Neutron 的各种特性。 为了达到这个目的,实验环境应尽量贴近典型的部署方案;但同时,由于是个人学习使用,受物理条件的限制需要尽量利用有限的资源,所以我们采用下面的部署方案:

Q:需要几个节点? A:2 节点 = 1 控制节点 + 1 计算节点

Q:如何分配节点的角色? A:控制节点合并了网络节点的功能,同时也是一个计算节点

Q:节点上部署哪些服务? A:如上图

配置多个网卡区分不同类型的网络数据

OpenStack 至少包含下面几类网络流量

Management

API

VM

External

Management 网络
用于节点之间 message queue 内部通信以及访问 database 服务,所有的节点都需要连接到 management 网络。

API 网络
OpenStack 各组件通过该网络向用户暴露 API 服务。Keystone, Nova, Neutron, Glance, Cinder, Horizon 的 endpoints 均配置在 API 网络上。

通常,管理员也通过 API 网络 SSH 管理各个节点。

VM 网络
VM 网络也叫 tenant 网络,用于 instance 之间通信。
VM 网络可以选择的类型包括 local, flat, vlan, vxlan 和 gre。
VM 网络由 Neutron 配置和管理。

External 网络
External 网络指的是 VM 网络之外的网络,该网络不由 Neutron 管理。
Neutron 可以将 router attach 到 External 网络,为 instance 提供访问外部网络的能力。
External 网络可能是企业的 intranet,也可能是 internet。

这几类网络只是逻辑上的划分,物理实现上有非常大的自由度。

我们可以为每种网络分配单独的网卡;
也可以多种网络共同使用一个网卡;
为提高带宽和硬件冗余,可以使用 bonding 技术将多个物理网卡绑定成一个逻辑的网卡

我们的实验环境采用下面的网卡分配方式:

控制节点 3 网卡(eth0, eth1, eth2),计算节点 2 网卡(eth0, eth1)
合并 Management 和 API 网络,使用 eth0,IP 段为 192.168.104.0/24
VM 网络使用 eht1
控制节点的 eth2 与 External 网络连接,IP 段为 10.10.10.0/24

网络拓扑

实验环境的网络拓扑如下图所示

分割线上方的网络由网络管理员(就是我们啦)配置。
主要涉及 Management, API 和 external 网络。
配置的内容包括节点上的物理网卡,物理交换机和外部路由器,防火墙以及物理连线等

分割线下方主要是 VM 网络,由 Neutron 管理。
我们只需要通过 Web GUI 或者 CLI 操作,Neutron 会负责实现。

下一节我们将安装和配置控制节点和计算节点。

为 Neutron 准备物理基础设施(I) - 每天5分钟玩转 OpenStack(75)的更多相关文章

  1. Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)

    前面我们讨论了 Neutron 的架构,本节讨论 Neutron 的物理部署方案:不同节点部署不同的 Neutron 服务组件. 方案1:控制节点 + 计算节点 在这个部署方案中,OpenStack ...

  2. Neutron 默认安全组规则 - 每天5分钟玩转 OpenStack(115)

    Neutron 为 instance 提供了两种管理网络安全的方法: 安全组(Security Group)和虚拟防火墙. 安全组的原理是通过 iptables 对 instance 所在计算节点的网 ...

  3. Neutron 架构 - 每天5分钟玩转 OpenStack(67)

    前面我们讨论了 Neutron 的基本概念,今天我们开始分析 Neutron 的架构. Neutron 架构 与 OpenStack 的其他服务的设计思路一样,Neutron 也是采用分布式架构,由多 ...

  4. 为 Neutron 准备物理基础设施(II) - 每天5分钟玩转 OpenStack(76)

    本节将按照上一节的规划安装配置控制节点和计算节点. 控制节点 devstack-controller 步骤如下 安装 Ubuntu 14.04 此处省略 256 个字 配置网卡 编辑 /etc/net ...

  5. Neutron 网络基本概念 - 每天5分钟玩转 OpenStack(66)

    上次我们讨论了 Neutron 提供的功能,今天我们学习 Neutron 模块几个重要的概念. Neutron 管理的网络资源包括 Network,subnet 和 port,下面依次介绍. netw ...

  6. Neutron Vlan Network 原理- 每天5分钟玩转 OpenStack(92)

    前面我们陆续学习了 Neutron local network,flat network 和 DHCP 服务,从本节将开始讨论 vlan network. vlan network 是带 tag 的网 ...

  7. 访问 Neutron 外部网络 - 每天5分钟玩转 OpenStack(143)

    前面我们学习了位于不同 Neutron subnet 的 instance 可以通过 router 通信,今天开始讨论 instance 如何访问外部网络. 这里的外部网络是指的租户网络以外的网络.租 ...

  8. 理解 Neutron FWaaS - 每天5分钟玩转 OpenStack(117)

    前面我们学习了安全组,今天学习另一个与安全相关的服务 -- FWaaS.理解概念 Firewall as a Service(FWaaS)是 Neutron 的一个高级服务.用户可以用它来创建和管理防 ...

  9. 实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)

    上一节配置了 linux-bridge mechanism driver,本节再做两个准备工作: 1. 检视初始的网络状态.2. 了解 linux bridge 环境中的各种网络设备. 初始网络状态 ...

随机推荐

  1. swift-func(函数)

    函数是一个组织在一起语句集合,以执行特定任务. Swift 函数类似于简单 C 函数以及复杂的 Objective C 语言函数. 它使我们能够通过函数调用内部的局部和全局参数值. 像其他任何语言一样 ...

  2. 转载:Chrome调试折腾记_(1)调试控制中心快捷键详解!!!

    转载:http://blog.csdn.net/crper/article/details/48098625 大多浏览器的调试功能的启用快捷键都一致…按下F12;还是熟悉的味道;  或者直接 Ctrl ...

  3. Linux上Tomcat部署JavaWeb项目

    一.安装JDK 配置java的环境变量,修改/etc/profile文件:vi /etc/profile 然后按下字母i进入插入模式, shift+insert粘贴; esc退出编辑; :wq保存退出 ...

  4. centos7 搭建nginx和tomcat集成

    一.安装jdk 1.yum install jdk 2.安装好了之后配置环境变量  在/etc/profile 二.创建项目运行目录 1. 我放在home目录  mkdir /web/webapps ...

  5. PHP:函数赋参数默认初值

    函数的默认参数 允许定义函数时,指定参数的默认值,如: function js_location($url, $alert='', $top=''){ if($alert=='' && ...

  6. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板

    很久没有写博客了,这段时间比较忙,又是搬家又是做自己的项目,还有太多琐碎的事情缠身,好不容易抽出时间把最近自己做的一些简单例子记录一下. 在我的项目中,我需要一个显示面板来显示游戏中的一个三维数据,例 ...

  7. java-JDBC从数据库中读取数据并进行日期民族男女的转换

    代码如下: package com.itnba.maya.mysql; import java.sql.*; import java.text.SimpleDateFormat; public cla ...

  8. FastReport.Net 常用功能总汇

    一.常用控件 文本框:输入文字或表达式 表格:设置表格的行列数,输入数字或表达式 子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表.系统在打印处理时,先按主报表打印,当碰到 ...

  9. windows上面捕获声卡数据

    转自:http://shanewfx.github.io/blog/2013/08/14/caprure-audio-on-windows/ 前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦 ...

  10. adb devices出现no permissions

    在做Android开发的时候,有些设备插入USB调试线,无法调试,出现以下错误: joey 09:58 $ adb devices List of devices attached 20080411 ...