概要
過去に helm chart で作成した gitlab にリストアしてみました
今回は docker-compose で構築した gitlab にリストアしてみます
環境
- Gitlab 14.6.6-ee
バックアップの作成
どの環境でも OK です
docker-compose の場合は以下のように作成します
バックアップファイルはコンテナ内に作成されるので何かしらの方法でリストア先のgitlabに持っていきます
- docker-compose exec gitlab gitlab-backup create
- docker-compose exec gitlab gitlab-ctl backup-etc
リストア先のGitlabの作成
docker-compose で構築しましょう
puma と sidekiq の停止
リストア先のgitlabで行います
- docker-compose exec gitlab gitlab-ctl stop puma
- docker-compose exec gitlab gitlab-ctl stop sidekiq
secret を展開する
まずはシークレットから展開します
今回のシークレット関連のバックアップファイルは「gitlab_config_1234567890_2022_03_16.tar」とします
このファイルをリストア先のコンテナに配置しましょう
今回は /secret
配下に配置しました
あとは tar で展開します
- docker-compose exec gitlab tar xvf /secret/gitlab_config_1234567890_2022_03_16.tar
展開されると /etc/gitlab 配下に gitlab.rb や gitlab-secrets.json などが上書き展開されます
データファイルの配置
次にデータファイルの展開を行います
今回のデータファイルバックアップファイルは「1234567890_2022_03_16_14.6.6-ee_gitlab_backup.tar」とします
このファイルを /var/opt/gitlab/backups
に配置します
また配置したら tar ファイルの権限を git ユーザに変更しましょう
- docker-compose exec gitlab chown git:git /var/opt/gitlab/backups/1234567890_2022_03_16_14.6.6-ee_gitlab_backup.tar
- docker-compose exec gitlab ls -ltr /var/opt/gitlab/backups
total 1700
-rw------- 1 git git 389120 Mar 16 01:23 1234567890_2022_03_16_14.6.6-ee_gitlab_backup.tar
リストアの実行
あとはリストアを実行します
- docker-compose exec gitlab gitlab-backup restore BACKUP=1234567890_2022_03_16_14.6.6-ee
BACKUP 変数で指定する値は tar ファイルの _gitlab_backup.tar
より前のファイル名になります
いくつか質問が聞かれますが基本的には yes で OK です
「Restore task is done.」が表示されればリストア完了です
Gitlabの再起動
再起動をして再度 docker-compose に記載されたパラメータを反映します
- docker-compose restart gitlab
動作確認
- docker-compose exec gitlab gitlab-rake gitlab:check SANITIZE=true
でエラーにならないことを確認しましょう
またブラウザで gitlab にアクセスしてデータがリストアされていることを確認しましょう
最後に
流れとしては簡単です
ポイントとしては
- リストア先のバージョンとバックアップ元のGitlabのバージョンを合わせる
- コンテナの適切な箇所にシークレットとバックアップファイルを配置する
- リストア先のGitlabは新規のGitlabにする
あたりかなと思います
また ce バージョンと ee バージョンでも挙動が異なる可能性があるので ce or ee も合わせたほうが無難かなと思います
0 件のコメント:
コメントを投稿