들어가며
- 기존 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 영역 생성 및 사용 가능 테스트.
마치며
- sonatype 공식 페이지
https://help.sonatype.com/en/backup-and-restore.html
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.