Gitlab 备份错误:包对象死于信号 9

问题描述 投票:0回答:2

我有一个存储库,它有 2 个分支,大小为 3.5GB。每个分支大约 1.5GB(.git 本身是 700MB)。

这是错误:

备份失败

[失败]

失败:/opt/gitlab/embedded/bin/git --git-dir=/mountdata/gitlab/git-data/repositories/my-Project/my-git.git 包创建 /mountdata/gitlab/backups/repositories/my-Project/my-git.bundle --all

错误:包对象死于信号 9

错误:包对象死亡

由于我的服务器只有4G内存,我的假设是每次备份时备份代码都用完了内存。

有没有更好的备份方式?也许一次一个分支以防止内存不足?

目前,我

cron
工作中的命令是:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1         
15 04 * * 1-7  umask 0077; tar cfz /secret/gitlab/backups/$(date "+etc-gitlab-\%s.tgz") -C / etc/gitlab
git backup gitlab
2个回答
3
投票

我认为你的假设是正确的。可能的解决方案是

  1. 备份前运行 git repack
  2. 添加更多内存
  3. 直接使用tar代替git bundle
  4. 将 gitlab 更新到最新版本也可能有帮助(不确定)

    看到这个


0
投票

如果您无法重新打包存储库并且不想使用更多 RAM,您还可以尝试将以下内容添加到您的 git 配置中:

[pack]
        windowMemory = 32m

不知道

32m
的值算不算好值。但是备份再次为我工作。我遇到了版本 15.9.1 的问题。但要注意设置此配置的位置。如果你使用
git config --global
,它对你的用户来说只是全局的。

© www.soinside.com 2019 - 2024. All rights reserved.