前言: 最近开始捣鼓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. 【原创】VNC-view配置

    *.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...

  2. 【java基础学习-2--】关于Hashcode()的使用

    摘要 Java中equals()和hashCode()有一个契约: 如果两个对象相等的话,它们的hash code必须相等: 但如果两个对象的hash code相等的话,这两个对象不一定相等; 这个约 ...

  3. 查看CentOS版本方法

    查看内核版本 这个命令适用于所有的linux,包括Redhat.SuSE.Debian.Centos等发行版. root@MyMail ~ # uname Linux root@MyMail ~ # ...

  4. 黄聪:MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法(转)

    转自:http://www.cnblogs.com/susuyu/archive/2013/05/28/3104249.html 环境:linux,mysql5.5.21 错误:Host is blo ...

  5. 黄聪:wordpress如何添加自定义文章快速编辑按钮

    When working with WordPress posts and you want to quickly change the status or date of one or more p ...

  6. 互联网 DBA 需要做那些事(转)

    众所周知,互联网DBA与传统行业DBA有很大的不同,那就是管理的机器多,新技术更新快,面对的开发多.网络环境复杂.要求7*24待机:这样就 导致互联网DBA的工作在传统DBA工作之上,增加了更多的复杂 ...

  7. capture同focus

    SetCapture函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获.一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内.同一时刻只能有一个窗口捕获鼠标.如果鼠标光标在另一 ...

  8. Spark工程开发常用函数与方法(Scala语言)

    import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.sql.{SaveMode, DataFrame}im ...

  9. c++学习-运算符重载

    重载=号运算符,由于成员属性中有指针会出现错误 #include <iostream> using namespace std; class num{ public: num(){n=;c ...

  10. 转-Android联网 — HttpURLConnection和HttpClient选择哪个好?

    http://www.ituring.com.cn/article/199619?utm_source=tuicool 在Android开发中,访问网络我们是选择HttpURLConnection还是 ...