우분투 바쿨라 백업 프로그램

Bacula(바쿨라)는 오픈소스 백업 솔루션으로, 네트워크를 통해 클라이언트 시스템의 데이터를 중앙 백업 서버에 백업하고 복구할 수 있는 강력한 도구입니다. 우분투에서 Bacula를 설정하는 방법을 설명해 드리겠습니다.


1. Bacula 개요

Bacula는 다음과 같은 구성 요소로 이루어져 있습니다:

  • Director: 백업 및 복구 작업을 관리하는 중앙 제어 시스템
  • Storage Daemon (SD): 실제 데이터를 저장하는 백업 서버
  • File Daemon (FD): 클라이언트에서 실행되며 백업할 데이터를 제공하는 에이전트
  • Catalog: 백업된 파일의 메타데이터를 저장하는 데이터베이스 (MySQL, PostgreSQL, SQLite 지원)
  • Console: Bacula를 관리하는 CLI 도구

2. Bacula 설치 (Ubuntu 20.04 / 22.04 기준)

1) 패키지 설치

bash
sudo apt update
sudo apt install bacula-server bacula-client

3. Bacula 구성 파일 설정

Bacula의 주요 설정 파일은 /etc/bacula/ 디렉터리에 위치합니다.

1) Director 설정 (/etc/bacula/bacula-dir.conf)

Bacula Director는 전체 백업을 제어하는 역할을 합니다. 기본 설정을 편집하려면 다음 명령어를 사용하세요.

bash
sudo nano /etc/bacula/bacula-dir.conf

설정 예제:

bash
Director {
Name = bacula-dir
Password = "MyStrongPassword"
}
JobDefs {
Name = “DefaultJob”
Type = Backup
Level = Incremental
FileSet=“Full Set”
Schedule = “WeeklyCycle”
Storage = File
Messages = Standard
Pool = Default
Priority = 10
}

변경할 주요 사항:

  • Name : Bacula Director의 이름
  • Password : 클라이언트와 통신하는 비밀번호

2) Storage Daemon 설정 (/etc/bacula/bacula-sd.conf)

스토리지 데몬은 백업 데이터를 저장하는 역할을 합니다.

bash
sudo nano /etc/bacula/bacula-sd.conf

설정 예제:

bash
Storage {
Name = FileStorage
Address = 192.168.1.100 # 서버의 IP 주소
SDPort = 9103
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/run/bacula"
MaximumConcurrentJobs = 20
}

변경할 주요 사항:

  • Address : Bacula 서버의 IP 주소
  • WorkingDirectory : 백업 데이터 저장 경로

3) File Daemon 설정 (/etc/bacula/bacula-fd.conf)

클라이언트에서 실행되는 File Daemon 설정을 변경합니다.

bash
sudo nano /etc/bacula/bacula-fd.conf

설정 예제:

bash
FileDaemon {
Name = client-fd
FDPort = 9102
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/run/bacula"
}

변경할 주요 사항:

  • Name : 클라이언트 이름
  • FDPort : 기본 포트 (9102)

4. Bacula 서비스 시작 및 확인

설정을 마친 후, Bacula 서비스를 재시작합니다.

bash
sudo systemctl restart bacula-director
sudo systemctl restart bacula-sd
sudo systemctl restart bacula-fd

서비스 상태 확인:

bash
sudo systemctl status bacula-director
sudo systemctl status bacula-sd
sudo systemctl status bacula-fd

모두 active (running) 상태여야 정상 동작합니다.


5. 백업 작업 실행

CLI에서 Bacula 콘솔을 실행하여 백업 작업을 수행할 수 있습니다.

bash
bconsole

백업 실행:

bash
run

복구 실행:

bash
restore

6. 방화벽 설정

Bacula는 기본적으로 다음 포트를 사용합니다.

  • 9101: Director
  • 9102: File Daemon (Client)
  • 9103: Storage Daemon

만약 UFW를 사용하고 있다면 포트를 열어야 합니다.

bash
sudo ufw allow 9101/tcp
sudo ufw allow 9102/tcp
sudo ufw allow 9103/tcp
sudo ufw reload

7. Bacula 웹 인터페이스 (옵션)

웹 UI로 Bacula-Web을 사용할 수 있습니다.
설치 방법:

bash
sudo apt install apache2 php php-cli php-mysql
cd /var/www/html
sudo git clone https://github.com/bacula-web/bacula-web.git
sudo chown -R www-data:www-data /var/www/html/bacula-web
sudo systemctl restart apache2

웹 브라우저에서 http://서버IP/bacula-web/로 접속하면 웹 UI를 사용할 수 있습니다.


결론

Bacula는 강력한 백업 솔루션으로 네트워크를 통한 자동 백업이 가능합니다. 위 단계를 따라 설정하면 기본적인 백업 및 복구 기능을 활용할 수 있습니다. 추가적으로 스케줄링, 다양한 스토리지 지원 등을 설정하여 더욱 강력한 백업 시스템을 구축할 수도 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다