메뉴 닫기

XtraBackup 무중단 백업 가이드

PERCONA XTRABACKUP 이미지
PERCONA XTRABACKUP 이미지

 

XtraBackup 무중단 백업은 서비스 중단 없이 데이터를 안전하게 보호할 수 있는 가장 효과적인 방법 중 하나입니다.

이 글에서는 Ubuntu 22.04와 Rocky Linux 8 환경에서 XtraBackup을 설치하고, 전체 백업, 증분 백업, 복구까지 실무 예제를 통해 자세히 설명합니다.

 

 

 목차

  1. XtraBackup이란?

  2. XtraBackup의 장점

  3. 설치 방법 (Ubuntu 기준)

  4. 전체 백업(Full Backup) 방법

  5. 증분 백업(Incremental Backup) 방법

  6. XtraBackup 주요 옵션 설명
  7. 복구(Restoration) 방법

  8. 실무 활용 팁

 

 

 

1. XtraBackup이란?

XtraBackupPercona에서 개발한 고성능 백업 도구로, MySQL과 MariaDB를 사용하는 데이터베이스에 대해 무중단(Hot) 백업을 지원합니다.

InnoDB 스토리지 엔진을 사용하는 DB에 최적화되어 있으며, 운영 중인 서비스의 가용성을 해치지 않고도 백업을 수행할 수 있어 많은 기업 환경에서 사용됩니다.

 

 

2. XtraBackup의 장점

항목 설명
무중단 백업 서비스 중단 없이 실시간 백업 가능
빠른 백업/복구 파일 기반 백업으로 속도 빠름
오픈소스 비용 없이 사용 가능 (GPLv2 라이선스)
증분 백업 지원 스토리지 절약 및 빠른 백업 주기 가능
암호화 및 압축 백업 보안 및 디스크 공간 절약

 

 

3. XtraBackup 설치 방법

Ubuntu 22.04

# Percona 저장소 등록
wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
sudo dpkg -i percona-release_latest.generic_all.deb
sudo percona-release setup ps80 # MySQL 8.x 사용 시

# 설치
sudo apt update
sudo apt install percona-xtrabackup-80 -y

 

Rocky Linux8

# 저장소 추가
sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
sudo percona-release setup ps80

# 설치
sudo yum install percona-xtrabackup-80 -y

CentOS 7도 동일한 방식으로 설치 가능하며, MariaDB의 경우 percona-xtrabackup-24를 설치하는 것이 호환성이 높습니다.

 

 

4. 전체 백업 (Full Backup)

XtraBackup 무중단 백업의 가장 기본적인 백업 방식입니다.

xtrabackup –backup \
–target-dir=/data/backups/full \
–user=root –password=your_password
  • --backup: 백업 실행 모드

  • --target-dir: 백업 저장 디렉토리

  • --user, --password: DB 인증 정보

 

 

5. 증분 백업 (Incremental Backup)

이전 백업 이후 변경된 데이터만 저장하므로 디스크 공간을 절약하고 빠르게 처리할 수 있습니다.

xtrabackup –backup \
–target-dir=/data/backups/inc1 \
–incremental-basedir=/data/backups/full \
–user=root –password=your_password

 

 

6. XtraBackup 주요 옵션 설명

XtraBackup 무중단 백업은 다양한 환경에 맞게 사용할 수 있도록 많은 옵션을 제공합니다. 아래는 자주 사용되는 옵션입니다.

 
–backup : 백업 실행 (필수)
–prepare : 복구 전 redo 로그 적용
–copy-back : 실제 MySQL 데이터 디렉토리에 복사
–target-dir=PATH : 백업/복구 디렉토리 지정
–incremental : 증분 백업 수행
–incremental-basedir=PATH : 이전 백업 경로 지정
–user, –password : 인증 정보
–datadir=PATH : 실제 데이터 디렉토리 (보통 /var/lib/mysql)
–stream=tar : 실시간 tar 포맷으로 출력 (원격 전송 시 유용)
–compress : 백업 데이터 압축                             // --compress 옵션을 사용하면 .qp 포맷으로 압축되며, --decompress로 해제 가능합니다.
–decompress : 압축 해제
–parallel=N : 병렬 스레드 지정 (속도 향상)    // --throttle 또는 --parallel 옵션을 적절히 조절하면 I/O 병목을 방지할 수 있습니다.
–throttle=N : 디스크 I/O 제한 (KB/s)              // --throttle 또는 --parallel 옵션을 적절히 조절하면 I/O 병목을 방지할 수 있습니다.

 

 

7. 복구 (Restoration)

복구 준비 (redo log 적용)

xtrabackup –prepare \
–target-dir=/data/backups/full

 

실제 복구 (MySQL 데이터 디렉토리로 복사)

systemctl stop mysqld

xtrabackup –copy-back \
–target-dir=/data/backups/full

chown -R mysql:mysql /var/lib/mysql
systemctl start mysqld

 

 

XtraBackup 무중단 백업 은 MySQL/MariaDB 환경에서 무중단 백업을 가능하게 해주는 강력한 도구입니다.

전체 백업, 증분 백업, 압축, 스트리밍 등 다양한 옵션을 활용하면 실무 환경에서 유연하고 안정적인 데이터 보호가 가능합니다.

 

 

 

[XtraBackup 관련 추천 링크] 

Percona 공식 문서 (XtraBackup)

Percona Blog – 실전 백업/복구 예제

DigitalOcean Community Tutorials

MariaDB에서의 XtraBackup 사용 가이드

GitHub – Percona XtraBackup Source

 

 

MariaDB백업 : Mariabackup 이용하기

MyISAM, InnoDB, XtraDB 특징 및 설정

 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x