Skip to content

[Mold] Incremental backup 지원#800

Open
Dajeong-Park wants to merge 75 commits intoablecloud-team:ablestack-europafrom
Dajeong-Park:incremental_backup
Open

[Mold] Incremental backup 지원#800
Dajeong-Park wants to merge 75 commits intoablecloud-team:ablestack-europafrom
Dajeong-Park:incremental_backup

Conversation

@Dajeong-Park
Copy link
Copy Markdown

@Dajeong-Park Dajeong-Park commented Apr 2, 2026

PR 설명

  • Commvault, NAS 백업 플러그인 파일 기반 백업에서 스토리지 기반 백업으로 엔진 분리
    GFS : libvirt push backup 기반
    RBD : snapshot + export-diff 기반 (Diplo 버전의 qcow2형태의 백업인 경우에도 정상적으로 복원되도록 고려)
  • 멀티 백업플러그인 사용을 위해 스택 소스 삭제
  • 백업 스케줄 구성 시 가상머신 선택에 따른 설정 초기화 오류 수정
  • 백업에서 새 인스턴스 생성 시 네트워크 목록 선택안되는 오류 수정
  • 스택 스키마 미반영된 부분 추가

Diplo 에서 백업을 사용하다가 Europa 로 업그레이드 시 해당 부분 주의 필요

Diplo 버전 NAS 및 Commvault 
-백업시 rbd 경우 libvirt push 백업 raw 타입을 qcow2 타입으로 변환하여 저장
-복원시 rbd 경우 qcow2 타입을 raw로 변환하여 볼륨 rsync

Europa 버전 NAS 및 Commvault 
-백업시 rbd 경우 snapshot 생성 raw export
-복원시 rbd 경우 raw import하며, qcow2 타입인 경우 qemu convert 후 import

변경 구분

  • 잠재적 기능/오류 개선 (기존의 기능에 잠재되어 있는 오류 또는 다른 기능에 영향을 미칠 기능의 개선)
  • 새로운 기능 (다른 기능에 영향을 미치지 않는 새 기능)
  • 버그 수정 (이슈에 보고된 버그에 대한 수정으로 다른 기능에 영향을 미치지 않음)
  • 기능 개선 (기존 기능에 대한 개선으로 다른 기능에 영향을 미치지 않음)
  • 코드 청소 (코드 재구성 및 청소, 테스트 케이스 추가 등)

기능/개선 규모 또는 버그 심각도

기능/개선 규모

  • 주요 기능/개선
  • 소규모 기능/개선

버그 심각도

  • 매우 심각 (제품 출시/운영을 불가능하게 함)
  • 위험 (사용자에게 자원의 손실을 가져오게 함)
  • 중요 (사용자에게 기능 사용의 불편을 가져오게 함)
  • 보통 (사용자가 문제를 인지할 수 있을 정도임)
  • 미미 (사용자가 인지하지 못할 정도임)

테스트 방법 및 결과

NAS 백업 플러그인

  1. RBD 타입
  • FULL 백업 시작

가상머신이 실행중인 경우 > 저장소 백업본 확인 및 스냅샷 확인 (완료)
가상머신이 정지중인 경우 > 저장소 백업본 확인 및 스냅샷 확인 (완료)

  • FULL 백업 삭제

저장소 백업본 삭제 및 스냅샷 삭제 확인 (완료)

  • FULL 백업 복원

가상머신 백업 복원 > 복원시 스냅샷 삭제, 복원 후 재 복원, 멀티 디스크 확인 (완료)
백업 볼륨 복원 및 연결 (완료)
백업에서 새 인스턴스 생성 (완료)

멀티 디스크 복원 시 순차 처리로 windows 100GB import 시 15분 소요, 총 2배 소요... 
* 멀티 디스크 복원 시 고려사항
현재 : 복원시 in-place 복원으로 바로 교체하여 속도는 빠르지만  하나의 디스크에서 복원 실패 시 롤백할 수 없음
대안 : 새 볼륨 생성후 교체하는 방식으로 바꾼다면 안정성은 올라가지만 속도가 느릴 수 있음
  • INCREMENTAL 백업 시작

FULL 백업본 스냅샷이 존재하는 가상머신인 경우 > Incremental 백업으로 전환 확인 (완료)
백업본이 존재하지않는 가상머신인 경우 > FULL 백업으로 전환 확인 (완료)
Incremental 백업본 스냅샷이 존재하는 가상머신인 경우 > delta.max 10 후 FULL 백업 생성 확인 (완료)

  • INCREMENTAL 백업 삭제

incremental 백업 중간 체인 삭제 시도한 경우 > 삭제되지 않음 확인 (완료)
incremental 백업 마지막 체인 삭제 시도한 경우 > 삭제됨 확인 (완료)
FUll 백업과 Incremental 백업 연결된 경우 FULL 백업 삭제 시도한 경우 > 삭제되지 않음 확인 (완료)
강제 옵션 활성화 후 삭제시 삭제됨을 확인, 중간 체인이 강제 삭제된 경우, 그 뒤 체인들 삭제해주면 정상화됨 확인 (완료)
백업 삭제시 details 도 삭제됨 확인 (완료)

  • INCREMENTAL 백업 복원

가상머신 백업 복원 > 중간체인으로 복원시 스냅샷 사라지고 복원 확인, 다른 체인으로 복원시 복원 확인 (완료)
백업 볼륨 복원 및 연결 > 중간체인으로 복원시 스냅샷 변동없이 다른 가상머신에 연결됨 확인 (완료)
백업에서 새 인스턴스 생성 > 중간체인 백업으로 새 인스턴스 생성 시 스냡샷 변동없이 생성 확인 (완료)

  • Diplo 백업본이 존재하는 경우 -> Europa 업데이트된 후 기능 정상동작 테스트 필요
  • 크로스존 통합테스트 필요
  1. GFS 타입
  • FULL 백업 시작
  • FULL 백업 삭제
  • FULL 백업 복원
  • INCREMENTAL 백업 시작
  • INCREMENTAL 백업 삭제
  • INCREMENTAL 백업 복원
  • Diplo 백업본이 존재하는 경우 -> Europa 업데이트된 후 기능 정상동작 테스트 필요

Commvault 백업 플러그인

rbd의 경우 백업된 호스트가 달라도 증분을 이어갈 수 있지만, gfs의 경우 백업된 호스트가 다르면 full 강제

  1. RBD 타입
  • FULL 백업 시작
  • FULL 백업 삭제
  • FULL 백업 복원
  • INCREMENTAL 백업 시작
  • INCREMENTAL 백업 삭제
  • INCREMENTAL 백업 복원
  • Diplo 백업본이 존재하는 경우 -> Europa 업데이트된 후 기능 정상동작 테스트 필요
  1. GFS 타입
  • FULL 백업 시작
  • FULL 백업 삭제
  • FULL 백업 복원
  • INCREMENTAL 백업 시작
  • INCREMENTAL 백업 삭제
  • INCREMENTAL 백업 복원
  • Diplo 백업본이 존재하는 경우 -> Europa 업데이트된 후 기능 정상동작 테스트 필요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant