Navigation Menu

Skip to content
This repository has been archived by the owner on Mar 19, 2021. It is now read-only.

Commit

Permalink
Added regression test for sd-sd copy/migration
Browse files Browse the repository at this point in the history
  • Loading branch information
pstorz authored and Marco van Wieringen committed Jun 25, 2013
1 parent 98d9052 commit 9939bc8
Show file tree
Hide file tree
Showing 6 changed files with 532 additions and 0 deletions.
1 change: 1 addition & 0 deletions DartTestfile.txt.in
@@ -1,3 +1,4 @@
ADD_TEST(disk:migrate-sd-sd-test "@regressdir@/tests/migration-volume-sd-sd-test")
ADD_TEST(disk:acl-xattr-test "@regressdir@/tests/acl-xattr-test")
ADD_TEST(disk:action-on-purge-test "@regressdir@/tests/action-on-purge-test")
ADD_TEST(disk:accurate-test "@regressdir@/tests/accurate-test")
Expand Down
271 changes: 271 additions & 0 deletions scripts/bareos-dir-migration-sd-sd.conf.in
@@ -0,0 +1,271 @@
#
# Default Bareos Director Configuration file
#
# The only thing that MUST be changed is to add one or more
# file or directory names in the Include directive of the
# FileSet resource.
#
# You might also want to change the default email address
# from root to your address. See the "mail" and "operator"
# directives in the Messages resource.
#

Director { # define myself
Name = @hostname@-dir
DIRPort = @dirport@ # where we listen for UA connections
QueryFile = "@scriptdir@/query.sql"
WorkingDirectory = "@working_dir@"
PidDirectory = "@piddir@"
Maximum Concurrent Jobs = 4
Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
Messages = Daemon
}

#
# Define the main nightly save backup job
# By default, this job will back up to disk in @tmpdir@
Job {
Name = "NightlySave"
Type = Backup
Client=@hostname@-fd
FileSet="Full Set"
Storage = File
Messages = Standard
Pool = Default
Write Bootstrap = "@working_dir@/NightlySave.bsr"
Maximum Concurrent Jobs = 4
SpoolData = yes
# Allow Duplicate Jobs = No
# Prefer Mounted Volumes = no
}

Job {
Name = "migrate-job"
Type = Migrate
Level = Full
Client=@hostname@-fd
FileSet="Full Set"
Messages = Standard
Storage = DiskChanger
Write Bootstrap = "@working_dir@/migratejob.bsr"
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = Job
Selection Pattern = ".*Save"
# Allow Duplicate Jobs = No
}

Job {
Name = "migrate-volume"
Type = Migrate
Level = Full
Client=@hostname@-fd
FileSet="Full Set"
Messages = Standard
Storage = DiskChanger
Write Bootstrap = "@working_dir@/migratevol.bsr"
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = Volume
Selection Pattern = "File*"
# Allow Duplicate Jobs = No
}

Job {
Name = "copy-uncopied"
Type = Copy
Level = Full
Client=@hostname@-fd
FileSet="Full Set"
Messages = Standard
Storage = DiskChanger
Write Bootstrap = "@working_dir@/migratevol.bsr"
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = PoolUncopiedJobs
# Allow Duplicate Jobs = No
}

Job {
Name = "migrate-occupancy"
Type = Migrate
Level = Full
Client=@hostname@-fd
FileSet="Full Set"
Messages = Standard
Storage = DiskChanger
Write Bootstrap = "@working_dir@/migratejob.bsr"
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = PoolOccupancy
# Allow Duplicate Jobs = No
}

Job {
Name = "migrate-time"
Type = Migrate
Level = Full
Client=@hostname@-fd
FileSet="Full Set"
Messages = Standard
Storage = DiskChanger
Write Bootstrap = "@working_dir@/migratejob.bsr"
Pool = Default
Maximum Concurrent Jobs = 4
Selection Type = PoolTime
# Allow Duplicate Jobs = No
}




# Standard Restore template, to be changed by Console program
Job {
Name = "RestoreFiles"
Type = Restore
Client=@hostname@-fd
FileSet="Full Set"
Storage = File
Messages = Standard
Pool = Default
Where = @tmpdir@/bareos-restores
}


# List of files to be backed up
FileSet {
Name = "Full Set"
Include { Options { signature=MD5 }
File = <@tmpdir@/file-list
}
}


#
# When to do the backups, full backup on first sunday of the month,
# differential (i.e. incremental since full) every other sunday,
# and incremental backups other days
Schedule {
Name = "WeeklyCycle"
Run = Full 1st sun at 1:05
Run = Differential 2nd-5th sun at 1:05
Run = Incremental mon-sat at 1:05
}

# Client (File Services) to backup
Client {
Name = @hostname@-fd
Address = @hostname@
FDPort = @fdport@
Catalog = MyCatalog
Password = "xevrjURYoCHhn26RaJoWbeWXEY/a3VqGKp/37tgWiuHc" # password for FileDaemon
File Retention = 30d # 30 days
Job Retention = 180d # six months
AutoPrune = yes # Prune expired Jobs/Files
Maximum Concurrent Jobs = 4
}

# Definition of DDS Virtual tape disk storage device
Storage {
Name = DiskChanger
Address = @hostname@ # N.B. Use a fully qualified name here
SDPort = @sdport2@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
Device = DiskChanger # must be same as Device in Storage daemon
Media Type = DiskChangerMedia # must be same as MediaType in Storage daemon
Maximum Concurrent Jobs = 4
Autochanger = yes
}

# Definition of file storage device
Storage {
Name = File
Address = @hostname@
SDPort = @sdport@
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9" # password for Storage daemon
Device = FileStorage
Media Type = File
Maximum Concurrent Jobs = 5
}


# Generic catalog service
Catalog {
Name = MyCatalog
@libdbi@
dbname = @db_name@; user = @db_user@; password = "@db_password@"
}

# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard
mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bareos regression Job %j\) %r\" -s \"Regression: %t %e of %c %l\" %r"
operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bareos regression Job %j\) %r\" -s \"Regression: Intervention needed for %j\" %r"
# MailOnError = @job_email@ = all, !terminate
# operator = @job_email@ = mount
console = all, !skipped, !terminate, !restored
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if the scroll off the console.
#
append = "@working_dir@/log" = all, !skipped
catalog = all, !skipped
}

#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bareos regression\) %r\" -s \"Regression daemon message\" %r"
# mail = @job_email@ = all, !skipped
console = all, !skipped, !saved
append = "@working_dir@/log" = all, !skipped
catalog = all, !skipped
}


# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365d # one year
NextPool = Full
Storage = File
Migration High Bytes = 40M
Migration Low Bytes = 20M
Migration Time = 1
}

Pool {
Name = Special
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365d # one year
NextPool = Full
Storage = File
Migration High Bytes = 40M
Migration Low Bytes = 20M
Migration Time = 5h
}

Pool {
Name = Full
Pool Type = Backup
Recycle = yes # Bareos can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365d # one year
Storage = DiskChanger
}

Pool {
Name = Scratch
Recycle = yes
AutoPrune = yes
Pool Type = Scratch
RecyclePool = Scratch
}
70 changes: 70 additions & 0 deletions scripts/bareos-sd-migration-sd-sd1.conf.in
@@ -0,0 +1,70 @@
#
# Default Bareos Storage Daemon Configuration file
#
# You may need to change the name of your tape drive
# on the "Archive Device" directive in the Device
# resource. If you change the Name and/or the
# "Media Type" in the Device resource, please ensure
# that dird.conf has corresponding changes.
#

Storage { # definition of myself
Name = @hostname@-sd
SDPort = @sdport@ # Director's port
WorkingDirectory = "@working_dir@"
Pid Directory = "@piddir@"
Subsys Directory = "@subsysdir@"
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = @hostname@-dir
Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
}

#
# Devices supported by this Storage daemon
# To connect, the Director's bareos-dir.conf must have the
# same Name and MediaType.
#
#Autochanger {
# Name = DiskChanger
# Changer Device = @disk_drive@/conf
# Changer Command ="@scriptdir@/disk-changer %c %o %S %a %d"
# Device = Drive-0
#}

#Device {
# Name = Drive-0 #
# Device Type = File
# Media Type = DiskChangerMedia
# Archive Device = @disk_drive@/drive0
# AutomaticMount = yes; # when device opened, read it
# Autochanger = yes
# Drive Index = 0
# AlwaysOpen = yes;
# RemovableMedia = yes;
## Maximum File Size = 1000000
#}

Device {
Name = FileStorage
Media Type = File
Archive Device = @tmpdir@
LabelMedia = yes; # lets Bareos label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}

#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = @hostname@-dir = all, !terminate
}

0 comments on commit 9939bc8

Please sign in to comment.