advertisement
Chapter 14
Critical Items to Implement Before
Production
We recommend you take your time before implementing a production a Bacula backup system since Bacula is a rather complex program, and if you make a mistake, you may suddenly find that you cannot restore your files in case of a disaster. This is especially true if you have not previously used a major backup product.
If you follow the instructions in this chapter, you will have covered most of the major problems that can occur. It goes without saying that if you ever find that we have left out an important point, please inform us, so that we can document it to the benefit of everyone.
14.1
Critical Items
The following assumes that you have installed Bacula, you more or less understand it, you have at least worked through the tutorial or have equivalent experience, and that you have set up a basic production configuration. If you haven’t done the above, please do so and then come back here. The following is a sort of checklist that points with perhaps a brief explanation of why you should do it. In most cases, you will find the details elsewhere in the manual. The order is more or less the order you would use in setting up a production system (if you already are in production, use the checklist anyway).
• Test your tape drive for compatibility with Bacula by using the test command in the btape program.
• Better than doing the above is to walk through the nine steps in the Tape Testing chapter of the manual. It may take you a bit of time, but it will eliminate surprises.
• Test the end of tape handling of your tape drive by using the fill command in the btape program.
• If you are using a Linux 2.4 kernel, make sure that /lib/tls is disabled. Bacula does not work with this
library. See the second point under Supported Operating Systems.
• Do at least one restore of files. If you backup multiple OS types (Linux, Solaris, HP, MacOS, FreeBSD,
Win32, ...), restore files from each system type. The Restoring Files chapter shows you how.
• Write a bootstrap file to a separate system for each backup job. The Write Bootstrap directive is
described in the Director Configuration chapter of the manual, and more details are available in the
Bootstrap File chapter. Also, the default bacula-dir.conf comes with a Write Bootstrap directive
defined. This allows you to recover the state of your system as of the last backup.
• Backup your catalog. An example of this is found in the default bacula-dir.conf file. The backup script is installed by default and should handle any database, though you may want to make your own
local modifications. See also Backing Up Your Bacula Database - Security Considerations for more
information.
93
94 Bacula Version 5.0.3
• Write a bootstrap file for the catalog. An example of this is found in the default bacula-dir.conf file.
This will allow you to quickly restore your catalog in the event it is wiped out – otherwise it is many excruciating hours of work.
• Make a copy of the bacula-dir.conf, bacula-sd.conf, and bacula-fd.conf files that you are using on your server. Put it in a safe place (on another machine) as these files can be difficult to reconstruct if your server dies.
• Make a Bacula Rescue CDROM! See the Disaster Recovery Using a Bacula Rescue CDROM chapter.
It is trivial to make such a CDROM, and it can make system recovery in the event of a lost hard disk infinitely easier.
• Bacula assumes all filenames are in UTF-8 format. This is important when saving the filenames to the catalog. For Win32 machine, Bacula will automatically convert from Unicode to UTF-8, but on Unix,
Linux, *BSD, and MacOS X machines, you must explicitly ensure that your locale is set properly.
Typically this means that the bf LANG environment variable must end in .UTF-8. An full example is en US.UTF-8. The exact syntax may vary a bit from OS to OS, and exactly how you define it will also vary.
On most modern Win32 machines, you can edit the conf files with notepad and choose output encoding
UTF-8.
14.2
Recommended Items
Although these items may not be critical, they are recommended and will help you avoid problems.
• Read the Quick Start Guide to Bacula
• After installing and experimenting with Bacula, read and work carefully through the examples in the
Tutorial chapter of this manual.
• Learn what each of the Bacula Utility Programs does.
• Set up reasonable retention periods so that your catalog does not grow to be too big. See the following three chapters:
Using Pools to Manage Volumes.
• Perform a bare metal recovery using the Bacula Rescue CDROM.
See the
Disaster Recovery Using a Bacula Rescue CDROM chapter.
If you absolutely must implement a system where you write a different tape each night and take it offsite in the morning. We recommend that you do several things:
• Write a bootstrap file of your backed up data and a bootstrap file of your catalog backup to a floppy disk or a CDROM, and take that with the tape. If this is not possible, try to write those files to another computer or offsite computer, or send them as email to a friend. If none of that is possible, at least print the bootstrap files and take that offsite with the tape. Having the bootstrap files will make recovery much easier.
• It is better not to force Bacula to load a particular tape each day. Instead, let Bacula choose the tape.
If you need to know what tape to mount, you can print a list of recycled and appendable tapes daily, and select any tape from that list. Bacula may propose a particular tape for use that it considers optimal, but it will accept any valid tape from the correct pool.
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
advertisement
Table of contents
- 18 What is Bacula?
- 18 Who Needs Bacula?
- 18 Bacula Components or Services
- 21 Bacula Configuration
- 21 Conventions Used in this Document
- 22 Quick Start
- 22 Terminology
- 24 What Bacula is Not
- 24 Interactions Between the Bacula Services
- 26 Release Version 5.0.2 and 5.0.3
- 28 New Features in 5.0.1
- 28 Truncate Volume after Purge
- 29 Allow Higher Duplicates
- 29 Cancel Lower Level Duplicates
- 30 New Features in 5.0.0
- 30 Maximum Concurrent Jobs for Devices
- 30 Restore from Multiple Storage Daemons
- 30 File Deduplication using Base Jobs
- 31 AllowCompression = <yes|no>
- 31 Accurate Fileset Options
- 32 Tab-completion for Bconsole
- 32 Pool File and Job retention
- 32 Read-only File Daemon using capabilities
- 33 Bvfs API
- 33 Testing your Tape Drive
- 34 New Block Checksum Device Directive
- 34 New Bat Features
- 34 Media List View
- 34 Media Information View
- 34 Job Information View
- 36 Autochanger Content View
- 37 Bat on Windows
- 37 New Win32 Installer
- 37 Win64 Installer
- 37 Linux Bare Metal Recovery USB Key
- 37 bconsole Timeout Option
- 37 Important Changes
- 38 Custom Catalog queries
- 38 Deprecated parts
- 38 Misc Changes
- 40 Released Version 3.0.3 and 3.0.3a
- 42 New Features in Released Version 3.0.2
- 42 Full Restore from a Given JobId
- 43 Source Address
- 43 Show volume availability when doing restore
- 43 Accurate estimate command
- 46 New Features in 3.0.0
- 46 Accurate Backup
- 46 Accurate = <yes|no>
- 46 Copy Jobs
- 49 ACL Updates
- 50 Extended Attributes
- 51 Shared objects
- 51 Building Static versions of Bacula
- 51 Virtual Backup (Vbackup)
- 53 Catalog Format
- 53 64 bit Windows Client
- 54 Duplicate Job Control
- 54 Allow Duplicate Jobs = <yes|no>
- 54 Allow Higher Duplicates = <yes|no>
- 54 Cancel Running Duplicates = <yes|no>
- 55 Cancel Queued Duplicates = <yes|no>
- 55 TLS Authentication
- 55 TLS Authenticate = yes
- 55 bextract non-portable Win32 data
- 55 State File updated at Job Termination
- 55 MaxFullInterval = <time-interval>
- 56 MaxDiffInterval = <time-interval>
- 56 Honor No Dump Flag = <yes|no>
- 56 Exclude Dir Containing = <filename-string>
- 57 Bacula Plugins
- 57 Plugin Directory
- 57 Plugin Options
- 57 Plugin Options ACL
- 57 Plugin = <plugin-command-string>
- 58 The bpipe Plugin
- 59 Microsoft Exchange Server 2003/2007 Plugin
- 59 Background
- 59 Concepts
- 59 Installing
- 60 Backing Up
- 60 Restoring
- 61 Restoring to the Recovery Storage Group
- 61 Restoring on Microsoft Server 2007
- 61 Caveats
- 62 libdbi Framework
- 63 Console Command Additions and Enhancements
- 63 Display Autochanger Content
- 63 list joblog job=xxx or jobid=nnn
- 63 Use separator for multiple commands
- 63 Deleting Volumes
- 64 Bare Metal Recovery
- 64 Miscellaneous
- 64 Allow Mixed Priority = <yes|no>
- 65 Bootstrap File Directive – FileRegex
- 65 Bootstrap File Optimization Changes
- 65 Solaris ZFS/NFSv4 ACLs
- 65 Virtual Tape Emulation
- 66 Bat Enhancements
- 66 RunScript Enhancements
- 66 Status Enhancements
- 66 Connect Timeout
- 66 ftruncate for NFS Volumes
- 66 Support for Ubuntu
- 67 Recycle Pool = <pool-name>
- 67 FD Version
- 67 Max Run Sched Time = <time-period-in-seconds>
- 67 Max Wait Time = <time-period-in-seconds>
- 67 Incremental|Differential Max Wait Time = <time-period-in-seconds>
- 67 Max Run Time directives
- 67 Statistics Enhancements
- 68 ScratchPool = <pool-resource-name>
- 69 Enhanced Attribute Despooling
- 69 SpoolSize = <size-specification-in-bytes>
- 69 MaximumConsoleConnections = <number>
- 69 VerId = <string>
- 69 dbcheck enhancements
- 69 --docdir configure option
- 70 --htmldir configure option
- 70 --with-plugindir configure option
- 72 The Current State of Bacula
- 72 What is Implemented
- 74 Advantages Over Other Backup Programs
- 74 Current Implementation Restrictions
- 75 Design Limitations or Restrictions
- 75 Items to Note
- 76 System Requirements
- 78 Supported Operating Systems
- 80 Supported Tape Drives
- 81 Unsupported Tape Drives
- 81 FreeBSD Users Be Aware!!!
- 81 Supported Autochangers
- 81 Tape Specifications
- 84 Getting Started with Bacula
- 84 Understanding Jobs and Schedules
- 84 Understanding Pools, Volumes and Labels
- 85 Setting Up Bacula Configuration Files
- 85 Configuring the Console Program
- 86 Configuring the Monitor Program
- 86 Configuring the File daemon
- 87 Configuring the Director
- 87 Configuring the Storage daemon
- 88 Testing your Configuration Files
- 88 Testing Compatibility with Your Tape Drive
- 88 Get Rid of the /lib/tls Directory
- 88 Running Bacula
- 89 Log Rotation
- 89 Log Watch
- 89 Disaster Recovery
- 90 Installing Bacula
- 90 Source Release Files
- 91 Upgrading Bacula
- 92 Releases Numbering
- 93 Dependency Packages
- 94 Supported Operating Systems
- 94 Building Bacula from Source
- 97 What Database to Use?
- 97 Quick Start
- 98 Configure Options
- 103 Recommended Options for Most Systems
- 103 Red Hat
- 104 Solaris
- 105 FreeBSD
- 105 Win32
- 105 One File Configure Script
- 106 Installing Bacula
- 106 Building a File Daemon or Client
- 106 Auto Starting the Daemons
- 107 Other Make Notes
- 108 Installing Tray Monitor
- 108 GNOME
- 109 KDE
- 109 Other window managers
- 109 Modifying the Bacula Configuration Files
- 110 Critical Items to Implement Before Production
- 110 Critical Items
- 111 Recommended Items
- 112 A Brief Tutorial
- 112 Before Running Bacula
- 113 Starting the Database
- 113 Starting the Daemons
- 113 Using the Director to Query and Start Jobs
- 115 Running a Job
- 119 Restoring Your Files
- 121 Quitting the Console Program
- 121 Adding a Second Client
- 122 When The Tape Fills
- 124 Other Useful Console Commands
- 124 Debug Daemon Output
- 125 Patience When Starting Daemons or Mounting Blank Tapes
- 125 Difficulties Connecting from the FD to the SD
- 125 Daemon Command Line Options
- 126 Creating a Pool
- 126 Labeling Your Volumes
- 127 Labeling Volumes with the Console Program
- 130 Customizing the Configuration Files
- 131 Character Sets
- 132 Resource Directive Format
- 132 Comments
- 132 Upper and Lower Case and Spaces
- 132 Including other Configuration Files
- 133 Recognized Primitive Data Types
- 134 Resource Types
- 134 Names, Passwords and Authorization
- 135 Detailed Information for each Daemon
- 136 Configuring the Director
- 136 Director Resource Types
- 137 The Director Resource
- 139 The Job Resource
- 154 The JobDefs Resource
- 154 The Schedule Resource
- 157 Technical Notes on Schedules
- 157 The FileSet Resource
- 168 FileSet Examples
- 173 Backing up Raw Partitions
- 173 Excluding Files and Directories
- 173 Windows FileSets
- 175 Testing Your FileSet
- 176 The Client Resource
- 177 The Storage Resource
- 179 The Pool Resource
- 185 The Scratch Pool
- 185 The Catalog Resource
- 186 The Messages Resource
- 187 The Console Resource
- 188 The Counter Resource
- 189 Example Director Configuration File
- 192 Client/File daemon Configuration
- 192 The Client Resource
- 194 The Director Resource
- 195 The Message Resource
- 195 Example Client Configuration File
- 196 Storage Daemon Configuration
- 196 Storage Resource
- 198 Director Resource
- 198 Device Resource
- 206 Edit Codes for Mount and Unmount Directives
- 206 Devices that require a mount (DVD)
- 208 Autochanger Resource
- 209 Capabilities
- 209 Messages Resource
- 209 Sample Storage Daemon Configuration File
- 212 Messages Resource
- 216 Console Configuration
- 216 General
- 216 The Director Resource
- 217 The ConsoleFont Resource
- 217 The Console Resource
- 219 Console Commands
- 219 Sample Console Configuration File
- 220 Monitor Configuration
- 220 The Monitor Resource
- 220 The Director Resource
- 221 The Client Resource
- 221 The Storage Resource
- 222 Tray Monitor Security
- 222 Sample Tray Monitor configuration
- 223 Sample File daemon's Director record.
- 223 Sample Storage daemon's Director record.
- 223 Sample Director's Console record.
- 224 The Restore Command
- 224 General
- 224 The Restore Command
- 229 Restore a pruned job using a pattern
- 229 Selecting Files by Filename
- 230 Replace Options
- 231 Command Line Arguments
- 232 Using File Relocation
- 232 Introduction
- 232 RegexWhere Format
- 233 Restoring Directory Attributes
- 233 Restoring on Windows
- 234 Restoring Files Can Be Slow
- 234 Problems Restoring Files
- 235 Restore Errors
- 235 Example Restore Job Resource
- 235 File Selection Commands
- 237 Restoring When Things Go Wrong
- 242 Automatic Volume Recycling
- 243 Automatic Pruning
- 243 Pruning Directives
- 245 Recycling Algorithm
- 246 Recycle Status
- 247 Making Bacula Use a Single Tape
- 247 Daily, Weekly, Monthly Tape Usage Example
- 249 Automatic Pruning and Recycling Example
- 250 Manually Recycling Volumes
- 252 Basic Volume Management
- 252 Key Concepts and Resource Records
- 253 Pool Options to Limit the Volume Usage
- 254 Automatic Volume Labeling
- 254 Restricting the Number of Volumes and Recycling
- 255 Concurrent Disk Jobs
- 256 An Example
- 258 Backing up to Multiple Disks
- 259 Considerations for Multiple Clients
- 264 Automated Disk Backup
- 264 The Problem
- 264 The Solution
- 265 Overall Design
- 265 Full Pool
- 266 Differential Pool
- 266 Incremental Pool
- 266 The Actual Conf Files
- 270 Migration and Copy
- 271 Migration and Copy Job Resource Directives
- 273 Migration Pool Resource Directives
- 273 Important Migration Considerations
- 274 Example Migration Jobs
- 276 File Deduplication using Base Jobs
- 278 Backup Strategies
- 278 Simple One Tape Backup
- 278 Advantages
- 278 Disadvantages
- 278 Practical Details
- 279 Manually Changing Tapes
- 279 Daily Tape Rotation
- 279 Advantages
- 280 Disadvantages
- 280 Practical Details
- 284 Autochanger Support
- 285 Knowing What SCSI Devices You Have
- 286 Example Scripts
- 286 Slots
- 286 Multiple Devices
- 287 Device Configuration Records
- 290 Autochanger Resource
- 291 An Example Configuration File
- 291 A Multi-drive Example Configuration File
- 292 Specifying Slots When Labeling
- 293 Changing Cartridges
- 293 Dealing with Multiple Magazines
- 294 Simulating Barcodes in your Autochanger
- 294 The Full Form of the Update Slots Command
- 295 FreeBSD Issues
- 295 Testing Autochanger and Adapting mtx-changer script
- 296 Using the Autochanger
- 297 Barcode Support
- 298 Use bconsole to display Autochanger content
- 298 Bacula Autochanger Interface
- 300 Supported Autochangers
- 304 Data Spooling
- 304 Data Spooling Directives
- 305 !!! MAJOR WARNING !!!
- 305 Other Points
- 306 Using Bacula catalog to grab information
- 306 Job statistics
- 308 ANSI and IBM Tape Labels
- 308 Director Pool Directive
- 308 Storage Daemon Device Directives
- 310 The Windows Version of Bacula
- 310 Win32 Installation
- 314 Post Win32 Installation
- 314 Uninstalling Bacula on Win32
- 314 Dealing with Win32 Problems
- 316 Windows Compatibility Considerations
- 317 Volume Shadow Copy Service
- 318 VSS Problems
- 319 Windows Firewalls
- 319 Windows Port Usage
- 319 Windows Disaster Recovery
- 319 Windows Restore Problems
- 320 Windows Ownership and Permissions Problems
- 320 Manually resetting the Permissions
- 322 Backing Up the WinNT/XP/2K System State
- 323 Considerations for Filename Specifications
- 323 Win32 Specific File daemon Command Line
- 324 Shutting down Windows Systems
- 326 Disaster Recovery Using Bacula
- 326 General
- 326 Important Considerations
- 326 Steps to Take Before Disaster Strikes
- 327 Bare Metal Recovery on Linux with a Rescue CD
- 327 Requirements
- 327 Restoring a Client System
- 328 Boot with your Rescue CDROM
- 330 Restoring a Server
- 331 Linux Problems or Bugs
- 331 Bare Metal Recovery using a LiveCD
- 332 FreeBSD Bare Metal Recovery
- 333 Solaris Bare Metal Recovery
- 333 Preparing Solaris Before a Disaster
- 334 Bugs and Other Considerations
- 334 Disaster Recovery of Win32 Systems
- 334 Ownership and Permissions on Win32 Systems
- 335 Alternate Disaster Recovery Suggestion for Win32 Systems
- 335 Restoring to a Running System
- 336 Additional Resources
- 338 Bacula TLS – Communications Encryption
- 338 TLS Configuration Directives
- 339 Creating a Self-signed Certificate
- 340 Getting a CA Signed Certificate
- 340 Example TLS Configuration Files
- 344 Data Encryption
- 345 Building Bacula with Encryption Support
- 345 Encryption Technical Details
- 345 Decrypting with a Master Key
- 346 Generating Private/Public Encryption Keys
- 346 Example Data Encryption Configuration
- 348 Using Bacula to Improve Computer Security
- 348 The Details
- 349 Running the Verify
- 350 What To Do When Differences Are Found
- 351 A Verify Configuration Example
- 354 Installing and Configuring MySQL
- 354 Installing and Configuring MySQL – Phase I
- 355 Installing and Configuring MySQL – Phase II
- 356 Re-initializing the Catalog Database
- 356 Linking Bacula with MySQL
- 357 Installing MySQL from RPMs
- 357 Upgrading MySQL
- 358 Installing and Configuring PostgreSQL
- 358 Installing PostgreSQL
- 359 Configuring PostgreSQL
- 361 Re-initializing the Catalog Database
- 361 Installing PostgreSQL from RPMs
- 362 Converting from MySQL to PostgreSQL
- 363 Upgrading PostgreSQL
- 364 Tuning PostgreSQL
- 364 Credits
- 366 Installing and Configuring SQLite
- 366 Installing and Configuring SQLite – Phase I
- 367 Installing and Configuring SQLite – Phase II
- 367 Linking Bacula with SQLite
- 367 Testing SQLite
- 368 Re-initializing the Catalog Database
- 370 Catalog Maintenance
- 370 Setting Retention Periods
- 371 Compacting Your MySQL Database
- 372 Repairing Your MySQL Database
- 372 MySQL Table is Full
- 373 MySQL Server Has Gone Away
- 373 MySQL Temporary Tables
- 373 Repairing Your PostgreSQL Database
- 373 Database Performance Issues
- 374 Performance Issues Indexes
- 374 PostgreSQL Indexes
- 374 MySQL Indexes
- 375 SQLite Indexes
- 375 Compacting Your PostgreSQL Database
- 376 Compacting Your SQLite Database
- 376 Migrating from SQLite to MySQL or PostgreSQL
- 376 Backing Up Your Bacula Database
- 377 Security considerations
- 378 Backing Up Third Party Databases
- 378 Database Size
- 380 Bacula Security Issues
- 381 Backward Compatibility
- 381 Configuring and Testing TCP Wrappers
- 383 Running as non-root
- 384 The Bootstrap File
- 384 Bootstrap File Format
- 387 Automatic Generation of Bootstrap Files
- 388 Bootstrap for bscan
- 388 A Final Bootstrap Example
- 390 Bacula Copyright, Trademark, and Licenses
- 390 FDL
- 390 GPL
- 390 LGPL
- 390 Public Domain
- 391 Trademark
- 391 Fiduciary License Agreement
- 391 Disclaimer
- 392 GNU Free Documentation License
- 398 Table of Contents
- 398 GNU GENERAL PUBLIC LICENSE
- 398 Preamble
- 399 TERMS AND CONDITIONS
- 402 How to Apply These Terms to Your New Programs
- 403 Table of Contents
- 403 GNU LESSER GENERAL PUBLIC LICENSE
- 403 Preamble
- 404 TERMS AND CONDITIONS
- 409 How to Apply These Terms to Your New Libraries
- 410 Thanks
- 412 Bacula Bugs