gitlab restoreでPermission denied の解消

バックアップデータのリストアを行った場合に発生した不具合をまとめておく

バックアップデータのリストアコマンドを実行

wataru@gitlab:~$ sudo gitlab-backup restore BACKUP=1629366247_2021_08_19_14.1.3

しばらくすると、エラーが発生

Unpacking backup … tar: 1629366247_2021_08_19_14.1.3_gitlab_backup.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
unpacking backup failed

チェック

Cannot open: Permission denied なので、パーミッションがダメって事なので再チェック

wataru@gitlab:~$ sudo ls -al /mnt/backups/gitlab/
total 46112
drwx—— 3 git  root           4096 Aug 19 09:45 .
drwxrwxrwx 5 root root           4096 Aug 16 05:58 ..
-rw——- 1 lxd  gitlab-www 10649600 Dec 12  2020 1607761637_2020_12_12_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan  9  2021 1610199279_2021_01_09_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan 10  2021 1610302559_2021_01_10_13.5.4_gitlab_backup.tar
-rw——- 1 root root       12226560 Aug 19 09:45 1629366247_2021_08_19_14.1.3_gitlab_backup.tar
drwxrwxrwx 3 root root           4096 Aug 16 07:36 configs

はい、1629366247_2021_08_19_14.1.3_gitlab_backup.tarの所有者はroot/rootです。
これを、合わせます。lxd/gitlab-www

wataru@gitlab:~$ sudo chown lxd.gitlab-www /mnt/backups/gitlab/1629366247_2021_08_19_14.1.3_gitlab_backup.tar

wataru@gitlab:~$ sudo ls -al /mnt/backups/gitlab/

total 46112
drwx—— 3 git  root           4096 Aug 19 09:45 .
drwxrwxrwx 5 root root           4096 Aug 16 05:58 ..
-rw——- 1 lxd  gitlab-www 10649600 Dec 12  2020 1607761637_2020_12_12_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan  9  2021 1610199279_2021_01_09_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan 10  2021 1610302559_2021_01_10_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12226560 Aug 19 09:45 1629366247_2021_08_19_14.1.3_gitlab_backup.tar
drwxrwxrwx 3 root root           4096 Aug 16 07:36 configs

再度、リストアを実行

wataru@gitlab:~$ sudo gitlab-backup create

Unpacking backup … tar: 1629366247_2021_08_19_14.1.3_gitlab_backup.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
unpacking backup failed

権限エラー…

動作しているユーザ情報を確認…
バックアップを作成してできあがるユーザに差し替える

wataru@gitlab:~$ sudo gitlab-backup create

wataru@gitlab:~$ sudo ls -al /mnt/backups/gitlab/
total 46412
drwx—— 3 git  root           4096 Aug 19 12:03 .
drwxrwxrwx 5 root root           4096 Aug 16 05:58 ..
-rw——- 1 lxd  gitlab-www 10649600 Dec 12  2020 1607761637_2020_12_12_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan  9  2021 1610199279_2021_01_09_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan 10  2021 1610302559_2021_01_10_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12226560 Aug 19 09:45 1629366247_2021_08_19_14.1.3_gitlab_backup.tar
-rw——- 1 git  git          307200 Aug 19 12:03 1629374641_2021_08_19_14.1.3_gitlab_backup.tar
drwxrwxrwx 3 root root           4096 Aug 16 07:36 configs

git.gitの様です。

早速変更…

wataru@gitlab:~$ sudo chown git.git /mnt/backups/gitlab/1629366247_2021_08_19_14.1.3_gitlab_backup.tar

wataru@gitlab:~$ sudo ls -al /mnt/backups/gitlab/
total 46412
drwx—— 3 git  root           4096 Aug 19 12:03 .
drwxrwxrwx 5 root root           4096 Aug 16 05:58 ..
-rw——- 1 lxd  gitlab-www 10649600 Dec 12  2020 1607761637_2020_12_12_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan  9  2021 1610199279_2021_01_09_13.5.4_gitlab_backup.tar
-rw——- 1 lxd  gitlab-www 12154880 Jan 10  2021 1610302559_2021_01_10_13.5.4_gitlab_backup.tar
-rw——- 1 git  git        12226560 Aug 19 09:45 1629366247_2021_08_19_14.1.3_gitlab_backup.tar
-rw——- 1 git  git          307200 Aug 19 12:03 1629374641_2021_08_19_14.1.3_gitlab_backup.tar
drwxrwxrwx 3 root root           4096 Aug 16 07:36 configs

リストア

wataru@gitlab:~$ sudo gitlab-backup restore BACKUP=1629366247_2021_08_19_14.1.3


Restore task is done.

これでOKです

参考までに生成するバックアップデータのパーミッションの変更は…

/etc/gitlab/gitlab.rb

gitlab_rails[‘backup_archive_permissions’] = 0644 # Makes the backup archives world-readable

です。

なぜ、今回パーミッションがややこしくなったかというと、私の環境の/mnt/backups/gitlab/がNFSマウントしているからです。

gitlab_rails[‘backup_path’] = ‘/mnt/backups/gitlab/’

を指定してやればバックアップ保存先も変えられます。

メモ帳アプリが飛ぶ前にBlogに待避しています…