SlideShare a Scribd company logo
2
Most read
3
Most read
6
Most read
GitLabをバックアップしてみた
日本仮想化技術株式会社
代表取締役社長兼CEO
宮原 徹(@tmiyahar)
http://VirtualTech.jp
GitLabをバックアップしよう
• 大事なソースコードを保管しているリポジト
リその他のデータをきちんとバックアップし
よう
• 「Back up and restore GitLab」を参照
– https://docs.gitlab.com/ee/raketasks/backup_res
tore.html
• GitLabをOmnibusでUbuntuにインストール
している前提で
2
バックアップのコマンド
• リポジトリその他のバックアップ
– $ sudo gitlab-backup create
– バックアップファイルは/var/opt/gitlab/backups
ディレクトリに作成されます
• 設定ファイルのバックアップ
– $ sudo gitlab-ctl backup-etc
– バックアップファイルは
/etc/gitlab/config_backupディレクトリに作成さ
れます
3
リポジトリその他のバックアップ例
$ sudo gitlab-backup create
2021-03-31 02:00:23 +0000 -- Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... [DONE]
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping repositories ...
* tmiyahar/test (@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b) ... [DONE]
[SKIPPED] Wiki
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping uploads ...
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping builds ...
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping artifacts ...
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping pages ...
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping lfs objects ...
2021-03-31 02:00:24 +0000 -- done
2021-03-31 02:00:24 +0000 -- Dumping container registry images ...
2021-03-31 02:00:24 +0000 -- [DISABLED]
Creating backup archive: 1617156024_2021_03_31_12.5.0-ee_gitlab_backup.tar ... done
Uploading backup archive to remote storage ... skipped
Deleting tmp directories ... done
Deleting old backups ... skipping
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
Backup task is done.
4
設定ファイルのバックアップ例
• $ sudo gitlab-ctl backup-etc
• Could not find '/etc/gitlab/config_backup' directory. Creating.
• Running configuration backup
• Creating configuration backup archive:
gitlab_config_1617158184_2021_03_31.tar
• /etc/gitlab/
• /etc/gitlab/gitlab.rb
• /etc/gitlab/gitlab-secrets.json
• /etc/gitlab/trusted-certs/
• Configuration backup archive complete:
/etc/gitlab/config_backup/gitlab_config_1617158184_2021_03_
31.tar
5
追加で考えるべき事
• バックアップの並列度を高める
– CPUに余裕があるなら並列実行でバックアッ
プ時間を短縮できる
– ストレージ並列度も要検討
• バックアップファイルを退避する
– クラウドなどにアップロード
• バックアップの頻度を調整する
– cronでの自動バックアップ実行
– 古くなったバックアップを消去する
6
リストア方法(未検証)
1. Omnibusインストール
2. gitlab-ctl reconfigureの実行
3. GitLabの起動
4. 設定ファイル等の書き戻し
5. バックアップファイルの配置
– 元々の位置に置く
6. 一部プロセスの停止
– unicorn, puma, sidekiq
7. リストアの実行
– gitlab-backup restore BACKUP=バックアップファイル
8. gitlab-ctl reconfigureの実行
9. GitLabの再起動
10. gitlab-rake gitlab:check SANITIZE=true
7
ありがとうございました
8

More Related Content

PPTX
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PPTX
やってはいけない空振りDelete
PPTX
Docker Tokyo
PDF
いつやるの?Git入門
PDF
できる!並列・並行プログラミング
PDF
CTF for ビギナーズ バイナリ講習資料
PDF
いつやるの?Git入門 v1.1.0
PDF
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
やってはいけない空振りDelete
Docker Tokyo
いつやるの?Git入門
できる!並列・並行プログラミング
CTF for ビギナーズ バイナリ講習資料
いつやるの?Git入門 v1.1.0
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...

What's hot (20)

PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
PDF
デザイナのためのGit入門
KEY
一人でもはじめるGitでバージョン管理
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
PDF
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
Androidの新ビルドシステム
PDF
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
PDF
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
PDF
C++ マルチスレッド 入門
PPTX
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
PDF
Vacuum徹底解説
PDF
関数型プログラミングのデザインパターンひとめぐり
PDF
Dockerfileを改善するためのBest Practice 2019年版
PDF
PostgreSQLアンチパターン
PDF
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
PDF
キメるClojure
アーキテクチャから理解するPostgreSQLのレプリケーション
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
デザイナのためのGit入門
一人でもはじめるGitでバージョン管理
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Androidの新ビルドシステム
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
Yahoo! JAPANのプライベートRDBクラウドとマルチライター型 MySQL #dbts2017 #dbtsOSS
C++ マルチスレッド 入門
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
マイクロサービスバックエンドAPIのためのRESTとgRPC
Vacuum徹底解説
関数型プログラミングのデザインパターンひとめぐり
Dockerfileを改善するためのBest Practice 2019年版
PostgreSQLアンチパターン
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
キメるClojure
Ad

Similar to GitLabをバックアップしてみた (20)

KEY
Git (実践入門編)
PPTX
今さら聞けない人のためのGit超入門
PDF
Git lev 1-おひとりさま用-
PDF
猫にはわからないGit講座
PPT
Git 実践入門
PDF
Git-dojo In Sendagaya.rb
PPTX
今さら聞けない人のためのGit超入門 GitLab 14対応版
PPT
Githubことはじめ
PPTX
今さら聞けない人のためのgit超入門
PDF
Gitpractice2
PDF
ソフトウェア工学2023 08 GitHub
PDF
Mercurial入門(後半)
PDF
Mercurial入門(後半)解説版
PPTX
今さら聞けない人のためのGitLabの始め方 Ubuntu編
KEY
Git (運用編)
PDF
Git for beginners
PDF
@s_ssk13さん向けGitHub入門
PPTX
今さら聞けない人のためのGit超入門 OSC2018広島版
PPTX
今さら聞けない人のためのGit超入門 2019/11/21
PPTX
ロボットシステム学2015年第9回
Git (実践入門編)
今さら聞けない人のためのGit超入門
Git lev 1-おひとりさま用-
猫にはわからないGit講座
Git 実践入門
Git-dojo In Sendagaya.rb
今さら聞けない人のためのGit超入門 GitLab 14対応版
Githubことはじめ
今さら聞けない人のためのgit超入門
Gitpractice2
ソフトウェア工学2023 08 GitHub
Mercurial入門(後半)
Mercurial入門(後半)解説版
今さら聞けない人のためのGitLabの始め方 Ubuntu編
Git (運用編)
Git for beginners
@s_ssk13さん向けGitHub入門
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 2019/11/21
ロボットシステム学2015年第9回
Ad

More from VirtualTech Japan Inc./Begi.net Inc. (20)

PPTX
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
PPTX
爆速!DBチューニング超入門 〜DB性能の基礎とPG-Stromによる高速化〜 2025/2/21
PPTX
爆速DB「PG-Strom」について 『PG-Strom v5リリース記念 GPUを活用したビッグデータ分析基盤を構築しよう」』
PPTX
Linuxサーバー構築学習のポイントと環境構築 ~『Linuxサーバー構築標準教科書』の執筆者が超解説!~
PPTX
OSC2023福岡LT「希望の船に乗って」みやはら とおる(@tmiyahar)
PPTX
今さら聞けない人のためのSSH超入門
PPTX
OSCのこれまでを振り返るとしたらこんな感じ?
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
爆速!DBチューニング超入門 〜DB性能の基礎とGPU活用による高速化〜
PPTX
今さら聞けない人のためのDevOps超入門 ODC2023編
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
DBチューニング超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
MIRACLE LINUX 9にAnsibleをインストールした話
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
最近のOSCと今後について
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
オープンソースカンファレンスへの参加のススメ
PPTX
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
爆速!DBチューニング超入門 〜DB性能の基礎とPG-Stromによる高速化〜 2025/2/21
爆速DB「PG-Strom」について 『PG-Strom v5リリース記念 GPUを活用したビッグデータ分析基盤を構築しよう」』
Linuxサーバー構築学習のポイントと環境構築 ~『Linuxサーバー構築標準教科書』の執筆者が超解説!~
OSC2023福岡LT「希望の船に乗って」みやはら とおる(@tmiyahar)
今さら聞けない人のためのSSH超入門
OSCのこれまでを振り返るとしたらこんな感じ?
今さら聞けない人のためのDevOps超入門
爆速!DBチューニング超入門 〜DB性能の基礎とGPU活用による高速化〜
今さら聞けない人のためのDevOps超入門 ODC2023編
今さら聞けない人のためのDevOps超入門
DBチューニング超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
MIRACLE LINUX 9にAnsibleをインストールした話
今さら聞けない人のためのDevOps超入門
最近のOSCと今後について
今さら聞けない人のためのDevOps超入門
オープンソースカンファレンスへの参加のススメ
今さら聞けない人のためのDevOps超入門

GitLabをバックアップしてみた