GitLab默认仓库存储目录更换及项目迁移 GitLab跨服务器数据迁移
一、GitLab的數據從舊服務器遷移到新服務器
注釋:舊服務器、新服務器GitLab版本保持一致,如果不一致得需要升級
1舊服務器上的安裝版本
[root@iZbp1ac9uozodszcdkd98nZ ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 10.0.02.新服務器上的安裝版本
參考我之前寫的文檔:https://blog.csdn.net/qq_38144121/article/details/121538314?spm=1001.2014.3001.5502
3.如果新舊服務器上安裝的版本不一致
例如: 舊服務器上GitLab版本10.3.3,新服務器上GitLab版本12.0.1。
GitLab不能跨版本升級,需一個一個大版本升級。例如:10.8.7是10的最后一個版本,11.11.0是11的最后一個版本,則從 10.3.3 升級到 12.0.1,需要經過 10.3.3 -> 10.8.7 -> 11.11.0 -> 12.0.1三次版本升級。
所以,要先在舊服務器上執行以下版本升級命令:
[root@old-host ~]# yum install -y gitlab-ce-10.8.7-ce.0.el7 [root@old-host ~]# yum install -y gitlab-ce-11.11.0-ce.0.el7 [root@old-host ~]# yum install -y gitlab-ce-12.0.1-ce.0.el7#注:如果不指定版本號,則自動升級到最新版本。 [root@old-host ~]# yum install -y gitlab-ce4.先在舊服務器做gitlab數據備份文件
[root@old-host ~]# gitlab-rake gitlab:backup:create #默認將會在 /var/opt/gitlab/backups/ 目錄下生成備份文件。[root@old-host ~]# cd /var/opt/gitlab/backups/ [root@old-host backups]# ll /var/opt/gitlab/backups/ [root@old-host backups]# ll -h 總用量 3.4G -rw-------. 1 git git 3.4G 3月 11 11:10 1615432132_2021_03_11_10.0.0_gitlab_backup.tar5.上傳備份文件到新服務器上
[root@iZbp1ac9uozodszcdkd98nZ ~]# scp -r /var/opt/gitlab/backups/1653003207_2022_05_20_10.0.0_gitlab_backup.tar root@47.110.236.51:/var/opt/gitlab/backups/6.新服務器備份文件權限修改為755,避免出現權限不夠的問題
[root@iZbp13rb8m4bfaw9cek2kzZ ~]# cd /var/opt/gitlab/backups/ [root@iZbp13rb8m4bfaw9cek2kzZ backups]# ll 總用量 266676 -rwxr-xr-x 1 root root 273070080 5月 20 07:39 1653003207_2022_05_20_10.0.0_gitlab_backup.tar [root@iZbp13rb8m4bfaw9cek2kzZ backups]# chmod 755 1653003207_2022_05_20_10.0.0_gitlab_backup.tar [root@iZbp13rb8m4bfaw9cek2kzZ backups]# ll 總用量 266676 -rwxr-xr-x 1 root root 273070080 5月 20 07:39 1653003207_2022_05_20_10.0.0_gitlab_backup.tar7.停止新服務器上gitlab數據連接服務
[root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-ctl stop unicorn [root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-ctl stop sidekiq8.恢復備份文件到GitLab
gitlab-rake gitlab:backup:restore BACKUP=備份文件編號
例如:備份文件名為 1653003207_2022_05_20_10.0.0_gitlab_backup.tar,則編號為:1653003207_2022_05_20_10.0.0。
在提示中敲入“yes”繼續
9.重新啟動GitLab
[root@iZbp13rb8m4bfaw9cek2kzZ backups]# gitlab-ctl restart最后檢查新舊服務器上GitLab的內容(包括賬號密碼等),完全一模一樣,遷移成功!
10.修改idea遠程ip地址即可推送和拉取代碼
二、GitLab默認倉庫存儲目錄更換及項目遷移
背景:
GitLab默認存儲目錄在系統盤中,由于系統盤空間已滿,把默認倉庫遷移至數據盤(數據盤: /shujupan)中
如果存在磁盤未掛在情況,可參考:https://blog.csdn.net/qq_38144121/article/details/124880030?spm=1001.2014.3001.5501
1.遷移 gitlab 倉庫數據
修改配置文件之前,先遷移數據
# 為防止用戶在遷移時寫入數據,先停止服務 [root@iZbp13rb8m4bfaw9cek2kzZ ~]# gitlab-ctl stop ok: down: alertmanager: 1s, normally up ok: down: gitaly: 0s, normally up ok: down: gitlab-exporter: 0s, normally up ok: down: gitlab-workhorse: 1s, normally up ok: down: grafana: 0s, normally up ok: down: logrotate: 1s, normally up ok: down: nginx: 0s, normally up ok: down: node-exporter: 1s, normally up ok: down: postgres-exporter: 0s, normally up ok: down: postgresql: 0s, normally up ok: down: prometheus: 1s, normally up ok: down: puma: 0s, normally up ok: down: redis: 1s, normally up ok: down: redis-exporter: 0s, normally up ok: down: sidekiq: 1s, normally up# 在 /shujupan 下新建目錄 [root@iZbp13rb8m4bfaw9cek2kzZ shujupan]# mkdir -p gitlab/git-data# 遷移數據,直接將 repositories 整個目錄遷過去 [root@iZbp13rb8m4bfaw9cek2kzZ shujupan]# rsync -av /var/opt/gitlab/git-data/repositories /shujupan/gitlab/git-data/ sending incremental file list repositories/ repositories/.gitaly-metadata repositories/+gitaly/ repositories/+gitaly/tmp/ repositories/@hashed/ ...# 查看是否遷移成功 [root@iZbp13rb8m4bfaw9cek2kzZ ~]# ll total 0 drwxrws---. 4 git root 57 Mar 7 19:06 repositories2.修改配置文件
編輯 /etc/gitlab/gitlab.rb 修改git_data_dirs對應值
# 修改配置文件 [root@iZbp13rb8m4bfaw9cek2kzZ shujupan] vim /etc/gitlab/gitlab.rb git_data_dirs({"default" => {"path" => "/home/gitlab/git-data/"} })# 重新加載配置 [root@iZbp13rb8m4bfaw9cek2kzZ shujupan] gitlab-ctl reconfigure Starting Chef Client, version 14.14.29 resolving cookbooks for run list: ["gitlab"] Synchronizing Cookbooks: ... Running handlers: Running handlers complete Chef Client finished, 14/746 resources updated in 34 seconds gitlab Reconfigured!# 開啟服務,驗證一下是否能通過web訪問 [root@localhost ~]# gitlab-ctl start ok: run: alertmanager: (pid 126213) 1s ok: run: gitaly: (pid 126223) 0s ok: run: gitlab-exporter: (pid 126257) 1s ok: run: gitlab-workhorse: (pid 126260) 0s ok: run: grafana: (pid 126281) 0s ok: run: logrotate: (pid 126293) 1s ok: run: nginx: (pid 126302) 0s ok: run: node-exporter: (pid 126308) 1s ok: run: postgres-exporter: (pid 126314) 0s ok: run: postgresql: (pid 125331) 172s ok: run: prometheus: (pid 126398) 1s ok: run: puma: (pid 126408) 0s ok: run: redis: (pid 126414) 1s ok: run: redis-exporter: (pid 126419) 0s ok: run: sidekiq: (pid 126440) 0s參考文章:https://blog.csdn.net/yuki5233/article/details/114662844
參考文章:https://blog.csdn.net/march0310/article/details/116748845
總結
以上是生活随笔為你收集整理的GitLab默认仓库存储目录更换及项目迁移 GitLab跨服务器数据迁移的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家用电器辐射测试结果 哪些家用电器辐射大
- 下一篇: 浏览器如何屏蔽csdn广告