收起左侧

飞牛NAS更新Windows ACL后,Docker中的GitLab出现502怎么办?

0
回复
28
查看
[ 复制链接 ]

2

主题

0

回帖

0

牛值

江湖小虾

最近一次飞牛NAS系统更新后,我发现运行在Docker中的 GitLab CE 无法访问。

浏览器打开gitlab页面时,出现502访问错误。

进入容器检查gitlab状态,显示postgresql和redis都挂了。同时CPU持续发热严重,占用率90%+(容器不断地尝试读取和重启)。

最终确认是最近更新的windows ACL权限导致的该问题。

如何判断是不是同一个问题?

如果你的环境满足:

  • 使用飞牛NAS(fnOS)
  • Docker运行GitLab、数据库等服务
  • 最近升级过NAS系统
  • 更新内容涉及Windows ACL权限管理
  • 容器突然出现权限错误

大概率和我一样中招了。

登录ssh,执行:

getfattr -d -m- 异常应用的文件路径

例如:

getfattr -d -m- /vol3/docker-appdata/gitlab/opt/postgresql/data/server.crt

如果看到系统ACL管控:

system.trim\_acl=xxxx

说明该文件被飞牛NAS添加了Windows ACL扩展权限。

如何解决问题?

注意:不建议没有动手能力的、数据没有备份的、多人共享数据的兄弟们执行以下操作。 弄坏了我不负责。

确保你拥有root权限

su root

删除整个目录的ACL:

find 你自己的待删除的目录 \
-exec sh -c 'setfattr -x system.trim_acl "$1" 2>/dev/null' _ {} \;

这个过程可能会比较耗时,取决于目录下子目录的数量。

随后,检查是否清理完成。执行:

getfattr -R -m system.trim_acl 你自己的待删除的目录

如果看不到 system.trim_acl,说明已经清理成功了。

随后,建议重启nas,让所有服务自然启动即可。

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则