前言: 最近开始捣鼓OpenStack了,在用RDO部署OpenStack的时候,发现装了Redis, 遂决定看看OpenStack哪些地方(可以)用到Redis。


  •  Redis作为OpenStack Dashboard的session storage backend
    目前(M版本,后面默认为M版本) OpenStack的Dashboard支持以下三种session storage backend:
    Local memory cache
    Key-Value store(Memcached, Redis)
    Database(Mysql/Mariadb)
    其中Local memory cache是最简单而且是最快的,但是缺点也很明显,比如在process和worker之间不能共享,存储随着process结束而结束。Database作为backend相对而言最慢的,但是可以做到scalable,persistent. K-V storage速度上介于两者之间,也可以salable,比较适合小规模部署的环境,一下是配置Redis作为Session storage的backend。

    1. 安装依赖包:redis, django-redis。
    2. 修改local_settings配置文件:/etc/openstack-dashboard/local_settings.

    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
    CACHES = {
    "default": {
    "BACKEND": "redis_cache.cache.RedisCache",
    "LOCATION": "127.0.0.1:6379:1",
    "OPTIONS": {
    "CLIENT_CLASS": "redis_cache.client.DefaultClient",
    }
    }
    }

    如果django-redis版本是3.8.0或以上,那么应该要这样配置(https://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend):

    SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
    CACHES = {
    'default': {
    'BACKEND': 'django_redis.cache.RedisCache',
    'LOCATION': 'redis://127.0.0.1:6379/1',
    'OPTIONS': {
    'CLIENT_CLASS': 'django_redis.client.DefaultClient',
    }
    }
    }

    3. 重启httpd/apache, 登陆Dashboard,然后查看Redis的key:

  •  Redis作为OpenStack Keystone的token storage backend
    Keystone支持的Token storage backend目前有三个:
    Mysql(Mariadb)
    MemCache
    Redis

    Mysql会有token无限增长的问题,需要定期清理不需要的token, Memcache的问题是空间固定,不好扩容,相对而言Redis是一个不错的选择,一下是配置Redis的步骤:
    1. 安装依赖包: Redis.
    2. 修改keystone.conf:
    [cache]
    enabled=true
    expiration_time=600
    backend=dogpile.cache.redis
    backend_argument=url:redis://127.0.0.1:6379/2 [token]
    caching=true
    driver = keystone.token.persistence.backends.kvs.Token

       3. 重启keystone(httpd), 查看Redis的key:

  • Redis作为OpenStack Telemetry的多个agent instances之间协作的backend

RDO 安装后,默认的就是Redis作为backend, 参看/etc/ceilometer/ceilometer.conf:

[coordination]

#
# From ceilometer
# # The backend URL to use for distributed coordination. If left empty, per-
# deployment central agent and per-host compute agent won't do workload
# partitioning and will only function correctly if a single instance of that
# service is running. (string value)
#backend_url = <None>
backend_url = redis://9.114.112.108:6379 # Number of seconds between heartbeats for distributed coordination. (floating
# point value)
#heartbeat = 1.0 # Number of seconds between checks to see if group membership has changed
# (floating point value)
#check_watchers = 10.0

OpenStack和Redis的更多相关文章

  1. openstack trove redis配置项

    trove在mitaka版本更新了一个功能,configuration 具体如下: trove help |grep configuration configuration-attach Attach ...

  2. 发现 OpenStack: 架构、功能和交互

    原文:http://www.ibm.com/developerworks/cn/cloud/library/cl-openstack-overview/index.html OpenStack 是由 ...

  3. 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  4. [译] OpenStack Liberty 版本中的53个新变化

    一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么 ...

  5. IBM云的商业动作之我见(1):IBM 收购 OpenStack 托管私有云公司 Blue Box [IBM Acquired Blue Box]

    2015-06-10 IBM 刚刚(2015/06/03)宣布收购 Blue Box 公司.本文就聊聊这点事. 1. Blue Box 是做什么的?它是一家中小型托管私有云提供商. 1.1 公司的简单 ...

  6. [转] OpenStack Kilo 更新日志

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

  7. openstack Icehouse发布

    OpenStack 2014.1 (Icehouse) Release Notes General Upgrade Notes Windows packagers should use pbr 0.8 ...

  8. about云资源汇总指引V1.4:包括hadoop,openstack,nosql,虚拟化

    hadoop资料 云端云计算2G基础课程 (Hadoop简介.安装与范例) 炼数成金3G视频分享下载 虚拟机三种网络模式该如何上网指导此为视频 Hadoop传智播客七天hadoop(3800元)视频, ...

  9. OpenStack中memcached的使用和实现

    概述 主要分享下个人对Liberty版本openstack中cache使用的理解,由于作者水平有限,难免有所错误,疏漏,还望批评指正. openstack中可以使用cache层来缓存数据,Libert ...

随机推荐

  1. SSL证书在线工具

    证书在线工具 如果您是第一次申请SSL证书,如果您对您的服务器如何使用SSL证书还不熟悉的话,我们推荐您使用本套工具,本套工具支持所有SSL服务器证书格式和各种WEB服务器.帮助您在线生成CSR文件, ...

  2. 为什么要用VisualSVN Server,而不用Subversion?

    为什么要用VisualSVN Server,而不用Subversion? [SVN 服务器的选择] - 摘自网络 http://www.cnblogs.com/haoliansheng/archive ...

  3. Perl system(cmd) 和 `cmd` 的区别探讨

    在perl中系统调用有两种方式,一种是system(cmd),另一种是`system`以前一直没注意,这两种方式的区别,还以为是一样的,今天写脚本的时候,忽然想要获取命令的返回值,然后,用了my $r ...

  4. 【转】 SQL 2005 try catch

    1         TRY…CATCH 1.1   用法 TRY…CATCH的语法如下: BEGIN TRY -- TRY 模块 -- 业务处理 END TRY BEGIN CATCH -- CATC ...

  5. 随笔http

    一个HTTP由一条请求命令和一个响应结果组成.这种通信是通过名为HTTP报文(message)的格式化数据块进行的.

  6. android 基本知识

    307966990 lyd@itcast.com 13716040037 李印东 东东 通信技术: 1G 模拟制式 语音通话. 2G GSM, CDMA 收发短信和邮件. 2.5G GPRS, EDG ...

  7. OperationResult

    public class OperationResult<T> { private readonly ConcurrentDictionary<string, T> _valu ...

  8. 格式化日期的js(正则魅力)

      /** * 时间对象的格式化; */ Date.prototype.format = function(format) { // ◆ 使用prototype定义原型方法 /* * eg:forma ...

  9. JS闭包研究、自造困扰与解答

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  10. [Java] 使用转换流来处理标准输入

    package test.stream; import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...