SlideShare uma empresa Scribd logo
1 de 8
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

UE4のスレッドの流れと Input Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組みUE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れと Input Latency改善の仕組み
 
Microsoft License の基本
Microsoft License  の基本Microsoft License  の基本
Microsoft License の基本
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
 
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap
 
Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩Photon Fusionのはじめの一歩
Photon Fusionのはじめの一歩
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめUnreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編60fpsアクションを実現する秘訣を伝授 基礎編
60fpsアクションを実現する秘訣を伝授 基礎編
 
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフローUE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
 
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
 

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

猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
Yusei Yamanaka
 
Githubことはじめ
GithubことはじめGithubことはじめ
Githubことはじめ
tikitikipoo
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
Takashi Imagire
 

Semelhante a GitLabをバックアップしてみた (20)

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

Mais de VirtualTech Japan Inc./Begi.net Inc.

Mais de VirtualTech Japan Inc./Begi.net Inc. (20)

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

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