设为首页 收藏本站
查看: 847|回复: 0

[经验分享] 完整部署OpenStack-memcache配置

[复制链接]

尚未签到

发表于 2017-12-4 22:02:40 | 显示全部楼层 |阅读模式
  一、
[iyunv@openstack-server ~]# nova list
ERROR (CommandError): You must provide a username or user id via --os-username, --os-user-id, env[OS_USERNAME] or env[OS_USER_ID]
解决办法:
source一下环境变量来获取 token
[iyunv@openstack-server src]# source admin-openrc.sh
[iyunv@openstack-server src]# nova list
+--------------------------------------+--------------+--------+------------+-------------+--------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+--------------+--------+------------+-------------+--------------------+
| 056c37a4-3e94-4280-96dd-5bc003469647 | kvmserver-01 | ACTIVE | - | Running | flat=192.168.1.121 |
+--------------------------------------+--------------+--------+------------+-------------+--------------------+
  二、
在进行keystone认证的时候,出现下面的报错:
Maximum lock attempts on _lockusertokens-0b75ff3ce97a40caa6bf6753c962c82b occurred. (Disable debug mode to suppress these details.) (HTTP 500) (Request-ID: req-bb1c465e-33bc-412a-8ac2-c0d0a7e168ad)
或者
An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-bb1c465e-33bc-412a-8ac2-c0d0a7e168ad)
问题产生的可能原因及解决办法:
1)admin_token用户环境变量错误引起的。
解决办法:
[iyunv@linux-node1 ~]# export OS_TOKEN=35d6e6f377a889571bcf
[iyunv@linux-node1 ~]# export OS_URL=http://192.168.1.17:35357/v3
[iyunv@linux-node1 ~]# export OS_IDENTITY_API_VERSION=3
2)keystone数据同步失败,没有获取到正确的token值引起的。
解决办法:
删除mysql数据库中的keystone库,重新创建keystone库;
重新生成一个token,在keystone.conf中重新指定admin_token对应的新的token指;
然后初始化keystone数据,重启memcaced服务,重新进行keystone的认证;
3)获取的token无效引起的。
解决办法:修改keystone.conf文件中的[token]区域。
之前的配置,将token存放在memcache缓存中
[token]
provider = uuid                 //或者是provider = keystone.token.providers.uuid.Provider
driver = memcache            //或者是driver = keystone.token.persistence.backends.memcache.Token
修改后的配置,将token存放在sql数据库中
[token]
provider = uuid
driver = keystone.token.persistence.backends.sql.Token
----------------------------------------------------------------------------------------------------------------------------------------------
说明下:
keystone默认使用SQL数据库存储token,token默认有效期为1天(24h)。
Openstack中每个组件执行的每次命令(请求)都需要token来验证,每次访问都会创建token,增长速度非常快,token表数据也会越来越多。
随着时间的推移,无效的记录越来越多,企业私有云几天的量就可以几万条、几十万条。这么多无效的token导致针对token表的SQL语句变慢,性能也会变差!
这就需要手动写个定时脚本来清理token表。
但是更好的方法当然是将token存放在memcache缓存中,利用memcached特性,自动删除不使用的缓存:
[memcache]
servers = localhost:11211
[token]
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.memcache.Token

  默认的配置是:
[token]
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.sql.Token
--------------------------------------------------------------------------------------------------------------------------------------------

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-420608-1-1.html 上篇帖子: Openstack的本质 下篇帖子: openstack使用openvswitch实现vxlan组网
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表