
XtraBackup 무중단 백업은 서비스 중단 없이 데이터를 안전하게 보호할 수 있는 가장 효과적인 방법 중 하나입니다.
이 글에서는 Ubuntu 22.04와 Rocky Linux 8 환경에서 XtraBackup을 설치하고, 전체 백업, 증분 백업, 복구까지 실무 예제를 통해 자세히 설명합니다.
목차
-
XtraBackup이란?
-
XtraBackup의 장점
-
설치 방법 (Ubuntu 기준)
-
전체 백업(Full Backup) 방법
-
증분 백업(Incremental Backup) 방법
- XtraBackup 주요 옵션 설명
-
복구(Restoration) 방법
-
실무 활용 팁
1. XtraBackup이란?
XtraBackup은 Percona에서 개발한 고성능 백업 도구로, MySQL과 MariaDB를 사용하는 데이터베이스에 대해 무중단(Hot) 백업을 지원합니다.
InnoDB 스토리지 엔진을 사용하는 DB에 최적화되어 있으며, 운영 중인 서비스의 가용성을 해치지 않고도 백업을 수행할 수 있어 많은 기업 환경에서 사용됩니다.
2. XtraBackup의 장점
항목 | 설명 |
---|---|
무중단 백업 | 서비스 중단 없이 실시간 백업 가능 |
빠른 백업/복구 | 파일 기반 백업으로 속도 빠름 |
오픈소스 | 비용 없이 사용 가능 (GPLv2 라이선스) |
증분 백업 지원 | 스토리지 절약 및 빠른 백업 주기 가능 |
암호화 및 압축 | 백업 보안 및 디스크 공간 절약 |
3. XtraBackup 설치 방법
Ubuntu 22.04
# Percona 저장소 등록 # 설치 |
Rocky Linux8
# 저장소 추가 # 설치 |
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 \ chown -R mysql:mysql /var/lib/mysql |
XtraBackup 무중단 백업 은 MySQL/MariaDB 환경에서 무중단 백업을 가능하게 해주는 강력한 도구입니다.
전체 백업, 증분 백업, 압축, 스트리밍 등 다양한 옵션을 활용하면 실무 환경에서 유연하고 안정적인 데이터 보호가 가능합니다.
[XtraBackup 관련 추천 링크]
DigitalOcean Community Tutorials
GitHub – Percona XtraBackup Source