大约两年前,我开始在本地的GitLab Debian中运行x86 CE,去年我决定将GitLab CE实例迁移到专用的Intel服务器上。一切看起来都很顺利,没有任何问题,而且我的GitLab CE实例到今天为止是最新的(运行13.4.2)。
不过,我最近发现,一些被移动的repos给出了一个“没有存储库!”访问他们的项目页面时出错,如果他们有任何问题板,合并请求等,这些请求也消失了。但是你不会怀疑它,因为坏的回复会出现在回购列表中,以及我一直在使用的工作回复。
如果我不得不对这些失败的回复进行推理的话,那就是他们在一年多前的最后一次活动,除了最初的推动之外,没有任何其他的推动,或者如果做出了改变,创建了问题,或者创建了合并请求,这实际上是一年前的事了。
这些坏掉的repos中有一些与历史相当大,而另一些则非常小(实际上只是跟踪shell脚本的更改),所以我不认为回购规模本身与它有任何关系。
如果我运行GitLab诊断检查sudo gitlab-rake gitlab:check
,除了“散列存储”之外,一切看起来都很好:
All projects are in hashed storage? ... no
Try fixing it:
Please migrate all projects to hashed storage
但是,运行sudo gitlab-rake gitlab:storage:migrate_to_hashed
似乎没有完成(仪表板中有6个失败的作业),运行"gitlab:check“仍然表明存在”散列存储“问题。我也尝试过运行sudo gitlab-rake gitlab:git:fsck
和sudo gitlab-rake cache:clear
,但是这些命令似乎没有什么区别。
幸运的是,我的机器上有所有丢失的repos的最新版本,实际上,我的原始VM仍然运行着GitLab CE 12.8.5 (有些过时的repos副本)。
所以我的问题是:
migrate_to_hashed
任务无法完成。)提前谢谢。
发布于 2020-10-02 20:06:51
好吧,我想我知道发生了什么。
我在这条线上发现了GitLab用户论坛。
显然,这里的情况是:
解决办法是:
sudo gitlab-rake gitlab:storage:migrate_to_hashed
进程sudo gitlab-rake gitlab:check
以确保输出包含消息:All projects are in hashed storage? ... yes
如果成功,说明“没有存储库”的项目!现在应该完全恢复。
要知道是否需要运行此进程,关键在于:
hashed_storage:hashed_storage_project_migrate
有错误
OpenSSL::Cipher::CipherError:
https://stackoverflow.com/questions/64177125
复制