GitLab - GitLab迁移遇到的问题
Posted 王万林 Ben
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitLab - GitLab迁移遇到的问题相关的知识,希望对你有一定的参考价值。
GitLab迁移遇到的问题
问题一
/var/opt/gitlab/backups 属主为root,群组为root,权限为600。将备份的压缩包拷贝到这个目录后,执行restore命令失败。
...
tar: repositories/icinfra/test_project: Cannot mkdir: No such file or directory
tar: repositories: Cannot mkdir: Permission denied
...
解决方法:chmod 777 /var/opt/gitlab/backups #要开权限给git账号读写,因为它要解压到这个目录。
问题二
执行restore时,报库restore失败。
restore步骤完毕后,打开网页并登陆,点击其中一个库,发现是500错误。
...
* icinfra/test_project ... Error: 14:failed to connect to all addresses
[Failed] restoring icinfra/test_project repository
...
查看问题
$ gitlab-ctl status
...
down: gitaly: 0s, normally up, want up; run: log: (pid 32518) 2931001s
...
查看pid为32518的进程:
$ ps -p 32518 -f
UID pid ppid C STIME TTY TIME CMD
root 32518 32464 0 Jul 23 ? 00:01:57 sylogd /var/log/gitlab/gitaly
查看gitaly日志
$ gitlab-ctl tail gitaly
...
{"error":"open /var/opt/gitlab/gitaly/gitaly.pid:permission denied", "level":"fatal", "msg":"find gitaly", "time":"2021-08-26T07:27:26Z", "wrapper":41609}
...
是/var/opt/gitlab/gitaly/gitaly.pid
没权限,查看
$ ls -Al /var/opt/gitlab/gitaly/
...
-rw------- 1 1000 1000 5 Jul 23 20:54 /var/opt/gitlab/gitaly/gitaly.pid
-rw------- 1 1000 1000 5 Jul 23 20:54 /var/opt/gitlab/gitaly/gitaly.socket
...
可以看到这两个文件是UID为1000的,但不是git账户。
方法:将这两个文件删除掉。
重启再次查看gitaly日志
$ gitlab-ctl tail gitaly
...
{"error":"storage path have to exist: /var/opt/gitlab/git-data/repositories", ...}
...
这个路径是在/etc/gitlab/gitlab.rb
文件中定义的
git_data_dir({
"default" => {
"path" => "/var/opt/gitlab/git-data"
}
})
方法:mkdir -m 777 /var/opt/gitlab/git-data/repositories
再次执行gitlab-rake gitlab:backup:restore BACKUP=161663911_2021_03_25_11.11.8
就成功了。
参考资料
https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5070
以上是关于GitLab - GitLab迁移遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章