XtraBackup 설명

2024년 05월 16일

XtraBackup는 MySQL 및 MariaDB 데이터베이스를 위한 오픈 소스 백업 솔루션으로, Percona에서 개발했습니다. 이 도구는 비차단 방식으로 백업을 수행하여 데이터베이스의 가용성을 유지하면서 데이터를 안전하게 백업할 수 있게 합니다. 주요 기능과 특징은 다음과 같습니다:

주요 기능

  1. 비차단 백업:

    • XtraBackup는 데이터베이스의 동작을 중단시키지 않고 백업을 수행합니다. 이는 24/7 가동되는 시스템에서 특히 중요합니다.
  2. 증분 백업:

    • 처음에는 전체 백업을 수행하고 이후 변경된 데이터만 백업하는 증분 백업을 지원합니다. 이를 통해 백업 시간을 단축하고 저장 공간을 절약할 수 있습니다.
  3. 압축 및 스트리밍:

    • 백업 데이터를 압축하여 저장 공간을 절약할 수 있으며, 백업 데이터를 다른 서버로 스트리밍하는 기능도 지원합니다.
  4. 복구 및 검증:

    • 백업된 데이터를 빠르게 복구할 수 있으며, 복구 전에 백업의 무결성을 검증하는 기능도 제공합니다.

사용 사례

  • 데이터베이스 마이그레이션: 데이터베이스를 다른 서버로 이전할 때 XtraBackup를 사용하면 손쉽게 데이터를 이동할 수 있습니다.
  • 재해 복구: 시스템 장애나 데이터 손실 상황에서 빠른 복구를 통해 서비스 중단을 최소화할 수 있습니다.
  • 테스트 환경 구축: 프로덕션 데이터베이스의 백업을 테스트 환경에 복구하여 실제 데이터를 기반으로 테스트를 수행할 수 있습니다.

설치 및 사용 방법

  1. 설치:

    • XtraBackup는 대부분의 리눅스 배포판에서 패키지 관리자 (예: apt, yum)를 통해 쉽게 설치할 수 있습니다.
  2. # Debian/Ubuntu sudo apt-get install percona-xtrabackup-80 # RHEL/CentOS sudo yum install percona-xtrabackup-80
  3. 백업 수행:

    • 전체 백업:
      xtrabackup --backup --target-dir=/path/to/backup
    • 증분 백업:
      xtrabackup --backup --target-dir=/path/to/incremental_backup --incremental-basedir=/path/to/previous_backup
  4. 백업 검증:

    xtrabackup --prepare --target-dir=/path/to/backup
  5. 복구:

    xtrabackup --copy-back --target-dir=/path/to/backup chown -R mysql:mysql /var/lib/mysql

장점과 단점

장점:

  • 비차단 백업으로 데이터베이스의 가용성 유지.
  • 증분 백업을 통한 효율적인 저장 공간 사용.
  • 다양한 백업 및 복구 옵션 제공.

단점:

  • 설정 및 사용이 초기에는 다소 복잡할 수 있음.
  • 백업 및 복구 과정에서 충분한 디스크 공간과 I/O 성능이 요구됨.

XtraBackup는 MySQL 및 MariaDB 데이터베이스의 백업과 복구를 효율적으로 관리할 수 있는 강력한 도구로, 특히 대규모 데이터베이스 환경에서 유용합니다.