Hi,

In a previous post, I indicated that I was working on a plugin for Bareos 
Storage Daemon. During my tests, I noted that bsdEventWriteRecordTranslation is 
not emitted during a Virtual Full Backup. Have you got a patch to resolv this 
problem ?

For information, I published a first alpha release of the plugin on github : 
https://github.com/Sherlock221B/bareos/blob/master/src/plugins/stored/dedup-sd.c
 
I did some tests (backup of 30Go and 400Go) and the first results are 
interesting. 

The plugin allows to deduplicate the data using block of fixed size (64k) or of 
variable size (avg 8k). 
Varaiable size need more cpu and memory, but gives a better result. 

The plugin also allows to deduplicate each volume (only the volumes whose name 
begins with a prefix defines) or a group of volumes (all the data stored on a 
set of volumes are deduplicated and stored in the same DB). 

For best results, it is preferable that a volume is used only for a job. In my 
case, the name of a volume is the name of the job to which I add the prefix for 
deduplication. 

You will find in attach a small example of the settings I use. 

Best regards.

-- 
You received this message because you are subscribed to the Google Groups 
"bareos-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.
########
# Pool #
########

Pool {
  Name = DedupFull
  Pool Type = Backup
  Recycle = yes                       # Bareos can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # How long should the Full Backups be 
kept? (#06)
  Maximum Volume Bytes = 50G          # Limit Volume size to something 
reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
  Label Format = "DedupFull-$Job"     # Volumes will be labeled 
"DedupFull-<job-name>"
}

Pool {
  Name = DedupDifferential
  Pool Type = Backup
  Recycle = yes                                # Bareos can automatically 
recycle Volumes
  AutoPrune = yes                              # Prune expired volumes
  Volume Retention = 90 days                   # How long should the 
Differential Backups be kept? (#09)
  Maximum Volume Bytes = 10G                   # Limit Volume size to something 
reasonable
  Maximum Volumes = 100                        # Limit number of Volumes in Pool
  Label Format = "DedupDifferential-$Job"      # Volumes will be labeled 
"Differential-<job-name>"
}

Pool {
  Name = DedupIncremental
  Pool Type = Backup
  Recycle = yes                            # Bareos can automatically recycle 
Volumes
  AutoPrune = yes                          # Prune expired volumes
  Volume Retention = 30 days               # How long should the Incremental 
Backups be kept?  (#12)
  Maximum Volume Bytes = 1G                # Limit Volume size to something 
reasonable
  Maximum Volumes = 100                    # Limit number of Volumes in Pool
  Label Format = "DedupIncremental-$Job"   # Volumes will be labeled 
"Incremental-<job-name>"
}

################################
# JobDefs to dedup each volume #
################################

JobDefs {
  Name = "DedupJob"
  Type = Backup
  Level = Incremental
  Client = debian-fd
  FileSet = "debian"                       # debian fileset
  Storage = DedupFile
  Messages = Standard
  Pool = DedupIncremental
  Priority = 10
  Write Bootstrap = "/opt/bareos/var/lib/%c.bsr"
  Full Backup Pool = DedupFull                  # write Full Backups into 
"DedupFull" Pool
  Differential Backup Pool = DedupDifferential  # write Diff Backups into 
"DedupDifferential" Pool
  Incremental Backup Pool = DedupIncremental    # write Incr Backups into 
"DedupIncremental" Pool
  SD Plugin Options = 
"dedup:path=/storage/dedup/:prefix=DedupFull-|DedupDifferential-|DedupIncremental-"
}

#####################################################################
# Files stored on the server after a full and an incremental backup #
##################################################################### 
root@bareosdev01:/opt/bareos# ls -R /storage/dedup/
/storage/dedup/:
DedupFull-backup-debian-fd  DedupIncremental-backup-debian-fd

/storage/dedup/DedupFull-backup-debian-fd:
DedupFull-backup-debian-fd-0000001.bdb  DedupFull-backup-debian-fd-0000001.ddb  
DedupFull-backup-debian-fd-0000001.maf  DedupFull-backup-debian-fd.cdb

/storage/dedup/DedupIncremental-backup-debian-fd:
DedupIncremental-backup-debian-fd-0000001.bdb  
DedupIncremental-backup-debian-fd-0000001.maf
DedupIncremental-backup-debian-fd-0000001.ddb  
DedupIncremental-backup-debian-fd.cdb


## Other example ##

#######################################
# JobDefs to dedup a group of volumes #
#######################################

JobDefs {
  Name = "DedupJob"
  Type = Backup
  Level = Incremental
  Client = debian-fd
  FileSet = "debian"                       # debian fileset
  Storage = DedupFile
  Messages = Standard
  Pool = DedupIncremental
  Priority = 10
  Write Bootstrap = "/opt/bareos/var/lib/%c.bsr"
  Full Backup Pool = DedupFull                  # write Full Backups into 
"DedupFull" Pool
  Differential Backup Pool = DedupDifferential  # write Diff Backups into 
"DedupDifferential" Pool
  Incremental Backup Pool = DedupIncremental    # write Incr Backups into 
"DedupIncremental" Pool
  SD Plugin Options = 
"dedup:path=/storage/dedup/:prefix=DedupFull-|DedupDifferential-|DedupIncremental-:group_prefix=DedupFull-|DedupDifferential-|DedupIncremental-"
}

#####################################################################
# Files stored on the server after a full and an incremental backup #
#####################################################################
root@bareosdev01:/opt/bareos# ls -R /storage/dedup/
/storage/dedup/:
backup-debian-fd

/storage/dedup/backup-debian-fd:
backup-debian-fd-0000001.bdb  backup-debian-fd-0000001.ddb  
backup-debian-fd-0000001.maf  backup-debian-fd-0000002.maf  backup-debian-fd.cdb











Reply via email to