Bacula-users

[Bacula-users] Many projects idea, what do you think about it ?

2011-12-12 12:11:06
Subject: [Bacula-users] Many projects idea, what do you think about it ?
From: Hugo Letemplier <hugo.let.35 AT gmail DOT com>
To: bacula-users <bacula-users AT lists.sourceforge DOT net>
Date: Mon, 12 Dec 2011 18:08:41 +0100
Hello,

I have some project ideas. If people like it, maybe it can be
developed in next bacula versions.

I am running bacula 5.0.3.

My experience with bacula was long & slow at the beginning. This was
due to various concept that I didn't understood and also for some
missing function that I developed myself via python over bconsole.
Moreover, some packages didn't included some options or where
including bugs

I ran ./configure and the compilation from source myself and a lot of
problem disappeared.

Idea --- Have a COPY/MIGRATE functionality just like the RESTORE functionality
=> You simply select the jobs that you want to copy and the destination storage.
=> An estimation indicates the size of the selected jobs
=> That functionality can be integrated in bat.
Why:
=> You cant manually copy many jobs from bconsole eg: run
job=MyCopyJob jobid=1000<here i cant specify many jobs>
=> Copy job are, in my opinion, mostly used for Archiving on a
separate device so it cant be a "Fully automated process" ( tape
size…). In my case, an external python script loads sequentially
bconsole commands to run job. This script let me choose which job I
want to add to the tape.
With bacula integrated options for copy such as "Sql Query" or "Pool
Uncopied" , I would like to check the job list before running the job,
eg: I want to limit one tape by month so my archiving should no exceed
the estimated size of an LTO3 Tape (~400Go).


Idea --- Disable only one occurrence of a job or pre-upgrade the next
occurrence of a job.
=> Add an upgrade command
=> Add a next option to the disable command
Why:
=> Simply imagine that your backups are growing faster than expected,
you want that the next time the job run with an higher level.
=> You do not want to reload you configuration
=> There is already the run command and the "Allow Duplicate Jobs =
No" directive but for the moment, but it conflicts with Copy jobs
=> You may not be able to re-enable the job just after ( eg : you want
to run the job during the week end )



Idea --- The pruning algorithm between 5.0 and 5.2 versions of bacula.
That would be great if it's possible to select which algorithm to use
/pool or /job

Idea --- Enable running virtual-full in the same pool as my full job

Idea --- Ability to bextract cyphered jobs
=> My Disaster recovery plan is a little tricky without this functionality


Idea --- Ability to dynamically use a specific encryption key on a file daemon.
=> eg : You are in BAT, you want to restore files from a job on a file
daemon that is different from the backup client.
Why:
=> Be able to restore on a different file daemon without deploying
massively ( in clear text) the master key.
Solution 1:
=> Add a menu in bat that upload the key on the file daemon
Solution 2:
=> Predeploy an encrypted version of the master key on the file
daemons, bat or bconsole ask the user for a passphrase in order to
decrypt this key.



Idea --- Disable "auto" in ./configure script.
Why
=> Some bacula version implements ACL other ones do not and it's the
same for lots of libraries. When you are installing bacula you are
expecting ACL and many functionality but theses ones are there only if
the libraries are on the system.
=> When I installed various builds of bacula from various repository
(MacPort, Sourceforge, Apt, RPM…) on various systems ( MacOSX,
Windows, CentOS, Debian) I had a lot of bug coming from some version
that were build without some options. To make this right, I had to run
installation from source on many systems with the same configure
options.
Solution:
=> By default, all Bacula versions should implement the same options
on compression, encryption, acl, batch inserts…. If the user want it
without ACL he can do it himself by deselecting with ./configure.
I really think that it's better to have a defined number of options
that are officially supported that should be integrated in every
version. I don't think that many people can do backups without acl,
encryption…


Idea --- Add an option to automatically run a new full if the
estimated size of the [incremental|differential] job reaches a certain
ratio compared to the previous full.
Why:
eg: On my file server, people can add no more files during months and
sometimes there is a huge activity.
=> It can happen that some incremental jobs are larger than the
differential and some differentials larger than the full. In this
case, you have better to run a new full.
Solution1:
=> Implement directly this functionality
Solution2:
=> Implement upgrade-level directive and  "post estimate" runscript
directive with a variable integration.


Idea --- Having a programming interface that can talk like bconsole.
It's not always easy to talk to another shell and bconsole uses
As I understood, python integration in bacula is effective only on a
bacula event. Please correct me if I am wrong.
I created a library in python (via pexpect) in order to have an
interface for my scripts. It's talking to bconsole and directly to the
catalog (read only).
I can give this python lib to anyone but I am not a very good
programmer so many things may need to be revisited.
It allowed me to write many scripts (management, monitoring, pruning…)
including the one that run my copy jobs that is mentioned at the
beginning.


I hope you understood my English.

Thank you in advance for your comments about theses ideas.

If someone is interested I will be happy to share parts of my python code.
If some features are developed I might have time to help developing or
try theses functionalities


Hugo

------------------------------------------------------------------------------
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

<Prev in Thread] Current Thread [Next in Thread>