GitLab システム管理 - ハンズオンラボ: GitLab のバックアップとリストア
完了までの目安時間: 30 分
目的
このラボの目的は、仮想マシン上の GitLab インスタンスをバックアップし、インスタンスを以前の状態にリストアする方法を示すことです。 詳細については、GitLab インスタンスのバックアップとリストア に関するドキュメントを参照してください。
タスク A. バックアップ設定を構成する
GitLab インスタンスサーバーで SSH セッションを開きます。
gitlab.rb 内のバックアップ設定の場所を検索します。
sudo grep -n backup_path /etc/gitlab/gitlab.rbgitlab_rails['backup_path']設定の行番号を控えておきます。GitLab バックアップを保存する新しいディレクトリを作成します。
sudo mkdir /tmp/backupsgitlab.rb を編集してバックアップパスを変更します。“606” を手順 3 で控えた行番号に置き換えてください。
sudo sed -i '606s@\/var\/opt\/gitlab\/backups@\/tmp\/backups@' /etc/gitlab/gitlab.rb sudo sed -i '606s/#//' /etc/gitlab/gitlab.rbここでは sed コマンドを使い、vim のようなテキストエディターを使わずに gitlab.rb ファイル内のテキストを置換しています。
変更を適用するために再構成します。
sudo gitlab-ctl reconfigure
タスク B. GitLab インスタンスをバックアップする
GitLab インスタンスのフルバックアップを取得します。
sudo gitlab-backup createバックアップが完了したら、バックアップの保存先に移動してバックアップファイルを確認します。
sudo ls /tmp/backups sudo tar -tvf /tmp/backups/<backup_filename>
タスク C. GitLab 設定にいくつかの変更を加える
Web ブラウザーで GitLab インスタンスにサインインし、サイドバーを開きます。左下隅で Admin area をクリックします。
左サイドバーで Settings > General を選択します。
Account and limit を展開し、最大添付ファイルサイズを 500 MiB に、デフォルトのプロジェクト上限を 10000 に変更します。
Save changes をクリックして変更を保存します。
ページを更新して、変更が適用されたことを確認します。
タスク D. バックアップからリストアする
GitLab インスタンスサーバーの SSH セッションに戻ります。
リストアを実行するために、GitLab が必要とする場所にバックアップファイルを移動します。
sudo cp /tmp/backups/<backup_filename> /var/opt/gitlab/backups/リストアを実行するために、バックアップファイルが正しい権限を持つようにします。
sudo chown git:git /var/opt/gitlab/backups/<backup_filename>リストア前に puma および sidekiq サービスを停止します。
sudo gitlab-ctl stop puma sudo gitlab-ctl stop sidekiq sudo gitlab-ctl statusバックアップからリストアします。<backup_timestamp> をバックアップファイル名の
-eeまでの部分(-eeを含む)に置き換えてください。たとえば、バックアップファイル名が1663207732_2022_09_15_15.3.3-eeで始まる場合、コマンドはsudo gitlab-backup restore BACKUP=1663207732_2022_09_15_15.3.3-eeになります。sudo gitlab-backup restore BACKUP=<backup_timestamp>リストア操作中にプロンプトが表示されたら
yesと入力します。エラーメッセージのような表示が見えるかもしれませんが、これは正常です。authorized_keysファイルを再構築するか尋ねられたら、yesと入力します。sidekiq および puma サービスを再起動します。
sudo gitlab-ctl start sidekiq sudo gitlab-ctl start puma sudo gitlab-ctl statusWeb ブラウザーで GitLab を更新する前に最大 5 分待ちます。変更した最大添付ファイルサイズとデフォルトプロジェクト上限が、バックアップ取得時の値(つまりデフォルト)に戻っていることを確認します。
ラボガイド完了
このラボ演習は完了しました。本コースのその他のラボガイドを確認できます。
ご提案はありますか?
GitLab システム管理基礎ハンズオンガイドへの変更を提案したい場合は、マージリクエストでお寄せください。
