OpenStack实战指南 笔记

OpenStack实战指南

跳转至: 导航搜索

目录

OpenStack简介

  1. 2010,来自于NASA Nebula(之前用的是Eucalyptus) + Rackspace Swift
  2. vs CloudStack
    1. p7 Apache项目成员均以个人名义列入,而不是他们所代表的公司
    2. Neutron接受来自虚拟机的指令来定义VM需要的网络,然后转发给交换机和路由器创建这些网络(SDN?)
    3. OpenStack为分布式组件模式(不可热插拔?),CloudStack是一个可插拔式的模型
    4. 都支持KVM、Xen、VMWare,OpenStack还支持Hyper-V、PowerVM、LXC via libvirt、Baremental、QEMU、Docker
  3. 创建虚拟机实例
    1. Horizon将用户的HTTP请求转换为REST分发给Nova API,这期间会将镜像文件下载到Nova节点,并进行虚拟机配置
  4. 非核心项目
    1. Ironic:管理物理机的生命周期?

      1. 前身:Nova baremental驱动,主要通过PXE和IPMI进行管理?
    2. Tempest:功能测试、集成测试;基于unittest2和nose

OpenStack安装

  1. OpenStack通过AMQP实现RPC服务:RabbitMQ、Qpid、ZeroMQ
  2. 添加Havana的源(Ubuntu 12.04默认是Essex)
    1. # apt-get install -y python-software-properties
    2. # add-apt-repository cloud-archive;avana
    3. # apt-get update
    4. # apt-get upgrade -y
    5. # apt-get dist-upgrade -y
  3. # apt-get install -y ntp
  4. # apt-get install -y mysql-server python-mysqldb
    1. sed -I"s/127.0.0.1/10.80.80.10/" /etc/mysql/my.conf (这么修改mysql配置文件可靠吗?)
  5. # apt-get install -y rabbitmq-server
    1. rabbitmqctl change_password guest NEWPWD
  6. 安装部署Keystone
    1. # vi /etc/keystone/keystone.conf:admin_token?
    2. # keystone-manage db_sync(有点rails风格)
    3. p41 建立Tenant、用户、角色(略)
      1. # keystone user-role-add --user admin --role admin --tenant admin
    4. 定义Services和API Endpoints
  7. 安装Glance镜像组件(主要包括glance-api和glance-registry两个服务)
    1. # glance image-create --name my1stimg --is-public true --container-format bare --disk-format qcow2 --file a.img
  8. 安装Neutron组件(实际实现依赖与更底层的Open vSwitch、Nicira等)
    1. 当Grizzly版本发布后,网络组件改名叫Neutron,以前叫Quantum
  9. 安装Nova(略)
  10. 安装Cinder(略)
  11. 安装Horizon(略)
  12. 网络节点的安装*(这部分内容感觉有点技术含量啊)
    1. 负责虚拟机的网络控制,包括DHCP、虚拟路由、公网访问等,使用Open vSwitch作为底层驱动
  13. 计算节点的安装
    1. 负责运行虚拟机,KVM + libvirt
  14. 块存储节点的安装(负责提供volume)
  15. *在Ubuntu上使用源代码编译安装
    1. p68 学习DevStack
    2. p71 使用tmux启动keystone(tmux看起来是个不错的工具,它和一般shell/ssh的区别是什么?)
      1. $ tmux new-session -s keystone
      2. $ bin/keystone-all --config-file /etc/keystone/keystone.conf
    3. 下略

OpenStack组织结构一览

  1. 在Grizzly版本中,nova-compute不再之间与database交互,而是通过nova-conductor代理

OpenStack API的介绍和开发

  1. Nova API:以WSGI为入口,加上Routes、Webob和Paste等Python组件

    1. 分页查询:marker(上次最后一条记录name) limit end_marker
  2. 理解Eventlet(Python库,依赖于Greenlet和select.epoll)
  3. 自定义Dashboard面板
    1. Horizon基于Django

Keystone认证组件

  1. 哈哈,从这一章看来,OpenStack开发其实就是Python语言的编程

Glance镜像组件

  1. 表结构:glance# \dt

    1. image_locations
    2. images
    3. migrate_version
  2. 镜像状态:queued saving active killed deleted pending_delete
  3. 镜像格式
    1. RAW
    2. qcow2(QEMU的Copy on Write)
    3. VHD(微软的Virtual PC和Hyper-V)
    4. VMDK
    5. VDI
    6. ISO
    7. AKI、ARI、AMI
  4. 延时删除?glance-scrubber
  5. 设置后端存储:Ceph*
  6. 制作镜像

Nova计算组件

  1. 虚拟机(instance)状态:vm_state task_state power_state

    1. p194 在libvirt中,虚拟机被定义为Domain,简称Dom
  2. Context
    1. service_catalog到底是什么?

Neutron网络组件

  1. 虚拟设备:network subnet router port
  2. p205 在一个实际的部署Neutron环境中,往往会在不同的节点上安装多个服务,这是初学者不容易理解的地方
    1. 哈哈,网络管理配置本来就不容易,这算是一个技术壁垒了
  3. 插件?
    1. ML2?
    2. neutron-XXX-agent:DHCP、l3、metadata、LBaaS、FWaaS
  4. 使用Open vSwitch(OVS)的插件
    1. 网络类型:Provider / Tenant
    2. L3 agent:实现网络层路由转发和NAT;Floating IP

Cinder块存储组件

  1. dbus(IPC服务)导致libvirt出错?

OpenStack日常运维

  1. 集中管理日志:rsyslog?

使用Fuel快速安装OpenStack

时间: 2024-11-05 22:03:11

OpenStack实战指南 笔记的相关文章

SQL Server 2012实施与管理实战指南(笔记)——Ch5启动SQL Server服务和数据库

5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 5.集群环境下SQL Server资源无法保持在线 目录 5.启动SQL Server服务和数据库... 1 5.1 SQL Server服务启动步骤... 1 5.1.1 从注册表中读取SQL Server启动信息... 1 5.1.2 检查硬件,配置内存和CPU.. 2 5.1.3 数据库启动.

SQL Server 2012实施与管理实战指南(笔记)——Ch3Alwayson可用组

3.AlwaysOn可用组 Alwayson支持的,是一个可用性组,每个可用性组是包含了多个用户数据库的容器,可用性组内的数据库可以作为一个整体进行故障转移. AlwaysOn关键特性: 一.类似集群的特性 1.多个数据库可以一起迁移 2.提供一个虚拟服务器名,这个虚拟服务器名始终是当前的primary. 3.可以有自动切换,手动切换和强制切换 4.一个primary,最多4个secondary(sql server 2014增加到了8个) 5.Dashborad可以监视alwayson运行状况

SQL Server 2012实施与管理实战指南(笔记)——Ch6连接的建立和问题排查

6.连接的建立和问题排查 会话的建立分成2个部分: 1.连接,即找到这个实例 2.认证,告诉sql server谁要连接 目录 6.连接的建立和问题排查... 1 6.1协议选择和别名... 1 6.1.1 服务器网络配置... 1 6.1.2 SQL Server Browser的作用... 1 6.1.3 客户端网络配置... 2 6.1.4 客户端网络连接选择机制... 2 6.2 连接失败检测步骤--命名管道... 2 6.3连接失败检测步骤--TCP/IP. 2 6.3.1 SQL S

购买李宁Cocos2d-x套餐,送最新出的《Cocos2d-x游戏实战指南》签名书一本

活动时间:2016-10-18至2016-11-30 通过本套餐,可完全了解Cocos2d-x 3.x的相关技术,以及掌握C++语言,并具有一定的项目实战经验. Cocos2d-x游戏开发套餐:http://edu.51cto.com/pack/view/id-114.html <Cocos2d-x游戏实战指南>封面 本书月底出版,触控科技副总裁Jane.微软开放体验和合作事业部开发技术顾问梅颖广.51CTO学院运营总监曹亚莉.哈尔滨工业大学  王峥  联袂推荐 目录 第1章     初识CO

R实战读书笔记四

第三章 图形入门 本章概要 1 创建和保存图形 2 定义符号.线.颜色和坐标轴 3 文本标注 4 掌控图形维数 5 多幅图合在一起 本章所介绍内容概括如下. 一图胜千字,人们从视觉层更易获取和理解信息. 图形工作 R具有非常强大的绘图功能,看下面代码. > attach(mtcars) > plot(wt, mpg) > abline(lm(mpg~wt)) > title("Regression of MPG on Weight") > detach(m

JAVA并发编程实战 读书笔记(二)对象的共享

<java并发编程实战>读书摘要 birdhack 2015年1月2日 对象的共享 JAVA并发编程实战读书笔记 我们已经知道了同步代码块和同步方法可以确保以原子的方式执行操作,但一种常见的误解是,认为关键之synchronized只能用于实现原子性或者确定临界区.同步还有另一个重要的方面:内存可见性. 1.可见性 为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制. 在没有同步的情况下,编译器.处理器以及运行时等都可能对操作的执行顺序进行一些意想不到的调整.在缺乏足够同步的多线程程

机器学习实战学习笔记(一)

1.k-近邻算法 算法原理: 存在一个样本数据集(训练样本集),并且我们知道样本集中的每个数据与其所属分类的对应关系.输入未知类别的数据后将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似(最近邻)的k组数据.然后将k组数据中出现次数最多的分类,来作为新数据的分类. 算法步骤: 计算已知类别数据集中的每一个点与当前点之前的距离.(相似度度量) 按照距离递增次序排序 选取与当前点距离最小的k个点 确定k个点所在类别的出现频率 返回频率最高的类别作为当前点的分类 py

iBATIS开发指南笔记

第一部分  概述 (一)目标和初衷 1. iBATIS的目标是:用少量的代码获得大量的数据访问功能 2. 初衷是让程序员将如下过程做的更好更简单: Separating SQL code from programming code 将SQL代码从程序代码中分离 Passing input parameters to the library classes and extracting the output 对类库传递输入参数来提取输出结果 Separating data access class

数据分析基础教程Numpy指南笔记

Numpy指南笔记 第2章:Numpy基础 创建多维数组# coding:utf-8import numpy as npm=np.array([np.arange(2),np.arange(2)])print mprint m.shape 一维数组切片和索引# coding:utf-8import numpy as npa=np.arange(9)print aprint a[3:7]print a[:7:2] #用下标0-7,以2为步长选取元素 多维数组切片和索引# coding:utf-8i