> On Apr 26, 2007, at 8:16 AM, Ryan Novosielski wrote: > > This has been rejected before, and the reason being that you really > > don't want to have to have a database in order to read your tapes.
I would disagree with you here. What I want is to get back to a controlled restore process that non-system admin people can run as quickly as I possibly can. I need to get the tool working ASAP, then I can hand it over to the operators to do the rest of the restores while I go fix other important stuff, without worrying that they'll mount the wrong tape or restore the wrong stuff. Handling the storage of the database contents is what the standalone utilities are for. Dump the database to a separate pool of tapes, possibly with the binaries and DBMS engine. In a disaster, use brestore (or tar, if one has been really paranoid), manually insert the tape containing the database and binaries, restore those, bring up the database, and start the full restore. Brestore already takes command line arguments for all the necessary information for the database restore; once that's back, then you've got the data you need to run normally. Extra points if the client configuration data is also stored in the database: I get an OS booted on the client box, put a Bacula client on it and give it the client ID and address of the database server. Boom, restore, back in business. This is a typical incremental DR bootstrap restore technique for any large organization, nothing unique here. Nothing changes the tape format of the data, and it's simpler than recreating the config files from scratch and recreating the database by reading all the tapes (which may be a LOT of tapes in a large-scale deployment -- I've got more than 5,000 Bacula data tapes in one location alone). With this approach, you only need know which tape holds the latest database backup, rather than what each data tape holds -- it also makes it easier to duplicate it and send it offsite. Prevents accidentally restoring the wrong data, too -- or worst case, you restore an old database backup, which is easily remedied. > > If > > you have an emergency that you need to recover from, the ability to > > put > > the config files in a directory and take off running is rather > > important. So you're either a) recreating the config from scratch, or b) restoring the config from somewhere else. A is likely to cause you problems in large deployments in that it relies on having all the necessary configuration information available, including encryption keys and certificates, in a highly chaotic situation, and isn't B pretty much what I just suggested? This is going to be even more complex with encrypted files and tapes. In that scenario, you may not be ABLE to read the tapes to rebuild the database. Last, how can we get configuration data to incorporate into a CMDB if we have to interrogate every single machine to get a configuration picture? Better we start thinking about that now, if Bacula is going to make it in the enterprise space. > Brainstorming idea: XML with Schema validation? > > * The config would be a plain file and portable. Ugh. "plain XML" is a matter of opinion -- XML of any real complexity couldn't be hand-coded. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users