상단

Network backup and Restore 솔루션인 Bacula에 대한 전반적인 사항을 정리한다.

 

설치 가이드


설치전 사전 준비 사항

  • [MySQL Community Server 5.0.51](MySQL 5.0.51.md) 설치

  • [MySql Tools for 5.0](MySql Tools for 5.0.md) 설치

 

MySQL 정보 설정

  • MySQL Catalog로 bacula, MySQL User로 bacula를 등록한다.

    • 참조 : [[MySql Tools for 5.0|MySql Tools for 5.0]] 중 [사용자와 Schema 등록](MySql_Tools_for_5.0.md#사용자와 Schema 등록.md)을 참조

 

Bacula 설치

 

  • 다운로드 받은 winbacula-2.4.2.exe 를 실행한다.

 

  • "Next"를 선택하여 설치를 시작한다.
    설치시작


  • "I Agree"를 선택하여 라이센스를 확인 한다.
    라이센스 확인


  • Automatic를 선택하고 Next를 선택하여 설치를 계속한다.
    옵션 설정


  • Full을 선택하여 Server와 Client를 모두 설치한다. Document도 모두 설치할 것
    설치 옵션


  • 필요한 설정 정보를 입력한 후 Install을 선택하여 설치를 한다.

    • Password : MySQL 사용자 등록시 입력한 암호를 입력한다.

    • Mail Server : 메일 서버의 URL을 입력한다.

    • Mail Address : 메일 아이디를 입력한다.

    • Database는 조금 전에 설치한 MySQL을 선택한다.
      설정 정보


  • Finish를 선택하여 설치를 종료한다.
    설치 종료


  • bacula-dir.conf 파일에서 올바른 암호를 등록한다.

    • c:/Documents and Settings/All Users/Application Data/Bacula/bacula-dir.conf

 
 # Generic catalog service
 Catalog {
   Name = MyCatalog
   dbname = bacula; user = bacula; password = "암호_입력할_것"
 }
 
  • Bacula를 설치 완료하였음에서 데이터베이스에 테이블이 생성되지 않았을 경우, 다음 작업을 진행한다.

    • bacula 사용자로 MySQL Query Browser에 로그인한다.

    • c:/Program Files/Bacula/bin/make_mysql_tables.sql 파일에 명시된 테이블 등을 수작업으로 모두 생성한다.

 
 

사용자 가이드


 

서비스 기동/확인/종료

  • 서비스 기동

    • 시작 -> 모든 프로그램 -> Bacula에서 Start Storage Service를 시작한다. (bacula-sd.exe)

    • 시작 -> 모든 프로그램 -> Bacula에서 Start File Service를 시작한다. (bacula-fd.exe)

    • 시작 -> 모든 프로그램 -> Bacula에서 Start DirectorService를 시작한다. (bacula-dir.exe)
      서비스 기동

  • 서비스 확인

 
 C:/>netstat -an | findstr 910
   TCP    0.0.0.0:9101           0.0.0.0:0              LISTENING
   TCP    0.0.0.0:9102           0.0.0.0:0              LISTENING
   TCP    0.0.0.0:9103           0.0.0.0:0              LISTENING
 
  • 서비스 종료

    • Windows 작업 관리자에서 bacula-dir.exe 프로세스를 강제 종료한다.

    • Windows 작업 관리자에서 bacula-fd.exe 프로세스를 강제 종료한다.

    • Windows 작업 관리자에서 bacula-sd.exe 프로세스를 강제 종료한다.

 
 

테스트 백업 실행

  • bacula-sd.conf 파일에서 FileStorage라는 Device 블럭에서 지정한 Archive Device에 해당하는 디렉토리를 생성한다.

 
 Device {
   Name = FileStorage
   Media Type = File
   Archive Device = "C:\\Tmp"         # 여기서 지정한 c:/tmp 디렉토리를 생성한다.
   LabelMedia = yes                   # lets Bacula label unlabeled media
   Random Access = Yes
   AutomaticMount = yes               # when device opened, read it
   RemovableMedia = no
   AlwaysOpen = no
 }
 
  • 시작 -> 모든 프로그램 -> Bacula 에서 bwx-console을 실행한다.

    • 명령행에서 run을 실행한 후, Client1을 선택하고 yes를 선택하여 백업을 실행한다.

    • 혹시 라벨이 없다는 에러가 발생할 경우, 명령행에서 label을 입력하고, Volume name으로 demo를 입력하고 1(Default Pool)을 선택하여 라벨을 생성한 후 다시 위 명령을 실행한다.

  • bacula-dir.conf

 
 JobDefs {
   Name = "DefaultJob"
   Type = Backup
   Level = Incremental
   Client = main-fd
   FileSet = "Test Set"            # 백업할 파일셋 명
   Schedule = "WeeklyCycle"        # Schedule 명
   Storage = File                  # 저장할 Storage 명 (File Storage에서 FileStorage Device를 사용함)
   Messages = Standard
   Pool = Default
   Priority = 10
 }
 
 Job {
   Name = "Client1"
   JobDefs = "DefaultJob"
   Write Bootstrap = "F:\\Documents and Settings\\All Users\\Application Data\\Bacula\\Work\\Client1.bsr"
 }
 

Console 명령어

  add        add media to a pool
  autodisplay autodisplay [on|off](on|off.md) -- console messages
  automount  automount [on|off](on|off.md) -- after label
  cancel     cancel [| ]() -- cancel a job
  create     create DB Pool from resource
  delete     delete [| media volume=](pool=)
  disable    disable  -- disable a job
  enable     enable  -- enable a job
  estimate   performs FileSet estimate, listing gives full listing
  exit       exit = quit
  gui        gui [on|off](on|off.md) -- non-interactive gui mode
  help       print this command
  list       list [| jobs | jobtotals | media  | files ](pools); from catalog
  label      label a tape
  llist      full or long list like list command
  messages   messages
  memory     print current memory usage
  mount      mount 
  prune      prune expired records from catalog
  purge      purge records from catalog
  python     python control commands
  quit       quit
  query      query catalog
  restore    restore files
  relabel    relabel a tape
  release    release 
  reload     reload conf file
  run        run 
  status     status [| client](storage)=
  setdebug   sets debug level
  setip      sets new client address -- if authorized
  show       show (resource records) [| pools | ... | all](jobs)
  sqlquery   use SQL to query catalog
  time       print current time
  trace      turn on/off trace to file
  unmount    unmount 
  umount     umount  for old-time Unix guys
  update     update Volume, Pool or slots
  use        use catalog xxx
  var        does variable expansion
  version    print Director version
  wait       wait until no jobs are running [|  | ]()
 

관리자 가이드


 

참고 문헌


 
최종 수정일: 2024-09-30 12:26:18

이전글 :
다음글 :