1
ksc010 OP 最近的一次备份是 上个月的,但是版本是 13.0.6 的。中间有几次提交,
目前看最好的方案是不是只能 重新搭建一个新环境 恢复到这次的备份了 |
2
ksc010 OP 针对升级后提示 “NO REPOSITORY” 原因应该是
需要 将 legacy storage 转换为 hashed storage 执行命令 rake gitlab:storage:migrate_to_hashed 但是这个命令 我看了下 Admin->Monitoring->Background Jobs hashed_storage:hashed_storage_project_migrate 队列中 实行失败了 |
3
ksc010 OP |
4
ksc010 OP 在查看错误日志的的时候,会看到日志提示 “仓库只读”
然后就导致 转换过程失败了 这时候 手动把只读取消 然后重新执行转换命令就可以了 1. Start a Rails console session 75 (这里我是进入 docker 执行的 ./bin/rails console) 2. Find the project by name: p = Project.find_by_name("<project-name>") 3. Confirm that the repository is in fact read-only: p.repository_read_only 4. Unset the repository_read_only flag: p.update!(repository_read_only:nil) 5. Retry the corresponding Sidekiq job in the Admin Area (for me it would succeed almost instantly - the dead job count decreased and I never saw a running job) 6. Rinse and repeat from step 2. |
5
ksc010 OP 上面前四步 可以优化为
进入 数据库 (我用的是 postgreSql ) 然后执行 update "projects" set repository_read_only = null where repository_read_only is true ; 在进入 docker 执行转换命令 |
6
gadfly3173 2021-12-07 17:55:15 +08:00
13 升 14 要注意 14.0.x-14.1.x 附近几个小版本的兼容问题,如果备份数据丢的不多的话就开新的环境恢复吧
|
7
ksc010 OP @gadfly3173 按照上面的方法 已经解决了 就是 “存储方式”转换失败的问题
|