웹사이트 검색

Ubuntu 20.04에 Bacula 백업 서버 설치


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Bacula 설치
  4. Bacula 스토리지 구성
  5. Bacula Director 구성
  6. 백업 작업 확인\n
  7. 결론

Bacula는 네트워크를 통해 데이터를 백업 및 복원하는 데 사용할 수 있는 오픈 소스 백업 도구입니다. 간단하고 사용하기 쉬운 도구이며 손실된 파일을 쉽게 백업하고 복구하는 데 도움이 되는 많은 고급 스토리지 관리 기능을 제공합니다. Linux, Windows 및 macOS 백업 클라이언트를 지원하며 다양한 백업 장치도 지원합니다. Bacula는 Bacula 디렉토리, Bacula, 콘솔, Bacula 스토리지, Bacula 파일 및 Bacula 카탈로그를 포함한 여러 구성 요소로 구성됩니다. 각 구성 요소는 특정 작업 관리를 담당합니다.

이 튜토리얼에서는 Ubuntu 20.04에서 백업 백업 시스템을 설치하고 구성하는 방법을 보여줍니다.

전제 조건

  • 최소 2GB RAM이 있는 Ubuntu 20.04를 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

먼저 시스템을 최신 안정 버전으로 업데이트해야 합니다. 다음 명령으로 업데이트할 수 있습니다.

apt-get update -y

모든 패키지가 업데이트되면 다음 단계로 진행할 수 있습니다.

바큘라 설치

기본적으로 Bacula 패키지는 Ubuntu 20.04 기본 리포지토리에서 사용할 수 있습니다. 다음 명령을 사용하여 쉽게 설치할 수 있습니다.

apt-get install bacula -y

설치하는 동안 아래와 같이 메일 서버를 선택하라는 메시지가 표시됩니다.

원하는 메일 서버를 선택하고 확인 버튼을 클릭합니다. 아래와 같이 시스템 메일 이름을 제공하라는 메시지가 표시됩니다.

시스템 메일 이름을 입력하고 확인 버튼을 클릭합니다. 아래와 같이 bacula에 대한 데이터베이스를 구성하라는 메시지가 표시됩니다.

예 버튼을 클릭합니다. 아래와 같이 PostgreSQL 서버의 호스트를 선택하라는 메시지가 표시됩니다.

localhost를 선택하고 확인 버튼을 클릭합니다. 아래와 같이 PostgreSQL 암호를 제공하라는 메시지가 표시됩니다.

원하는 암호를 입력하고 확인 버튼을 클릭하여 설치를 계속하십시오.

Bacula 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Bacula 스토리지 구성

시작하기 전에 백업 파일을 저장할 디렉터리를 만듭니다. 다음 명령으로 만들 수 있습니다.

mkdir /backup

다음으로 다음 명령을 사용하여 bacula 디렉터리의 소유권을 bacula 사용자 및 그룹으로 변경합니다.

chown -R bacula:bacula /backup

다음으로, bacula 스토리지 기본 구성 파일을 편집하고 스토리지의 장치 및 위치를 정의해야 합니다.

nano /etc/bacula/bacula-sd.conf

다른 "Device {" 및 "Autochanger {" 섹션을 제거하거나 주석 처리하고 다음 줄을 추가합니다.

Device {
Name = Local-device
Media Type = File
Archive Device = /backup
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
Maximum Concurrent Jobs = 5
}

완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 Bacula 스토리지 서비스를 다시 시작합니다.

systemctl restart bacula-sd.service

이제 다음 명령을 사용하여 Bacula 스토리지의 상태를 확인할 수 있습니다.

systemctl status bacula-sd

다음 출력이 표시되어야 합니다.

? bacula-sd.service - Bacula Storage Daemon service
     Loaded: loaded (/lib/systemd/system/bacula-sd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 8s ago
       Docs: man:bacula-sd(8)
    Process: 10687 ExecStartPre=/usr/sbin/bacula-sd -t -c $CONFIG (code=exited, status=0/SUCCESS)
   Main PID: 10688 (bacula-sd)
      Tasks: 2 (limit: 4691)
     Memory: 1.0M
     CGroup: /system.slice/bacula-sd.service
             ??10688 /usr/sbin/bacula-sd -fP -c /etc/bacula/bacula-sd.conf

Oct 06 09:32:43 ubunt4 systemd[1]: Starting Bacula Storage Daemon service...
Oct 06 09:32:43 ubunt4 systemd[1]: Started Bacula Storage Daemon service.

Bacula 디렉터 구성

다음으로 Bacula director 구성 파일을 편집하고 스토리지 위치를 제공해야 합니다. 다음 명령으로 편집할 수 있습니다.

nano /etc/bacula/bacula-dir.conf

장치 이름, 저장소 이름, 암호, 작업 등을 포함하여 다음 줄을 추가합니다.

Storage {
Name = ubunt4-sd  # Must be equal to the "Name" parameter of the "Storage" section in the /etc/bacula/bacula-sd.conf file
Address = 127.0.0.1
Password = "aFEH-0a3QycsbYQVcoy_VoUMhAHJQ00CD" # Password must match the password in the /etc/bacula/bacula-sd.conf
Device = Local-device
Media Type = File
}

FileSet {
Name = "Local-file"
Include {
Options {
signature = MD5
}
File = /etc 
}
}

Schedule {
Name = "LocalDaily"
Run = Full daily at 06:00
}

Job {
Name = "LocalBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "Local-file"
Schedule = "LocalDaily"
Storage = ubunt4-sd
Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}

완료되면 파일을 저장하고 닫은 다음 Bacula 디렉터 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart bacula-dir

다음 명령을 사용하여 Bacula 디렉터 서비스의 상태를 확인할 수도 있습니다.

systemctl status bacula-dir

다음과 같은 결과가 표시되어야 합니다.

? bacula-director.service - Bacula Director Daemon service
     Loaded: loaded (/lib/systemd/system/bacula-director.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-10-06 09:32:43 UTC; 9s ago
       Docs: man:bacula-dir(8)
    Process: 10667 ExecStartPre=/usr/sbin/bacula-dir -t -c $CONFIG (code=exited, status=0/SUCCESS)
   Main PID: 10683 (bacula-dir)
      Tasks: 3 (limit: 4691)
     Memory: 2.1M
     CGroup: /system.slice/bacula-director.service
             ??10683 /usr/sbin/bacula-dir -fP -c /etc/bacula/bacula-dir.conf

Oct 06 09:32:43 ubunt4 systemd[1]: Starting Bacula Director Daemon service...
Oct 06 09:32:43 ubunt4 systemd[1]: Started Bacula Director Daemon service.

백업 작업 확인

이 시점에서 매일 6시에 실행되도록 Bacula가 설치 및 구성됩니다. 이제 Bacula 콘솔을 사용하여 첫 번째 백업 작업을 실행해 보겠습니다.

bconsole

연결되면 다음과 같은 결과가 표시됩니다.

Connecting to Director localhost:9101
1000 OK: 103 ubunt4-dir Version: 9.4.2 (04 February 2019)
Enter a period to cancel a command.

그런 다음 다음 명령을 실행하여 백업 작업을 시작합니다.

*run

아래와 같이 백업 작업을 선택하라는 메시지가 표시됩니다.

Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
     1: BackupClient1
     2: LocalBackup
     3: BackupCatalog
     4: RestoreFiles
Select Job resource (1-4): 2

2를 입력하여 구성 파일에서 정의한 LocalBackup을 선택하고 Enter 키를 누릅니다. 다음 출력이 표시되어야 합니다.

Run Backup job
JobName:  LocalBackup
Level:    Full
Client:   ubunt4-fd
FileSet:  Local-file
Pool:     File (From Job resource)
Storage:  ubunt4-sd (From Job resource)
When:     2020-10-06 09:50:47
Priority: 10
OK to run? (yes/mod/no): yes
Job queued. JobId=3
You have messages.

이 시점에서 백업 작업이 시작됩니다. 다음 명령을 사용하여 백업 작업의 상태를 확인할 수 있습니다.

*status

다음 구성 요소의 상태를 선택하라는 메시지가 표시됩니다.

Status available for:
     1: Director
     2: Storage
     3: Client
     4: Scheduled
     5: Network
     6: All
Select daemon type for status (1-6): 1

1을 입력하고 Enter를 눌러 Director의 상태를 확인하십시오. 다음 출력이 표시되어야 합니다.

ubunt4-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50, conf reloaded 06-Oct-2020 09:50:27
 Jobs: run=1, running=0 mode=0,0
 Heap: heap=274,432 smbytes=106,782 max_bytes=135,168 bufs=343 max_bufs=377
 Res: njobs=4 nclients=1 nstores=3 npools=3 ncats=1 nfsets=3 nscheds=3

Scheduled Jobs:
Level          Type     Pri  Scheduled          Job Name           Volume
===================================================================================
Full           Backup    10  07-Oct-20 06:00    LocalBackup        Vol-0001
====

Running Jobs:
Console connected at 06-Oct-20 09:50
No Jobs running.
====

Terminated Jobs:
 JobId  Level      Files    Bytes   Status   Finished        Name 
====================================================================
     1  Full       2,262    2.875 M  OK       06-Oct-20 09:50 LocalBackup

====

그런 다음 status 명령을 다시 실행하고 Bacula 스토리지의 상태를 확인합니다.

*status

다음 출력이 표시되어야 합니다.

Status available for:
     1: Director
     2: Storage
     3: Client
     4: Scheduled
     5: Network
     6: All
Select daemon type for status (1-6): 2
The defined Storage resources are:
     1: File1
     2: ubunt4-sd
Select Storage resource (1-2): 1
Connecting to Storage daemon File1 at localhost:9103

ubunt4-sd Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu ubuntu 20.04
Daemon started 06-Oct-20 09:50. Jobs: run=1, running=0.
 Heap: heap=106,496 smbytes=369,301 max_bytes=567,404 bufs=90 max_bufs=110
 Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8 mode=0,0 newbsr=0
 Res: ndevices=1 nautochgr=0

Running Jobs:
No Jobs running.
====

Jobs waiting to reserve a drive:
====

Terminated Jobs:
 JobId  Level    Files      Bytes   Status   Finished        Name 
===================================================================
     3  Full      2,262    3.156 M  OK       06-Oct-20 09:50 LocalBackup
====

Device status:

Device File: "Local-device" (/backup) is not open.
   Available Space=93.95 GB
==
====

Used Volume status:
====

Attr spooling: 0 active jobs, 454,546 bytes; 1 total jobs, 454,546 max bytes.
====

그런 다음 다음 명령을 사용하여 Bacula 콘솔을 종료합니다.

*exit

그런 다음 다음 명령을 사용하여 백업 디렉터리를 확인합니다.

ls /backup/

Vol-0001 백업이 생성되었음을 확인해야 합니다.

Vol-0001

결론

축하합니다! Ubuntu 20.04 서버에 Bacula 백업을 성공적으로 설치하고 구성했습니다. 이제 원격 시스템에 Bacula 클라이언트를 설치하고 클라이언트 시스템을 쉽게 백업할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.