Swift服务运行提示Errno 13的解决方法
问题现象描述
安装验证过程中,Swift组件中“openstack-swift-object-replicator.service”服务和“openstack-swift-object-updater.service”服务运行时提示“ERROR:Unable to access /srv/node/sdb:[Errno 13] Permission denied: '/srv/node/sdb'”。
关键过程、根本原因分析
无法访问对象存储盘,在其他配置均正确的情况下,一般为端口权限,或者文件夹权限的问题。
结论、解决方案及效果
- 进入存储节点,使用restorecon命令确保“/srv”目录中的所有文件都定义了正确的SELinux安全上下文。
sudo chown -R swift:swift /srv/node/ sudo restorecon -R /srv
- 然后重新启动Swift服务。
sudo service openstack-swift-account start sudo service openstack-swift-container start sudo service openstack-swift-object start sudo chkconfig openstack-swift-account on sudo chkconfig openstack-swift-container on sudo chkconfig openstack-swift-object on
- 重启防火墙,再关闭防火墙。
systemctl restart firewalld.service systemctl stop firewalld.service
- 再重新查看swift组件服务。
systemctl status openstack-swift-object.service openstack-swift-object-auditor.service openstack-swift-object-replicator.service openstack-swift-object-updater.service
发现所有服务都可以正常运行:
父主题: OpenStack Stein