OpenStack(Icehouse)安装Swift后,进行验证时报错

本文分享了一位技术人员在RHEL6.3环境下安装OpenStack Icehouse过程中遇到的问题及其解决办法,特别是在配置对象存储服务时,由于硬件资源限制导致的配置不当,引发访问memcached失败及HTTP 503错误等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是在RHEL6.3安装OpenStack(Icehouse),在添加Object Storage Service时,碰到一些问题。我是基本参照手册进行安装的,但是当硬件条件不满足时,也不得不凑合使用。比如这次添加Object Storage服务,手册建议是一个专门的Proxy node和5个Storage node,我哪有这么多机器,只好proxy node和storage node各一台,还要分别放在controller node和compute1 node上。安装完之后进行验证,执行swift stat命令或者swift list命令后,报出"Account GET failed: http://controller:8081/v1/AUTH_61ea7a3e557c4d1f852115ff11186df1?format=json  503 Internal Server Error"等错误信息。难道是认证出了问题?排查了半天,错误依然。偶然看到/var/log/messages文件中记录一些系统消息,其中发现与proxy-server有关的消息中出现了"Error connecting to memcached: 127.0.0.1:11211"这样的消息,这个错误比较明确,因此肯定要先解决,也是弄了半天,发现memcached连不上是因为在配置proxy node(controller结点)时,已经修改/etc/sysconfi/memcached文件中的OPTIONS变量,将memcached的监听IP修改为了controller的IP,而在storage node(compute1结点)的/etc/swift/目录下的account-server.conf, container-server.conf, object-server.conf文件中的bind_ip仍然是127.0.0.1,所以storage node访问proxy node时,仍然试图在127.0.0.1上连接memcached,结果出错,最终不能完成storage node的请求,不过因为使用REST接口,最后返回的是http协议中的503错误——这十分地误导人,实际上我已经经历过不少这种情况,凡是通过http协议与服务器交互,当服务端因为它本身的配置或客户端的提供的错误信息,导致不能正确响应客户端的http请求的时候,返回的总是http协议的错误,实际上导致了在服务端引起错误的原因完全被掩盖了,使得调错也困难很多,这一点上我要吸取教训。

将前面提到的storage node上相关配置文件中的bind_ip修改为controller的IP后,问题就解决了。


PS:Swift默认是占用8080端口,这可能与某些应用冲突,所以为保险起见,我改成了8081端口,在/etc/swift/proxy-server.conf配置文件中和在keystone endpoint-create命令执行时都要做相应修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值