On Wednesday 10 September 2008 12:15:24 James Harper wrote: > > Yes, I haven't figured out exactly how we will handle this. From what > > I > > > read > > on the web, if you are doing a VSS backup (Bacula is backing up the > > whole > > > system), Exchange is sort of blocked or locked, so doing the normal > > API > > > calls > > to Exchange either fail or won't work correctly. As a consequence, we > > need > > to ensure that VSS is not enabled at the same time that the plugin is > > running. > > I'm not completely sure, but I think that the locking only occurs once a > VSS backup of Exchange is started. Provided we exclude the Exchange > database and log files from the VSS part of the backup there shouldn't > be a problem. We need to back up the folders containing the Exchange > data, just not the data itself though, otherwise the restore breaks if > you are doing a full system restore (you can just create the folders > yourself of course, if they don't already exist because you omitted them > from the restore).
Yes, locking occurse only once a VSS backup of Exchange is started. However, it works by us saying we want to backup drive C, and/or D, ... then all the the VSS aware programs are called by the OS to put them in "backup" mode, and so Exchange will be called and it will flush everything to disk and continue doing disk writes until the backup operation is terminated by Bacula. This means that Bacula must start VSS, do a backup, stop VSS then call the plugin to do the Exchange backup. > > One other thing worth mentioning, if you are doing a baremetal restore, > you need to restore the Exchange databases after you have restored your > system and rebooted anyway, as the API requires that Exchange itself be > running. Yes, that is another issue. At worst, if someone does a bare metal restore and the plugin tries to restore Exchange and Exchange is not running, it will fail, and the user will then need finish the restore, start Exchange and run a restore of Exchange -- all this seems to imply that it is probably better to do Bacula plugin based backups in a separate job from the normal backup. > So maybe the documented procedure should be to create a second > fileset and restore it once the system is running? Otherwise excluding > specific files from the restore would be a manual step. Yes, that would work, or as I note, a separate job -- much like I currently run my Bacula catalog backup as a separate job. > > In many ways I like my approach of a completely separate agent, but I > understand why that isn't really a workable long term solution, unless > we turn the problem on its head and make the bacula api something that > get's imported into an agent as a separate dll rather than the other way > around... > I am not sure why a completely separate agent gives any advantage over the current plugin scheme. The plugin really has quite a lot of control. When we get into this some more, please let me know when you find explicit examples of why the separate FD worked better because I hope that we can make sure that is not the case. In any case, the current plugin method seems to be what virtually all the commercial vendors do with their "modules" or "agents" so I don't think there is anything flawed about the basic plugin idea -- the details of the plugins are another issue. I am still not at all happy about the way it passes variables back and forth (i.e. the plugin can get and set a good number of Bacula variables -- e.g. it can request the level, ...). I'll probably add a new variable so the plugin can find out if VSS is running. Best regards, Kern ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Bacula-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bacula-devel
