]> git.sur5r.net Git - bacula/docs/blob - docs/home-page/fr/pages/projects.php
Update site for release 3.0.3
[bacula/docs] / docs / home-page / fr / pages / projects.php
1 <? require_once("inc/header.php"); ?>
2 <table>
3 </tr>
4 <tr>
5         <td class="content">
6
7 <pre>
8                 
9                 
10 Projects:
11                      Bacula Projects Roadmap 
12                 Prioritized by user vote 07 December 2005
13                     Status updated 30 July 2006
14
15 Summary:
16 Item  1:  Implement data encryption (as opposed to comm encryption)
17 Item  2:  Implement Migration that moves Jobs from one Pool to another.
18 Item  3:  Accurate restoration of renamed/deleted files from
19 Item  4:  Implement a Bacula GUI/management tool using Python.
20 Item  5:  Implement Base jobs.
21 Item  6:  Allow FD to initiate a backup
22 Item  7:  Improve Bacula's tape and drive usage and cleaning management.
23 Item  8:  Implement creation and maintenance of copy pools
24 Item  9:  Implement new {Client}Run{Before|After}Job feature.
25 Item 10:  Merge multiple backups (Synthetic Backup or Consolidation).
26 Item 11:  Deletion of Disk-Based Bacula Volumes
27 Item 12:  Directive/mode to backup only file changes, not entire file
28 Item 13:  Multiple threads in file daemon for the same job
29 Item 14:  Implement red/black binary tree routines.
30 Item 15:  Add support for FileSets in user directories  CACHEDIR.TAG
31 Item 16:  Implement extraction of Win32 BackupWrite data.
32 Item 17:  Implement a Python interface to the Bacula catalog.
33 Item 18:  Archival (removal) of User Files to Tape
34 Item 19:  Add Plug-ins to the FileSet Include statements.
35 Item 20:  Implement more Python events in Bacula.
36 Item 21:  Quick release of FD-SD connection after backup.
37 Item 22:  Permit multiple Media Types in an Autochanger
38 Item 23:  Allow different autochanger definitions for one autochanger.
39 Item 24:  Automatic disabling of devices
40 Item 25:  Implement huge exclude list support using hashing.
41
42
43 Below, you will find more information on future projects:
44
45 Item  1:  Implement data encryption (as opposed to comm encryption)
46   Date:   28 October 2005
47   Origin: Sponsored by Landon and 13 contributors to EFF.
48   Status: Done: Landon Fuller has implemented this in 1.39.x.
49                   
50   What:   Currently the data that is stored on the Volume is not
51           encrypted. For confidentiality, encryption of data at
52           the File daemon level is essential. 
53           Data encryption encrypts the data in the File daemon and
54           decrypts the data in the File daemon during a restore.
55
56   Why:    Large sites require this.
57
58 Item 2:   Implement Migration that moves Jobs from one Pool to another.
59   Origin: Sponsored by Riege Software International GmbH. Contact:
60           Daniel Holtkamp <holtkamp at riege dot com>
61   Date:   28 October 2005
62   Status: 90% complete: Working in 1.39, more to do. Assigned to
63           Kern.
64
65   What:   The ability to copy, move, or archive data that is on a
66           device to another device is very important. 
67
68   Why:    An ISP might want to backup to disk, but after 30 days
69           migrate the data to tape backup and delete it from
70           disk.  Bacula should be able to handle this
71           automatically.  It needs to know what was put where,
72           and when, and what to migrate -- it is a bit like
73           retention periods.  Doing so would allow space to be
74           freed up for current backups while maintaining older
75           data on tape drives.
76
77   Notes:   Riege Software have asked for the following migration
78            triggers:
79            Age of Job
80            Highwater mark (stopped by Lowwater mark?)
81                             
82   Notes:  Migration could be additionally triggered by:
83            Number of Jobs
84            Number of Volumes
85
86 Item  3:  Accurate restoration of renamed/deleted files from
87           Incremental/Differential backups
88   Date:   28 November 2005
89   Origin: Martin Simmons (martin at lispworks dot com)
90   Status:
91
92   What:   When restoring a fileset for a specified date (including "most
93           recent"), Bacula should give you exactly the files and directories
94           that existed at the time of the last backup prior to that date.
95
96           Currently this only works if the last backup was a Full backup.
97           When the last backup was Incremental/Differential, files and
98           directories that have been renamed or deleted since the last Full
99           backup are not currently restored correctly.  Ditto for files with
100           extra/fewer hard links than at the time of the last Full backup.
101
102   Why:    Incremental/Differential would be much more useful if this worked.
103
104   Notes:  Item 14 (Merging of multiple backups into a single one) seems to
105           rely on this working, otherwise the merged backups will not be
106           truly equivalent to a Full backup.  
107
108           Kern: notes shortened. This can be done without the need for 
109           inodes. It is essentially the same as the current Verify job,
110           but one additional database record must be written, which does 
111           not need any database change.
112
113           Kern: see if we can correct restoration of directories if
114           replace=ifnewer is set.  Currently, if the directory does not
115           exist, a "dummy" directory is created, then when all the files
116           are updated, the dummy directory is newer so the real values
117           are not updated.
118
119 Item 4:   Implement a Bacula GUI/management tool using Python.
120   Origin: Kern
121   Date:   28 October 2005
122   Status: Lucus is working on this for Python GTK+.
123
124   What:   Implement a Bacula console, and management tools
125           using Python and Qt or GTK.
126
127   Why:    Don't we already have a wxWidgets GUI?  Yes, but
128           it is written in C++ and changes to the user interface
129           must be hand tailored using C++ code. By developing
130           the user interface using Qt designer, the interface
131           can be very easily updated and most of the new Python       
132           code will be automatically created.  The user interface
133           changes become very simple, and only the new features
134           must be implement.  In addition, the code will be in
135           Python, which will give many more users easy (or easier)
136           access to making additions or modifications.
137
138  Notes:   This is currently being implemented using Python-GTK by       
139           Lucas Di Pentima <lucas at lunix dot com dot ar>
140
141 Item 5:   Implement Base jobs.
142   Date:   28 October 2005
143   Origin: Kern
144   Status: 
145   
146   What:   A base job is sort of like a Full save except that you 
147           will want the FileSet to contain only files that are
148           unlikely to change in the future (i.e.  a snapshot of
149           most of your system after installing it).  After the
150           base job has been run, when you are doing a Full save,
151           you specify one or more Base jobs to be used.  All
152           files that have been backed up in the Base job/jobs but
153           not modified will then be excluded from the backup.
154           During a restore, the Base jobs will be automatically
155           pulled in where necessary.
156
157   Why:    This is something none of the competition does, as far as
158           we know (except perhaps BackupPC, which is a Perl program that
159           saves to disk only).  It is big win for the user, it
160           makes Bacula stand out as offering a unique
161           optimization that immediately saves time and money.
162           Basically, imagine that you have 100 nearly identical
163           Windows or Linux machine containing the OS and user
164           files.  Now for the OS part, a Base job will be backed
165           up once, and rather than making 100 copies of the OS,
166           there will be only one.  If one or more of the systems
167           have some files updated, no problem, they will be
168           automatically restored.
169
170   Notes:  Huge savings in tape usage even for a single machine.
171           Will require more resources because the DIR must send
172           FD a list of files/attribs, and the FD must search the
173           list and compare it for each file to be saved.
174
175 Item  6:  Allow FD to initiate a backup
176   Origin: Frank Volf (frank at deze dot org)
177   Date:   17 November 2005
178   Status:
179
180    What:  Provide some means, possibly by a restricted console that
181           allows a FD to initiate a backup, and that uses the connection
182           established by the FD to the Director for the backup so that
183           a Director that is firewalled can do the backup.
184
185    Why:   Makes backup of laptops much easier.
186
187 Item  7:  Improve Bacula's tape and drive usage and cleaning management.
188   Date:   8 November 2005, November 11, 2005
189   Origin: Adam Thornton <athornton at sinenomine dot net>,
190           Arno Lehmann <al at its-lehmann dot de>
191   Status:
192
193   What:   Make Bacula manage tape life cycle information, tape reuse
194           times and drive cleaning cycles.
195
196   Why:    All three parts of this project are important when operating
197           backups.
198           We need to know which tapes need replacement, and we need to
199           make sure the drives are cleaned when necessary.  While many
200           tape libraries and even autoloaders can handle all this
201           automatically, support by Bacula can be helpful for smaller
202           (older) libraries and single drives.  Limiting the number of
203           times a tape is used might prevent tape errors when using
204           tapes until the drives can't read it any more.  Also, checking
205           drive status during operation can prevent some failures (as I
206           [Arno] had to learn the hard way...)
207
208   Notes:  First, Bacula could (and even does, to some limited extent)
209           record tape and drive usage.  For tapes, the number of mounts,
210           the amount of data, and the time the tape has actually been
211           running could be recorded.  Data fields for Read and Write
212           time and Number of mounts already exist in the catalog (I'm
213           not sure if VolBytes is the sum of all bytes ever written to
214           that volume by Bacula).  This information can be important
215           when determining which media to replace.  The ability to mark
216           Volumes as "used up" after a given number of write cycles
217           should also be implemented so that a tape is never actually
218           worn out.  For the tape drives known to Bacula, similar
219           information is interesting to determine the device status and
220           expected life time: Time it's been Reading and Writing, number
221           of tape Loads / Unloads / Errors.  This information is not yet
222           recorded as far as I [Arno] know.  A new volume status would
223           be necessary for the new state, like "Used up" or "Worn out".
224           Volumes with this state could be used for restores, but not
225           for writing. These volumes should be migrated first (assuming
226           migration is implemented) and, once they are no longer needed,
227           could be moved to a Trash pool.
228
229           The next step would be to implement a drive cleaning setup.
230           Bacula already has knowledge about cleaning tapes.  Once it
231           has some information about cleaning cycles (measured in drive
232           run time, number of tapes used, or calender days, for example)
233           it can automatically execute tape cleaning (with an
234           autochanger, obviously) or ask for operator assistance loading
235           a cleaning tape.
236
237           The final step would be to implement TAPEALERT checks not only
238           when changing tapes and only sending the information to the
239           administrator, but rather checking after each tape error,
240           checking on a regular basis (for example after each tape
241           file), and also before unloading and after loading a new tape.
242           Then, depending on the drives TAPEALERT state and the known
243           drive cleaning state Bacula could automatically schedule later
244           cleaning, clean immediately, or inform the operator.
245
246           Implementing this would perhaps require another catalog change
247           and perhaps major changes in SD code and the DIR-SD protocol,
248           so I'd only consider this worth implementing if it would
249           actually be used or even needed by many people.
250
251           Implementation of these projects could happen in three distinct
252           sub-projects: Measuring Tape and Drive usage, retiring
253           volumes, and handling drive cleaning and TAPEALERTs.
254
255 Item  8:  Implement creation and maintenance of copy pools
256   Date:   27 November 2005
257   Origin: David Boyes (dboyes at sinenomine dot net)
258   Status:
259
260   What:   I would like Bacula to have the capability to write copies
261           of backed-up data on multiple physical volumes selected
262           from different pools without transferring the data
263           multiple times, and to accept any of the copy volumes
264           as valid for restore.
265
266   Why:    In many cases, businesses are required to keep offsite
267           copies of backup volumes, or just wish for simple
268           protection against a human operator dropping a storage
269           volume and damaging it. The ability to generate multiple
270           volumes in the course of a single backup job allows
271           customers to simple check out one copy and send it
272           offsite, marking it as out of changer or otherwise
273           unavailable. Currently, the library and magazine
274           management capability in Bacula does not make this process
275           simple.
276
277           Restores would use the copy of the data on the first
278           available volume, in order of copy pool chain definition.
279
280           This is also a major scalability issue -- as the number of
281           clients increases beyond several thousand, and the volume
282           of data increases, transferring the data multiple times to
283           produce additional copies of the backups will become
284           physically impossible due to transfer speed
285           issues. Generating multiple copies at server side will
286           become the only practical option. 
287
288   How:    I suspect that this will require adding a multiplexing
289           SD that appears to be a SD to a specific FD, but 1-n FDs
290           to the specific back end SDs managing the primary and copy
291           pools.  Storage pools will also need to acquire parameters
292           to define the pools to be used for copies. 
293
294   Notes:  I would commit some of my developers' time if we can agree
295           on the design and behavior. 
296
297 Item  9:  Implement new {Client}Run{Before|After}Job feature.
298   Date:   26 September 2005
299   Origin: Phil Stracchino
300   Status: Done. This has been implemented by Eric Bollengier
301
302   What:   Some time ago, there was a discussion of RunAfterJob and
303           ClientRunAfterJob, and the fact that they do not run after failed
304           jobs.  At the time, there was a suggestion to add a
305           RunAfterFailedJob directive (and, presumably, a matching
306           ClientRunAfterFailedJob directive), but to my knowledge these
307           were never implemented.
308
309           The current implementation doesn't permit to add new feature easily.
310
311           An alternate way of approaching the problem has just occurred to
312           me.  Suppose the RunBeforeJob and RunAfterJob directives were
313           expanded in a manner like this example:
314
315           RunScript {
316               Command = "/opt/bacula/etc/checkhost %c"
317               RunsOnClient = No          # default
318               AbortJobOnError = Yes      # default
319               RunsWhen = Before
320           }
321           RunScript {
322               Command = c:/bacula/systemstate.bat
323               RunsOnClient = yes
324               AbortJobOnError = No
325               RunsWhen = After
326               RunsOnFailure = yes
327           }
328
329           RunScript {
330               Command = c:/bacula/deletestatefile.bat
331               Target = rico-fd
332               RunsWhen = Always
333           }
334
335           It's now possible to specify more than 1 command per Job.
336           (you can stop your database and your webserver without a script)
337
338           ex :
339           Job {
340               Name = "Client1"
341               JobDefs = "DefaultJob"
342               Write Bootstrap = "/tmp/bacula/var/bacula/working/Client1.bsr"
343               FileSet = "Minimal"
344
345               RunBeforeJob = "echo test before ; echo test before2"       
346               RunBeforeJob = "echo test before (2nd time)"
347               RunBeforeJob = "echo test before (3rd time)"
348               RunAfterJob = "echo test after"
349               ClientRunAfterJob = "echo test after client"
350
351               RunScript {
352                 Command = "echo test RunScript in error"
353                 Runsonclient = yes
354                 RunsOnSuccess = no
355                 RunsOnFailure = yes
356                 RunsWhen = After            # never by default
357               }
358               RunScript {
359                 Command = "echo test RunScript on success"
360                 Runsonclient = yes
361                 RunsOnSuccess = yes # default
362                 RunsOnFailure = no  # default
363                 RunsWhen = After
364               }
365           }
366
367   Why:    It would be a significant change to the structure of the
368           directives, but allows for a lot more flexibility, including
369           RunAfter commands that will run regardless of whether the job
370           succeeds, or RunBefore tasks that still allow the job to run even
371           if that specific RunBefore fails.
372
373   Notes:  (More notes from Phil, Kern, David and Eric)
374           I would prefer to have a single new Resource called
375           RunScript.
376
377             RunsWhen = After|Before|Always
378             RunsAtJobLevels = All|Full|Diff|Inc # not yet implemented
379
380           The AbortJobOnError, RunsOnSuccess and RunsOnFailure directives
381           could be optional, and possibly RunWhen as well.
382
383           AbortJobOnError would be ignored unless RunsWhen was set to Before
384           and would default to Yes if omitted.
385           If AbortJobOnError was set to No, failure of the script
386           would still generate a warning.
387
388           RunsOnSuccess would be ignored unless RunsWhen was set to After
389           (or RunsBeforeJob set to No), and default to Yes.
390
391           RunsOnFailure would be ignored unless RunsWhen was set to After,
392           and default to No.
393
394           Allow having the before/after status on the script command
395           line so that the same script can be used both before/after.
396
397 Item 10:  Merge multiple backups (Synthetic Backup or Consolidation).
398   Origin: Marc Cousin and Eric Bollengier 
399   Date:   15 November 2005
400   Status: Waiting implementation. Depends on first implementing 
401           project Item 2 (Migration).
402
403   What:   A merged backup is a backup made without connecting to the Client.
404           It would be a Merge of existing backups into a single backup.
405           In effect, it is like a restore but to the backup medium.
406
407           For instance, say that last Sunday we made a full backup.  Then
408           all week long, we created incremental backups, in order to do
409           them fast.  Now comes Sunday again, and we need another full.
410           The merged backup makes it possible to do instead an incremental
411           backup (during the night for instance), and then create a merged
412           backup during the day, by using the full and incrementals from
413           the week.  The merged backup will be exactly like a full made
414           Sunday night on the tape, but the production interruption on the
415           Client will be minimal, as the Client will only have to send
416           incrementals.
417
418           In fact, if it's done correctly, you could merge all the
419           Incrementals into single Incremental, or all the Incrementals
420           and the last Differential into a new Differential, or the Full,
421           last differential and all the Incrementals into a new Full
422           backup.  And there is no need to involve the Client.
423
424   Why:    The benefit is that :
425           - the Client just does an incremental ;
426           - the merged backup on tape is just as a single full backup,
427             and can be restored very fast.
428
429           This is also a way of reducing the backup data since the old
430           data can then be pruned (or not) from the catalog, possibly
431           allowing older volumes to be recycled
432
433 Item 11:  Deletion of Disk-Based Bacula Volumes
434   Date:   Nov 25, 2005
435   Origin: Ross Boylan <RossBoylan at stanfordalumni dot org> (edited
436           by Kern)
437   Status:         
438
439    What:  Provide a way for Bacula to automatically remove Volumes
440           from the filesystem, or optionally to truncate them.
441           Obviously, the Volume must be pruned prior removal.
442
443   Why:    This would allow users more control over their Volumes and
444           prevent disk based volumes from consuming too much space.
445
446   Notes:  The following two directives might do the trick:
447
448           Volume Data Retention = <time period>
449           Remove Volume After = <time period>
450
451           The migration project should also remove a Volume that is
452           migrated. This might also work for tape Volumes.
453
454 Item 12:  Directive/mode to backup only file changes, not entire file
455   Date:   11 November 2005
456   Origin: Joshua Kugler <joshua dot kugler at uaf dot edu>
457           Marek Bajon <mbajon at bimsplus dot com dot pl>
458   Status: 
459
460   What:   Currently when a file changes, the entire file will be backed up in
461           the next incremental or full backup.  To save space on the tapes
462           it would be nice to have a mode whereby only the changes to the
463           file would be backed up when it is changed.
464
465   Why:    This would save lots of space when backing up large files such as 
466           logs, mbox files, Outlook PST files and the like.
467
468   Notes:  This would require the usage of disk-based volumes as comparing 
469           files would not be feasible using a tape drive.
470
471 Item 13:  Multiple threads in file daemon for the same job
472   Date:   27 November 2005
473   Origin: Ove Risberg (Ove.Risberg at octocode dot com)
474   Status:
475
476   What:   I want the file daemon to start multiple threads for a backup
477           job so the fastest possible backup can be made.
478
479           The file daemon could parse the FileSet information and start
480           one thread for each File entry located on a separate
481           filesystem.
482
483           A configuration option in the job section should be used to
484           enable or disable this feature. The configuration option could
485           specify the maximum number of threads in the file daemon.
486
487           If the theads could spool the data to separate spool files
488           the restore process will not be much slower.
489
490   Why:    Multiple concurrent backups of a large fileserver with many
491           disks and controllers will be much faster.
492
493   Notes:  I am willing to try to implement this but I will probably
494           need some help and advice.  (No problem -- Kern)
495
496 Item 14:  Implement red/black binary tree routines.
497   Date:   28 October 2005
498   Origin: Kern
499   Status: Class code is complete. Code needs to be integrated into
500           restore tree code.
501
502   What:   Implement a red/black binary tree class. This could 
503           then replace the current binary insert/search routines
504           used in the restore in memory tree.  This could significantly
505           speed up the creation of the in memory restore tree.
506
507   Why:    Performance enhancement.
508
509 Item 15:  Add support for FileSets in user directories  CACHEDIR.TAG
510   Origin: Norbert Kiesel <nkiesel at tbdnetworks dot com>
511   Date:   21 November 2005
512   Status: (I think this is better done using a Python event that I
513            will implement in version 1.39.x).
514
515   What:   CACHDIR.TAG is a proposal for identifying directories which
516           should be ignored for archiving/backup.  It works by ignoring
517           directory trees which have a file named CACHEDIR.TAG with a
518           specific content.  See
519           http://www.brynosaurus.com/cachedir/spec.html
520           for details.
521
522           From Peter Eriksson:
523           I suggest that if this is implemented (I've also asked for this
524           feature some year ago) that it is made compatible with Legato
525           Networkers ".nsr" files where you can specify a lot of options on
526           how to handle files/directories (including denying further
527           parsing of .nsr files lower down into the directory trees).  A
528           PDF version of the .nsr man page can be viewed at:
529
530           http://www.ifm.liu.se/~peter/nsr.pdf
531
532   Why:    It's a nice alternative to "exclude" patterns for directories
533           which don't have regular pathnames.  Also, it allows users to
534           control backup for themselves.  Implementation should be pretty
535           simple.  GNU tar >= 1.14 or so supports it, too.
536
537   Notes:  I envision this as an optional feature to a fileset
538           specification.
539
540
541 Item 16:  Implement extraction of Win32 BackupWrite data.
542   Origin: Thorsten Engel <thorsten.engel at matrix-computer dot com>
543   Date:   28 October 2005
544   Status: Done. Assigned to Thorsten. Implemented in current CVS
545
546   What:   This provides the Bacula File daemon with code that
547           can pick apart the stream output that Microsoft writes
548           for BackupWrite data, and thus the data can be read
549           and restored on non-Win32 machines.
550
551   Why:    BackupWrite data is the portable=no option in Win32
552           FileSets, and in previous Baculas, this data could
553           only be extracted using a Win32 FD. With this new code,
554           the Windows data can be extracted and restored on
555           any OS.
556
557
558 Item 18:  Implement a Python interface to the Bacula catalog.
559   Date:   28 October 2005
560   Origin: Kern
561   Status: 
562
563   What:   Implement an interface for Python scripts to access
564           the catalog through Bacula.
565
566   Why:    This will permit users to customize Bacula through
567           Python scripts.
568
569 Item 18:  Archival (removal) of User Files to Tape
570
571   Date:   Nov. 24/2005 
572
573   Origin: Ray Pengelly [ray at biomed dot queensu dot ca
574   Status: 
575
576   What:   The ability to archive data to storage based on certain parameters
577           such as age, size, or location.  Once the data has been written to
578           storage and logged it is then pruned from the originating
579           filesystem. Note! We are talking about user's files and not
580           Bacula Volumes.
581
582   Why:    This would allow fully automatic storage management which becomes
583           useful for large datastores.  It would also allow for auto-staging
584           from one media type to another.
585
586           Example 1) Medical imaging needs to store large amounts of data.
587           They decide to keep data on their servers for 6 months and then put
588           it away for long term storage.  The server then finds all files
589           older than 6 months writes them to tape.  The files are then removed
590           from the server.
591
592           Example 2) All data that hasn't been accessed in 2 months could be
593           moved from high-cost, fibre-channel disk storage to a low-cost
594           large-capacity SATA disk storage pool which doesn't have as quick of
595           access time.  Then after another 6 months (or possibly as one
596           storage pool gets full) data is migrated to Tape.
597
598 Item 19:  Add Plug-ins to the FileSet Include statements.
599   Date:   28 October 2005
600   Origin:
601   Status: Partially coded in 1.37 -- much more to do.
602
603   What:   Allow users to specify wild-card and/or regular
604           expressions to be matched in both the Include and
605           Exclude directives in a FileSet.  At the same time,
606           allow users to define plug-ins to be called (based on
607           regular expression/wild-card matching).
608
609   Why:    This would give the users the ultimate ability to control
610           how files are backed up/restored.  A user could write a
611           plug-in knows how to backup his Oracle database without
612           stopping/starting it, for example.
613
614 Item 20:  Implement more Python events in Bacula.
615   Date:   28 October 2005
616   Origin: 
617   Status: 
618
619   What:   Allow Python scripts to be called at more places 
620           within Bacula and provide additional access to Bacula
621           internal variables.
622
623   Why:    This will permit users to customize Bacula through
624           Python scripts.
625
626   Notes:  Recycle event
627           Scratch pool event
628           NeedVolume event
629           MediaFull event
630            
631           Also add a way to get a listing of currently running
632           jobs (possibly also scheduled jobs).
633
634
635 Item 21:  Quick release of FD-SD connection after backup.
636   Origin: Frank Volf (frank at deze dot org)
637   Date:   17 November 2005
638   Status:
639
640    What:  In the Bacula implementation a backup is finished after all data
641           and attributes are successfully written to storage.  When using a
642           tape backup it is very annoying that a backup can take a day,
643           simply because the current tape (or whatever) is full and the
644           administrator has not put a new one in.  During that time the
645           system cannot be taken off-line, because there is still an open
646           session between the storage daemon and the file daemon on the
647           client.
648
649           Although this is a very good strategy for making "safe backups"
650           This can be annoying for e.g.  laptops, that must remain
651           connected until the backup is completed.
652
653           Using a new feature called "migration" it will be possible to
654           spool first to harddisk (using a special 'spool' migration
655           scheme) and then migrate the backup to tape.
656
657           There is still the problem of getting the attributes committed.
658           If it takes a very long time to do, with the current code, the
659           job has not terminated, and the File daemon is not freed up.  The
660           Storage daemon should release the File daemon as soon as all the
661           file data and all the attributes have been sent to it (the SD).
662           Currently the SD waits until everything is on tape and all the
663           attributes are transmitted to the Director before signaling
664           completion to the FD. I don't think I would have any problem
665           changing this.  The reason is that even if the FD reports back to
666           the Dir that all is OK, the job will not terminate until the SD
667           has done the same thing -- so in a way keeping the SD-FD link
668           open to the very end is not really very productive ...
669
670    Why:   Makes backup of laptops much easier.
671
672 Item 22:  Permit multiple Media Types in an Autochanger
673   Origin: Kern
674   Status: Done. Implemented in 1.38.9 (I think).  
675
676   What:   Modify the Storage daemon so that multiple Media Types
677           can be specified in an autochanger. This would be somewhat
678           of a simplistic implementation in that each drive would
679           still be allowed to have only one Media Type.  However,
680           the Storage daemon will ensure that only a drive with
681           the Media Type that matches what the Director specifies
682           is chosen.
683
684   Why:    This will permit user with several different drive types
685           to make full use of their autochangers.
686
687 Item 23:  Allow different autochanger definitions for one autochanger.
688   Date:   28 October 2005
689   Origin: Kern
690   Status: 
691
692   What:   Currently, the autochanger script is locked based on
693           the autochanger. That is, if multiple drives are being
694           simultaneously used, the Storage daemon ensures that only
695           one drive at a time can access the mtx-changer script.
696           This change would base the locking on the control device,
697           rather than the autochanger. It would then permit two autochanger
698           definitions for the same autochanger, but with different 
699           drives. Logically, the autochanger could then be "partitioned"
700           for different jobs, clients, or class of jobs, and if the locking
701           is based on the control device (e.g. /dev/sg0) the mtx-changer
702           script will be locked appropriately.
703
704   Why:    This will permit users to partition autochangers for specific
705           use. It would also permit implementation of multiple Media
706           Types with no changes to the Storage daemon.
707
708 Item 24:  Automatic disabling of devices
709    Date:   2005-11-11
710    Origin: Peter Eriksson <peter at ifm.liu dot se>
711    Status:
712
713    What:  After a configurable amount of fatal errors with a tape drive
714           Bacula should automatically disable further use of a certain
715           tape drive. There should also be "disable"/"enable" commands in
716           the "bconsole" tool.
717
718    Why:   On a multi-drive jukebox there is a possibility of tape drives
719           going bad during large backups (needing a cleaning tape run,
720           tapes getting stuck). It would be advantageous if Bacula would
721           automatically disable further use of a problematic tape drive
722           after a configurable amount of errors has occurred.
723
724           An example: I have a multi-drive jukebox (6 drives, 380+ slots)
725           where tapes occasionally get stuck inside the drive. Bacula will
726           notice that the "mtx-changer" command will fail and then fail
727           any backup jobs trying to use that drive. However, it will still
728           keep on trying to run new jobs using that drive and fail -
729           forever, and thus failing lots and lots of jobs... Since we have
730           many drives Bacula could have just automatically disabled
731           further use of that drive and used one of the other ones
732           instead.
733
734 Item 25:  Implement huge exclude list support using hashing.
735   Date:   28 October 2005
736   Origin: Kern
737   Status: 
738
739   What:   Allow users to specify very large exclude list (currently
740           more than about 1000 files is too many).
741
742   Why:    This would give the users the ability to exclude all
743           files that are loaded with the OS (e.g. using rpms
744           or debs). If the user can restore the base OS from
745           CDs, there is no need to backup all those files. A
746           complete restore would be to restore the base OS, then
747           do a Bacula restore. By excluding the base OS files, the
748           backup set will be *much* smaller.
749
750
751 ============= Empty Feature Request form ===========
752 Item n:   One line summary ...
753   Date:   Date submitted 
754   Origin: Name and email of originator.
755   Status: 
756
757   What:   More detailed explanation ...
758
759   Why:    Why it is important ...
760
761   Notes:  Additional notes or features (omit if not used)
762 ============== End Feature Request form ==============
763
764
765 ===============================================
766 Feature requests submitted after cutoff for December 2005 vote
767   and not yet discussed.
768 ===============================================
769 Item n:   Allow skipping execution of Jobs
770   Date:   29 November 2005
771   Origin: Florian Schnabel <florian.schnabel at docufy dot de>
772   Status:
773
774      What: An easy option to skip a certain job  on a certain date.
775      Why:  You could then easily skip tape backups on holidays.  Especially
776            if you got no autochanger and can only fit one backup on a tape
777            that would be really handy, other jobs could proceed normally
778            and you won't get errors that way.
779
780 ===================================================
781
782 Item n: archive data
783
784   Origin: calvin streeting calvin at absentdream dot com
785   Date:   15/5/2006
786
787   What:   The abilty to archive to media (dvd/cd) in a uncompressd format
788           for dead filing (archiving not backing up)
789
790   Why:  At my works when jobs are finished and moved off of the main file
791         servers (raid based systems) onto a simple linux file server (ide based
792         system) so users can find old information without contacting the IT
793         dept.
794
795         So this data dosn't realy change it only gets added to,
796         But it also needs backing up.  At the moment it takes
797         about 8 hours to back up our servers (working data) so
798         rather than add more time to existing backups i am trying
799         to implement a system where we backup the acrhive data to
800         cd/dvd these disks would only need to be appended to
801         (burn only new/changed files to new disks for off site
802         storage).  basialy understand the differnce between
803         achive data and live data.
804
805   Notes: scan the data and email me when it needs burning divide
806           into predifind chunks keep a recored of what is on what
807           disk make me a label (simple php->mysql=>pdf stuff) i
808           could do this bit ability to save data uncompresed so
809           it can be read in any other system (future proof data)
810           save the catalog with the disk as some kind of menu
811           system 
812
813 Item :  Tray monitor window cleanups
814   Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
815   Date:   24 July 2006
816   Status:
817   What:   Resizeable and scrollable windows in the tray monitor.
818
819   Why:    With multiple clients, or with many jobs running, the displayed
820           window often ends up larger than the available screen, making
821           the trailing items difficult to read.
822
823    Notes:
824
825   Item :  Clustered file-daemons
826   Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
827   Date:   24 July 2006
828   Status:
829   What:   A "virtual" filedaemon, which is actually a cluster of real ones.
830
831   Why:    In the case of clustered filesystems (SAN setups, GFS, or OCFS2, etc)
832           multiple machines may have access to the same set of filesystems
833
834           For performance reasons, one may wish to initate backups from
835           several of these machines simultaneously, instead of just using
836           one backup source for the common clustered filesystem.
837
838           For obvious reasons, normally backups of $A-FD/$PATH and
839           B-FD/$PATH are treated as different backup sets. In this case
840           they are the same communal set.
841
842           Likewise when restoring, it would be easier to just specify
843           one of the cluster machines and let bacula decide which to use.
844
845           This can be faked to some extent using DNS round robin entries
846           and a virtual IP address, however it means "status client" will
847           always give bogus answers. Additionally there is no way of
848           spreading the load evenly among the servers.
849
850           What is required is something similar to the storage daemon
851           autochanger directives, so that Bacula can keep track of
852           operating backups/restores and direct new jobs to a "free"
853           client.
854
855    Notes:
856
857 Item :  Tray monitor window cleanups
858   Origin: Alan Brown ajb2 at mssl dot ucl dot ac dot uk
859   Date:   24 July 2006
860   Status:
861   What:   Resizeable and scrollable windows in the tray monitor.
862
863   Why:    With multiple clients, or with many jobs running, the displayed
864           window often ends up larger than the available screen, making
865           the trailing items difficult to read.
866
867   Notes:
868
869 Item:    Commercial database support
870   Origin: Russell Howe <russell_howe dot wreckage dot org>
871   Date:   26 July 2006
872   Status:
873
874   What:   It would be nice for the database backend to support more 
875           databases. I'm thinking of SQL Server at the moment, but I guess Oracle, 
876           DB2, MaxDB, etc are all candidates. SQL Server would presumably be 
877           implemented using FreeTDS or maybe an ODBC library?
878
879   Why:    We only really have one database server, which is MS SQL Server 
880           2000. Maintaining a second one for the backup software (we grew out of 
881           SQLite, which I liked, but which didn't work so well with our database 
882           size). We don't really have a machine with the resources to run 
883           postgres, and would rather only maintain a single DBMS. We're stuck with 
884           SQL Server because pretty much all the company's custom applications 
885           (written by consultants) are locked into SQL Server 2000. I can imagine 
886           this scenario is fairly common, and it would be nice to use the existing 
887           properly specced database server for storing Bacula's catalog, rather 
888           than having to run a second DBMS.
889
890
891 Item n:   Split documentation
892   Origin: Maxx <maxxatworkat gmail dot com>
893   Date:   27th July 2006
894   Status:
895
896   What:   Split documentation in several books
897
898   Why:    Bacula manual has now more than 600 pages, and looking for
899           implementation details is getting complicated.  I think
900           it would be good to split the single volume in two or
901           maybe three parts:
902
903           1) Introduction, requirements and tutorial, typically
904              are useful only until first installation time
905
906           2) Basic installation and configuration, with all the
907              gory details about the directives supported 3)
908              Advanced Bacula: testing, troubleshooting, GUI and
909              ancillary programs, security managements, scripting,
910              etc.
911
912   Notes:
913
914
915 </pre>
916
917         </td>
918 </tr>
919 </table>
920
921 <? require_once("inc/footer.php"); ?>