在学习 OpenStack 各服务之前,需要先搭建一个实验环境。
 
一个看得到摸得着而且能让我们随便折腾的 OpenStack 会大大提高学习效率。因为是我们自己学习用的实验环境,所以这里推荐使用 DevStack()
 
DevStack 丰富的选项让我们能够灵活地选取和部署想要的OpenStack服务,非常适合学习和研究。
 
 
部署拓扑
 
首先我们来设计 OpenStack 的部署拓扑。
 
OpenStack 是一个分布式系统,由若干不同功能的节点(Node)组成:
 
    1、控制节点(Controller Node)管理OpenStack ,其上运行的服务有 Keystone、Glance 、Horizon 以及 Nova 和 Neutron 中管理相关的组件。控制节点也运行支持 OpenStack的服务,例如 SQL 数据库(通常是MySQL)、消息队列(通常是 RabbitMQ)和网络时间服务NTP。
 
    2、网络节点(Network Node)其上运行的服务为 Neutron 。为OpenStack提供 L2 L3 网络。包括虚拟机网络、DHCP、路由、NAT等。
 
    3、存储节点(Storage Node)提供块存储(Cinder)和对象存储(Swift)服务
 
    4、计算节点(Compute Node)其上运行 Hypervisor (默认使用KVM)。同时运行 Neutron 服务的agent,为虚机提供网络支持。
 
这几类节点是从功能上进行的逻辑划分,在实际部署时可以根据需求灵活配置,比如:
 
    1、在大规模OpenStack 生产环境中,每类节点都分别部署在若干台物理服务器上,各司其职并互相协作。这样的环境具备很多的性能、伸缩性和高可用性。
 
    2、在最小的实验环境中,可以将4类节点部署到一个物理的甚至是虚拟的服务器上。麻雀虽小五脏俱全,通常也成为 All-inOne 部署。
 
在我们的实验环境中,为了使拓扑简洁同时功能完备,我们使用两台虚拟机完成:
 
    1、devstack-controller:控制节点 + 网络节点 + 块存储节点 + 计算节点
    2、devstack-compute:计算节点
 
 
物理资源需求:
 
 
CPU 和 内存供参考。肯定是配置越高性能越好,看自己的实际情况。
 
网络规划
 
 
网络上规划了三个网络:
 
    1、Management Network:用于OpenStack 内部管理用,比如各个服务之间通信,这里使用eth0
 
    2、VM(Tenant)Network:OpenStack 部署的虚拟机所使用的网络,OpenStack支持多租户(Tenant),虚拟机是放在Tenant下的,所以叫 Tenat Network,这里使用eth1
 
    3、External Network:一般来说Tenant Network 是内部私有网络,只用于VM之间通信,与其他非VM网络是隔离的。这里我们规划了一个外部网络(External Network),通过 devstack-controller 的eth2 连接。Neutron 通过 L3 服务让 VM 能够访问到 External Network。对于公有云,External Network 一般指的是Internet。对于企业私有云,External Network 则可以是 Internet中的某个网络。
 

O016、搭建实验环境的更多相关文章

  1. [dpdk] 熟悉SDK与初步使用 (一)(qemu搭建实验环境)

    搭建实验环境: troubleshoot 第一步加载驱动 第二步切换驱动 使用了所有qemu支持的卡 [tong@T7:~/VM/dpdk] % cat start.sh sudo qemu-syst ...

  2. OPNsense防火墙搭建实验环境,MSF与SSH进行流量转发

    OPNsense防火墙搭建实验环境,MSF与SSH进行流量转发 摘要: 记录实验过程中踩到的坑.介绍OPNsense防火墙的安装配置并搭建实验环境,利用msf的模块及ssh进行流量转发(LAN向DMZ ...

  3. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  4. openstack Mitaka实验环境安装(centos系统)

    本博文仅供参考,具体一定详细学习官方安装文档. 一 准备工作 二安装过程 1 安装NTP服务 2 安装openstack包 3 SQL数据库安装 4 安装消息队列 message queue 5 Me ...

  5. vSphere可用性之三准备实验环境

    第三章 准备实验环境 在上篇内容中,讲述了进行VMware HA实验所必需的软硬件条件.接下来将使用这些来搭建实验环境.主要内容为依据拓扑图安装ESX主机系统.ISCSI存储系统. 此次实验环境的建置 ...

  6. 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)

    在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...

  7. 20145308刘昊阳 《Java程序设计》实验四 Android环境搭建 实验报告

    20145308刘昊阳 <Java程序设计>实验四 Android环境搭建 实验报告 实验名称 Android环境搭建 实验内容 搭建Android环境 运行Android 修改代码,能输 ...

  8. 搭建sql注入实验环境(基于windows)

    搭建服务器环境 1.下载xampp包 地址:http://www.apachefriends.org/zh_cn/xampp.html 很多人觉得安装服务器是件不容易的事,特别是要想添加MySql, ...

  9. 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)

    模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...

随机推荐

  1. CSS标签详解

    CSS3标签 Css3概述 从2010年开始,HTML5与CSS3就一直是互联网技术中最受关注的两个话题.从前端技术的角度可以把互联网的发展分为三个阶段:第一阶段是web1.0以内容为主的网络,前端主 ...

  2. Cannot use unsafe construct in safe context

    https://stackoverflow.com/questions/25953887/how-to-use-unsafe-code-in-safe-contex I am not sure if ...

  3. vscode 占内存的方法

    1.修复vs code 造成 rg.exe内存占用过大的问题 search.followSymlinks: false 2.修复vs code 造成 git.exe内存占用过大的问题 git.enab ...

  4. [Java]手动构建SQL语法树(sql简单无嵌套)并输出与之对应的SQL语句之二

    Entry入口 main中自顶向下手动创建了sql语法树 package com.hy; // 构建SQL语法树 public class Entry { public static void mai ...

  5. 电脑里明明安装了net4.7但是VS里不显示?

    我系统中明明已经安装了Net4.7,但是VS中却只显示到4.6.2 再下载4.7进行安装也提示,系统中已经安装,无法安装. 为啥呢,最后发现原来是装上.NET Framework 4.7.2 开发人员 ...

  6. 淘宝TAE平台定时任务包的部署步骤

    淘宝TAE平台定时任务包的部署: 第一步:首先把自己的任务打包成一个jar包.使用maven打包的命令为:mvn clean install 第二步:把任务jar包依赖的jar包全部导出来.使用mav ...

  7. 使用Statement执行DML和DQL语句

    import com.loaderman.util.JdbcUtil; import java.sql.Connection; import java.sql.DriverManager; impor ...

  8. 七十九:flask.Restful之flask-Restful标准化返回参数示例

    接上一篇的代码和数据 对于复杂结构的数据如果只是定义单一结构的话返回的数据就没意义了,此时定义的数据结构需精确到所有数据的每一个字段有时候要返回的数据结构中,会有比较复杂的数据结构,证实后可以使用一些 ...

  9. MySQL 按照数据库表字段动态排序 查询列表信息

    MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候 ...

  10. C基础知识(3):指针--概念、数组中指针的递增/递减、指针数组&数组指针、指向指针的指针

    指针是一个变量,其值为另一个变量的地址. 所有指针的值的实际数据类型,不管是整型.浮点型.字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的长的十六进制数. 下面从4个代码例子分别讲述以下 ...