Replies below. :) Regards, Robert Gerber 402-237-8692 r...@craeon.net
On Wed, Jan 8, 2025 at 4:03 PM Christophe PEREZ via Bacula-users < bacula-users@lists.sourceforge.net> wrote: > Le mercredi 08 janvier 2025 à 14:46 -0600, Rob Gerber a écrit : > > Christophe, > > Hi Rob, > > > Not 2nd AND 5th, but 2nd TO 5th. > That makes more sense. I understand now. > > > > MaximumVolumes="2" can only work if you have only 1 FD. Really, for > > this to work the right way you must have MaximumVolumes=X where X = > > (total FD x 2). > > And save all FD in the same pool ? > I would want to put Full backups in the Full pool, Diff in the diff pool, etc. Different pool for different backup type and different retention, but not different pools for different FD unless you have a very good reason to do it. So, per storage medium, you will have 3 total pools, Full, Diff, Inc. You do not want to mix media types in a pool, so if you were backing up to cloud, to another SD, or to tape you would want a Full, Diff, and Inc pool for each storage medium or device. In my 15.0.2 device, I have local backup pools Synology-Local-Full, Synology-Local-Diff, and Synology-Local-Inc, and pools B2-Full, B2-Diff, B2-Inc for copying jobs from the local pools to the Backblaze B2 cloud service. > It seems to me that this will not gain me any space. > > I am trying to say that for you to use the MaximumVolumes=X idea with MaximumVolumeJobs=1, X must be >= the number of volumes you expect to use within your retention period. Let us say you have 6 FD, MaximumVolumes=6, MaximumVolumeJobs=1, VolumeRetention=40days, and you do 1 full backup each month. In month 1 there is no problem - bacula does its backups and creates 6 volumes. In month 2, Bacula cannot make any volumes available without deleting the volumes from last month BEFORE you have done any new backups! In my understanding bacula would not violate the retention period, so it would be unable to make the new backups. So in this example you would want at least MaximumVolumes=12 with MaximumVolumeJobs=1. You don't want to run out of volumes before your retention period expires. There are other ways to limit bacula's space usage. I'll talk about them. > > So, with Maximum Volume Jobs = 0, the volume size will continue to > grow? > I don't know what would happen if we set MaximumVolumeJobs=0 , but if we comment it out or remove it, yes, the volume will grow forever unless restrained in some other way. Bacula gives us many ways to restrain volume growth. We can set MaximumVolumeUseDuration, MaximumVolumeJobs, MaximumVolumeBytes, etc. See the manual for some more discussion of each. https://www.bacula.org/15.0.x-manuals/en/main/Configuring_Director.html#SECTION00231600000000000000000 > So I have to find something else... > I thought I had made my life easier like that. > I think MaximumVolumeJobs is good for your situation. Maybe MaximumVolumes is difficult if not set correctly. If you experience unexpected blockages where a job cannot run because the pool does not have any more volumes, then you can experiment with removing MaximumVolumes and instead relying on the VolumeRetention period to remove volumes. As a warning if relying on VolumeRetention alone, it is possible that bacula will not remove a volume if it does not have to, even if expired. Bacula's goal is to keep your volumes available as long as possible, just in case you need them. If that becomes a problem, I believe you can Schedule a job of Type=Admin and tell it to truncate expired volumes. I have not set up such a job, so I am not certain how it is done. I think MaximumVolumes could work for you, as long as it is set to be >= the number of volumes you will need during your retention period. Here is the bacula manual entry all about automatic volume recycling. It is very useful. https://www.bacula.org/15.0.x-manuals/en/main/Automatic_Volume_Recycling.html One extract from that link above that explains what bacula will do if not restrained in some way: " A key point mentioned above, that can be a source of frustration, is that Bacula will only recycle purged Volumes if there is no other appendable Volume available, otherwise, it will always write to an appendable Volume before recycling even if there are Volumes marked as Purged. This preserves your data as long as possible. So, if you wish to “force” Bacula to use a purged Volume, you must first ensure that no other Volume in the Pool is marked Append. If necessary, you can manually set a volume to Full. The reason for this is that Bacula wants to preserve the data on your old Volumes (even though purged from the catalog) as long as absolutely possible before overwriting it. There are also a number of directives such as Volume Use Duration that will automatically mark a volume as Used and thus no longer appendable." This behavior is why we must restrain bacula. Your suggestion of MaximumVolumeJobs=1 and MaximumVolumes=$expectedNumberOfVolumesNeededDuringRetentionPeriod accomplishes this, with the warning that you will not be able to make new backups if you run out of volumes because you added more FDs but did not increase MaximumVolumes, or something like that. I have set a very short retention period on my test system, with a job scheduled once an hour. I'll examine the behavior I see and report back. I have bacula 15.0.2. > What linux tool does this ZSTD compression format depend on? > I don't know what tool it uses. I am also running bacula 15.0.2, on Rocky Linux 9. For me, the ZSTD feature just worked. I think bacula made sure the correct libraries are present. > >
_______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users