Nexus 레포지토리 backup & restore 가이드

작성자 박형춘 수정일 2024-02-19 09:44

들어가며

  • 기존 neuxs 마이그레이션 작업시 neuxs-data 영역을 그대로 복사하여 사용하였는데, 이 방법은 .wal 파일을 사용하여 db정보가 변경되는 nexus 구조상 데이터 sync가 보장되지 않기 때문에 불안정합니다.
  • sonatype 공식페이지에서 권장하는 nexus backup & restore 가이드 입니다.



내용

  • 백업 및 복구 전체 프로세스는 아래와 같습니다.
1. blobs 저장소 백업 : nexus의 데이터가 실질적으로 저장되는 공간 (object 형태로 저장)
2. node ID 백업 : nexus 실행시 기준이되는 key값이 저장되는 공간
3. Orient DB 백업 : nexus 실행 후 blobs의 데이터에 접근 가능하도록 hash값 매핑 정보
4. 복원


  • 백업 상세 과정
    1. blobs 저장소 백업.

               기존 nexus-data/ 하위의 blobs 디렉토리를 신규 nexus-data/ 경로로 복사합니다.

cp -rp nexus-data/blobs nexus-data-new/


           2. node ID 백업.

               기존 nexus-data/ 하위의 keystores 디렉토리를 신규 nexus-data/ 경로로 복사합니다.

cp -rp nexus-data/keystores nexus-data-new/

           3. Orient DB 백업.

               nexus UI 에서 백업 TASK를 생성합니다.

               TASK 생성 경로 url은 다음과 같습니다. : http://192.168.100.123:8081/#admin/system/tasks (admin 로그인 필요)

               TASK 타입 : Export databases for backup task

               Backup location : 백업파일이 저장될 경로. (컨테이너로 실행될 경우 컨테이너 내부 경로로 지정해야 합니다.)


생성된 Tasks를 클릭하면 아래와 같이 상태 정보를 확인할 수 있으며 Run 클릭시 백업이 진행됩니다. 


Task 작업 수행시 지정한 경로에 .bak 파일이 생성.
.bak 파일이 포함하는 정보는 아래와 같습니다.

- Component - All related data that make up components within the repository manager
- Configuration - General administrative configurations such as scheduled tasks and email server configuration
- Security - All user and access rights management contents


  • 복원 상세 과정
    1. 신규 넥서스 데이터 영역을 사용하여 넥서스 시작(/nexus-data-new/)

               백업 과정에서 복사한 blobs, keystores 디렉토리 외에 넥서스 구성에 필요한 디렉토리들이 생성됩니다.


           2. 넥서스 중지 후 db/  하위 제거

               /nexus-data-new/db 디렉토리를 제거합니다. (백업시 생성한 .bak 파일을 이용해 db를 재생성하기 위함입니다.)


           3. db 재생성

                /nexus-data-new/restore-from-bakcup/ 디렉토리 하위에 backup TASK 실행으로 생성된 .bak 파일 위치후 넥서스를

                재실행 합니다.


            4. 정상 상태 확인
                브라우저에서 넥서스 접근하여 정상적으로 blobs 영역 생성 및 사용 가능 테스트.



마치며

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300