Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GitLab은 백업 파일을 이용하여 복원 할 수 있습니다. 이번 페이지에서는 GitLab의 백업 파일로 복원하는 방법에 대해 설명합니다.1.

Info

복원 시 gitlab.rb 과 gitlab-secrets.json 파일은 백업 파일에 포함되지 않기 때문에 별도로 복원해야 합니다.

  • SSH(Secure Shell)을 이용하여 GitLab 서버에 로그인 합니다. 이때, root권한을 사용해야 합니다.

...

  • 백업 tar 파일이 /var/opt/gitlab/backups 디렉토리에 있는지 확인 합니다.

...

  • 만약 백업 파일이 없다면 백업 생성 에서 설명된 내용으로 백업 파일을 생성할 수 있습니다. 백업 파일의 소유자는 git이어야 합니다.

...

4. 아래의 명령을 이용하여 데이터베이스와 관련된 프로세스를 중지합니다.

...

Code Block
languagebash
sudo chown git:git /var/opt/gitlab/backups/1692860994_2023_08_24_15.7.5-ee_gitlab_backup.tar

  • 데이터베이스에 연결된 프로세스를 중지합니다. GitLab의 나머지 부분은 실행 상태로 둡니다.

Code Block
languagebash
# sudo gitlab-ctl stop unicorn ### 14버전부터 puma로 변경
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

...

위의 명령을 이용하여 메모리를 일시적으로 확보 할 수 있습니다.

5.아래의 명령어로 GitLab 서비스 상태를 확인합니다.

Code Block

sudo gitlab-ctl status

...

...

  • 백업 파일을 이용하여 복원합니다.

Code Block
languagebash
sudo gitlab-rake gitlab:backup:restore BACKUP = 15893476081692860994_20202023_0508_1324_1215.107.35-ee_gitlab_backup.tar

...

Info

ERROR: must be owner of extension pg_trgm
ERROR: must be owner of extension btree_gist
ERROR: must be owner of extension btree_gist
ERROR: must be owner of extension pg_trgm

위 에러가 발생하고 복원이 실패하였다면 당황하지 말고 다시 복원 명령어를 입력합니다. (고질병😤 )

다시 복원하면 정상적으로 복원 됩니다.

  • GitLab을 재시작 합니다.

Code Block
languagebash
sudo gitlab-ctl restart

...


sudo gitlab-rake gitlab:check SANITIZE=true

  • 추가 보증을 위해 업로드된 파일에 대해 무결성 검사를 수행할 수 있습니다 .

Code Block
languagebash
sudo gitlab-rake gitlab:doctor:secrets
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
SANITIZEsudo = true

...

gitlab-rake gitlab:uploads:check