一、memcached概念

  Memcached 是一个开源的、高性能的分布式内存对象缓存系统。通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站访问速度,加速动态WEB应用、减轻数据库负载。

  Memcached是一种内存缓存,把经常需要存取的对象或数据缓存在内存中,内存中,缓存的这些数据通过API的方式被存取,数据经过利用HASH之后被存放到位于内存上的HASH表内,HASH表中的数据以key-value的形式存放,由于Memcached没有实现访问认证及安全管理控制,因此在面向internet的系统架构中,Memcached服务器通常位于用户的安全区域。

当Memcached服务器节点的物理内存剩余空间不足,Memcached将使用最近最少使用算法(LRU,LastRecentlyUsed)对最近不活跃的数据进行清理,从而整理出新的内存空间存放需要存储的数据。

  Memcached在解决大规模集群数据缓存的诸多难题上有具有非常明显的优势并且还易于进行二次开发,因此越来越多的用户将其作为集群缓存系统,此外,Memcached开放式的API,使得大多数的程序语言都能使用Memcached,如javac、C/C++C#,Perl、python、PHP、Ruby 各种流行的编程语言。

  由于Memcached的诸多优势,其已经成为众多开源项目的首选集群缓存系统。如openstacksd的keystone身份认证项目。就会利用Memcached来缓存租户的Token等身份信息,从而在用户登陆验证时无需查询存储在MySQL后端数据库中的用户信息,这在数据库高负荷运行下的大型openstack集群中能够极大地提高用户的身份验证过程,在如web管理界面Horizon和对象存储Swift项目也都会利用Memcached来缓存数据以提高客户端的访问请求响应速率。

二、keystone介绍:

keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云平台中第一个即需要安装的服务。

作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情:

  1. 管理用户及其权限
  2. 维护 OpenStack Services 的 Endpoint
  3. Authentication(认证)和 Authorization(鉴权)

三、环境准备

1、三台机器:主机名:lichaohost1      (控制节点)集群网ip:192.168.206.137  租户网ip: 192.168.206.142  外网ip:192.168.206.143

主机名:lichaohost2        (计算节点)集群网ip:192.168.206.138   租户网ip: 192.168.206.144

主机名:lichaohost3        (储存节点)   集群网ip :192.168.206.139

2、控制节点端三块网卡:

ens33: 集群网 (组件相互通信)

ens37:租户网  (实例相互通信)

ens38:外网

3、计算节点两块网卡

ens33:集群网

ens37:租户网

4、储存节点一块网卡

ens33:集群网

5、每台机器最少4G内存

6、静态域名解析

7、免密登录

8、搭建好ntp

9、搭建好rabbitmq

openstacke ocata版 官方网站:https://docs.openstack.org/ocata/index.html

四、安装openstackclient  并安装数据库

#版本源以宕到本地所以直接下载

1、控制节点:

yum install python-openstackclient -y  (安装 openstackclient )

2、 控制节点:

yum install openstack-selinux  -y    (安装  openstack-selinux  组件)

3、 控制节点:

yum install mariadb mariadb-server python2-PyMySQL  -y     ( 安装数据库)

4、控制节点: 创建并编辑/etc/my.cnf.d/openstack.cnf文件,创建一个[mysqld]节,并将绑定地址键设置为控制器节点的管理IP地址,以允许其他节点通过管理网络访问。设置额外的键来启用有用的选项和UTF-8字符集。

#1

vim /etc/my.cnf.d/openstack.cnf

#2 编辑以下内容

[mysqld]
bind-address = 192.168.206.137
default-storage-engine = innodb
innodb_file_per_table = on
max_connections =
collation-server = utf8_general_ci
character-set-server = utf8

5:、 控制节点:启动mariadb.service并设置开机自启

systemctl restart mariadb.service
systemctl enable mariadb.service

6、 控制节点:  初始化数据库

mysql_secure_installation

五、搭建memcached缓存服务

1、  控制节点:

 yum install memcached python-memcached -y      安装memcached

2、控制节点: 编辑/etc/sysconfig/memcached文件

vim  /etc/sysconfig/memcached

#

注:写主机名前提做了静态域名解析

例:

3、控制节点:启动memcached 并设置为开机自启

systemctl enable memcached.service
systemctl restart memcached.service

六、搭建keystone 服务

1、控制节点:登录数据库

mysql -uroot   -plichao123

2、 控制节点:创建keystone数据库

create  database  keystone;

3、控制节点:授予适当的访问keystone数据库的权限

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'KEYSTONE_DBPASS';

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY 'KEYSTONE_DBPASS';

4、控制节点:安装keystone 服务

yum install openstack-keystone httpd mod_wsgi -y

5、编辑/etc/keystone/keystone.conf

#1  备份原文件

#2  编辑/etc/keystone/keystone.conf

vim  /etc/keystone/keystone.conf

编辑以下内容:

[DEFAULT]

[assignment]

[auth]

[cache]

[catalog]

[cors]

[cors.subdomain]

[credential]

[database]

connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@lichaohost1/keystone

[domain_config]

[endpoint_filter]

[endpoint_policy]

[eventlet_server]

[federation]

[fernet_tokens]

[healthcheck]

[identity]

[identity_mapping]

[kvs]

[ldap]

[matchmaker_redis]

[memcache]

[oauth1]

[oslo_messaging_amqp]

[oslo_messaging_kafka]

[oslo_messaging_notifications]

[oslo_messaging_rabbit]

[oslo_messaging_zmq]

[oslo_middleware]

[oslo_policy]

[paste_deploy]

[policy]

[profiler]

[resource]

[revoke]

[role]

[saml]

[security_compliance]

[shadow_users]

[signing]

[token]
provider = fernet [tokenless_auth] [trust]

#3

#4

6、控制节点: 查看属组

ll

7、控制节点:同步数据库 (导入keystone表)

#1

su -s /bin/sh -c "keystone-manage db_sync" keystone

#2 查看

8、 控制节点:  初始化Fernet密钥存储库

#1

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone  ( 创建keystone的 用户)

#2

keystone-manage credential_setup --keystone-user keystone --keystone-group keystone(设置keystone 角色)

9、控制节点:配置 keystone 服务端点

如下:

keystone-manage bootstrap --bootstrap-password admin \
--bootstrap-admin-url http://lichaohost1:35357/v3/ \
--bootstrap-internal-url http://lichaohost1:5000/v3/ \
--bootstrap-public-url http://lichaohost1:5000/v3/ \
--bootstrap-region-id RegionOne

10、控制节点:配置Apache HTTP服务器

#1 编辑/etc/httpd/conf/httpd.conf文件

#2 配置ServerName选项来引用控制器节点

11、控制节点:创建到/usr/share/keystone/wsgi-keystone.conf文件的链接

#查看

12、控制节点:启动 httpd  并设置开机自启  ( 这样 keystone 服务 就可以调用 httpd 服务 从而使其正常工作了)

systemctl restart httpd.service
systemctl enable httpd.service

13、控制节点:配置管理帐户 (创建admin 用户环境变量)

#1 在/root 下编辑文件

vim   openrc

#2   编辑以下内容

export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://lichaohost1:35357/v3
export OS_IDENTITY_API_VERSION=

七、控制节点:   简单演示 keystone(创建域、项目、用户和角色)

1、宣告环境变量

source  openrc

2、创建server 项目

openstack project create --domain default  --description "Service Project" service

3、查看项目列表

openstack  project list

#补充:

查看 用户列表

openstack  user list

#补充2

查看 服务端点列表

openstack   endpoint  list

# 补充3

查看角色列表

openstack  role  list

4、创建 demo  项目

openstack project create --domain default     --description "Demo Project" demo

5、创建demo用户并查看

openstack user create --domain default   --password-prompt demo

#查看

6、创建用户角色

openstack role create user

7、将user角色添加到demo项目的demo用户中

openstack role add --project demo --user demo user

openstack (3)---------部署memcached缓存服务,keystone服务的更多相关文章

  1. openstack项目【day24】:OpenStack mitaka部署

    前言: openstack的部署非常简单,简单的前提建立在扎实的理论功底,本人一直觉得,玩技术一定是理论指导实践,网上遍布个种搭建方法都可以实现一个基本的私有云环境,但是诸位可曾发现,很多配置都是重复 ...

  2. 二、NOSQL之Memcached缓存服务实战精讲第一部

    1.Memcached是一套数据缓存系统或软件. 用于在动态应用系统中缓存数据库的数据,减少数据库的访问压力,达到提升网站系统性能的目的:Memcached在企业应用场景中一般是用来作为数据库的cac ...

  3. 第16章 使用Squid部署代理缓存服务

    章节概述: 本章节从代理缓存服务的工作原理开始讲起,让读者能够清晰理解正向代理(普通模式.透明模式)与反向代理的作用. 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低 ...

  4. OpenStack控制节点上搭建Q版keystone服务(step3)

    keystone服务监听两个端口:5000和35357 一.安装和配置 1.安装keystone组件 yum install openstack-keystone httpd mod_wsgi -y ...

  5. OpenStack 安装:keystone服务

    在前面的章节里面,我们配置了基本环境,也安装keystone服务,并且创建了keystone的数据库,在这一篇里面,我们说怎么配置keystone. 首先编辑keystone服务,需要修改如下数据 编 ...

  6. 基于Ubuntu部署 memcached 服务

    系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 安装并启动 memcached 服务 安装 memcached 使用apt-get安装 memcached sudo apt-get ...

  7. [网站日志]当Memcached缓存服务挂掉时性能监视器中的表现

    我们用的Memcached缓存服务是阿里云OCS,今天晚上遇到了一次OCS挂掉的情况(计划中的升级),看一下性能监视器中的表现,也许对分析黑色1秒问题有帮助. 应用日志中错误: 2014-06-05 ...

  8. Linux基础学习-使用Squid部署代理缓存服务

    使用Squid部署代理缓存服务 Squid是Linux系统中最为流行的一款高性能代理服务软件,通常作为Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存.Squid服务配置简单. ...

  9. 《Linux就该这么学》培训笔记_ch16_使用Squid部署代理缓存服务

    <Linux就该这么学>培训笔记_ch16_使用Squid部署代理缓存服务 文章最后会post上书本的笔记照片. 文章主要内容: 代理缓存服务 配置Squid服务程序 正向代理 标准正向代 ...

随机推荐

  1. 模拟Java-Sping,实现其IOC和AOP核心

    简易的IOC框图 注解的方式实现了左边的分支,那么就剩下右边的XML分支: XmlContext:这个类是也是AbstractApplicationContext的子类,和AnnotationCont ...

  2. CAD交互绘制样条线(com接口)

    在CAD设计时,需要绘制样条线,用户可以设置样条线线重及颜色等属性. 主要用到函数说明: _DMxDrawX::SendStringToExecuteFun 把命令当着函数执行,可以传参数.详细说明如 ...

  3. oracle优化器使用(oracle11g)

    一:优化器介绍 优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL ...

  4. console.log()与console.dir()

    console.log()可以取代alert()或document.write(),在网页脚本中使用console.log()时,会在浏览器控制台打印出信息. console.dir()可以显示一个对 ...

  5. C89:应用篇 文件管理器

    一.简介 用C语言做的一个文件管理器的轮子,因为经常开发中会用到跟数据流有关的,做完会放到Github上

  6. php基础查找算法

    1.顺序查找 function line_search($array,$tar) { if(!is_array($array) || count($array) < 1) return fals ...

  7. php基础排序算法

    1.冒泡排序 $arr = array(12,34,57,42,165.4,73,51); function bubbling_sort($array) { $cou = count($array); ...

  8. (3)Gojs model简介

    (3)Gojs model简介 在GoJS中,model用来存储表的基本数据,包括node.link等具体对象和属性,与其在视觉上的展示效果不相关.model中往往只保存相对简单的数据,最方便且持久化 ...

  9. 大前端之HTML5\CSS3

  10. Win7解决无法在资源管理器中连接FTP问题

    需要连接FTP站点,但是又不想使用任何工具,使用电脑自带的资源管理器实现连接. 一般来说是能正常连接没有问题的,但是存在个别电脑不行. 试过好多办法不行,如下办法方法管用. 复制以下代码,本地保存为R ...