OpenStack项目结构

OpenStack架构

1. horizon以图形的方式管理所有的project,包括nova虚拟机的创建,neutron网络,cinder存储,glance镜像等;
    2. keystone为所有的服务提供认证和授权服务,通过keystone能够找到各个服务的endpoint,如nova的地址,neutron的地址,glance的地址,cinder的地址等;
    3. 创建虚拟机,需要提交请求给nova-api,nova通过nova-scheduler选择合适的compue,nova和底层的hypervisor交互,需要建立虚拟机最初工作;
    4. 虚拟机的创建需要下载合适的镜像,此时会请求glance-api,glance通过glance-registry找到和下载到合适的镜像到compute启动;
    5. glance的镜像可以存放在不同的地方,如本地的Filesystem,统一存储ceph或者是swift上;
    6. instance运行时需要建立网络,将请求交给neutron-server,neutron-server会根据网络请求,为虚拟机分配地址,建立网桥,构建iptables安全组规则,此时一个普通的instance就基本可以建立完成了;
    7. instance如果需要外挂存储的话,可以向cinder-api发起请求,通过cinder-scheduler选择到合适的cinder-volume之后,cinder-volume会向端的存储请求存储空间,之后交由instance;
    8. 和image类似,cinder的备份或者快照文件,可以存储在分布式的对象存储swift上。


【OpenStack架构】


【核心项目】


【网络拓扑】


【虚拟网络/全局设定->网络】
Net0:
Network name: VirtualBox host-only Ethernet Adapter#2
Purpose: administrator / management network
IP block: 10.20.0.0/24
DHCP: disable
Linux device: eth0

Net1:
Network name: VirtualBox host-only Ethernet Adapter#3
Purpose: public network
DHCP: disable
IP block: 172.16.0.0/24
Linux device: eth1

Net2:
Network name: VirtualBox host-only Ethernet Adapter#4
Purpose: Storage/private network
DHCP: disable
IP block: 192.168.4.0/24
Linux device: eth2


【虚拟机】
VM0:
Name: controller0
vCPU:1
Memory :2G
Disk:80G                  建议100G
Networks: net0
 
VM1:
Name : network0
vCPU:1
Memory :512M       建议2G
Disk:30G                  建议50G
Network:net0,net1,net2
 
VM2:
Name: compute0
vCPU:2
Memory :2G
Disk:30G                 建议50G
Networks:net0,net2


【网络设置】

controller0
eth0:10.20.0.10 (management network)
eht1:172.16.0.10
eht2:(disabled)

network0
eth0:10.20.0.20 (management network)
eht1:172.16.0.20 (public/external network)
eht2:192.168.4.20 (private network)

compute0
eth0:10.20.0.30 (management network)
eht1:172.16.0.30
eht2:192.168.4.30 (private network)

openstack学习(1)的更多相关文章

  1. OpenStack学习参考

    预备知识 Python 调试手段.日志:pdb 开源框架 Django 面向对象:类.继承.多态 编码规范 搭建环境 安装docker,下载openstack镜像,关于docker参考 使用fuel来 ...

  2. openstack学习笔记一 虚拟机启动过程代码跟踪

    openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...

  3. Openstack学习目录

    1.2016.12.27    ceph简介   crush算法    OSD(boject storage device)   Mds(cephfs) 使用cephfs时需要安装metadata s ...

  4. Openstack学习历程_1_视频

    学习视频:讲解Openstack每个模块对应的作用

  5. OpenStack学习系列-----第一篇 OpenStack介绍

    刚开始接触OpenStack,被它所承诺的前景,以及现在业界对它的期望吸引(OpenStack被誉为21世纪的Linux开源社区,可以预见其的发展前景是何其广阔.).怎么说呢,我现在也暂时相信,Ope ...

  6. openstack学习线路指导

    原文链接: http://www.aboutyun.com/thread-7225-1-1.html 网上很多hadoop资料,openstack资料相对较少,这里整理一下,帮助初学者尽快入门. 首先 ...

  7. OpenStack学习推荐

      前言: 学习.了解.安装部署OpenStack也写了好一段时间了,现在觉得也有点必要写点总结.搞IT这一块基本就这样,不管是搞什么领域,一个项目超过两个月没动它,就基本不知道当时是怎么搞的,当时学 ...

  8. OpenStack学习

    ========================================== openstack的场景是什么 openstack的目的是把空闲的机器组织起来,经过虚拟化,租给用户使用. 出现的 ...

  9. OpenStack学习笔记(一)----安装虚拟化工具

    下面的命令运行在操作系统Ubuntu 14.04上. 在开源软件里面,主要是采用KVM和Xen.尽管OpenStack对KVM和Xen都支持,但是OpenStack对KVM的支持明显要比Xen做得好, ...

  10. OpenStack学习系列-----第二篇 由一个错误看理解整个架构的重要性

    看了openstack没几天,然后就开始试着用Java调用所有的API,第一步得到Credentials的时候成功了,然后第二步,传参数使所有的server信息都列出来的时候报错404.具体描述如下( ...

随机推荐

  1. json.parseArray源码解析

    json.parseArray源码解析 public static <T> List<T> parseArray(String text, Class<T> cla ...

  2. Nginx SSL功能支持的一些资料。

    http://wiki.nginx.org/HttpSslModulehttp://zou.lu/nginx-https-ssl-module/http://www.21andy.com/blog/2 ...

  3. SSRS 数据源访问Cube 无法创建订阅的解决方法

    SSRS Report 的数据源可以直接放问SSAS 的Cube. 当报表的数据源设置成下图: 这样设置后,report 能够正常访问 Cube 并打开Report. 但是,如果我们需要添加数据驱动的 ...

  4. 从javascript发展说到vue

    Vue是基于javascript的一套MVVC前端框架,在介绍vue之前有必要先大体介绍下javascript产生背景及发展的历史痕迹.前端MVVC模式等,以便于大家更好的理解为什么会有vue/rea ...

  5. eclipse配置tomcat后启动报内存错误解决方法

    一.双击tomcat服务,打开配置界面 二.打开launch configuration窗口,在Argument最后面加入:-Xms256m -Xmx512m -XX:PermSize=256M -X ...

  6. 理解Python中的类对象、实例对象、属性、方法

    class Animal(object): # 类对象 age = 0 # 公有类属性 __like = None # 私有类属性 def __init__(self): # 魔法方法 self.na ...

  7. AVL Tree 操作

    1.AVL树是带有平衡条件的二叉查找树, 一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树. 2.AVL树的删除要比插入复杂.如果删除相对较少,那么用懒惰删除的方法是最好的策略. 3 ...

  8. XShell上传文件到Linux服务器上

    在学习Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输 1:首先连接上一台Linux主机 2:输入rz命令,看是否已经安装了lrzsz,如 ...

  9. Python微信公众号开发

    最近老大叫我学习开发微信,试着玩了下.网上查了下文档.有点过时. 简单步骤: 1)申请服务器并完成环境配置 去腾讯云购买云服务器.当然你也可以购买其他产品,比如阿里云.因为我是学生,有优惠110一年. ...

  10. js动态计算移动端rem适配问题

    第一:css3的media query来实现适配,例如下面这样: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 ...