[Box Backup] BoxBackup Server Side Management Specs (Draft 0.01)
Ben Summers
boxbackup@fluffy.co.uk
Wed, 22 Sep 2004 15:54:11 +0100
On 22 Sep 2004, at 11:36, Martin Ebourne wrote:
> Ben Summers <ben@fluffy.co.uk> wrote:
>> Will these names replace the account numbers on the client side too?
>> So
>> instead of getting an account number from your administrator before
>> configuring and generating the certificate, you would just use the
>> symbolic name of your host?
>
> I think the complete removal of account numbers in favour of names
> would be a
> definite usability enhancement. The default of using client hostname
> as the
> backup name makes sense and is what I'd do.
>
> Regarding upgradability/backwards compatability, rather than operating
> with
> names and numbers I'd simply relax restrictions on the number to make
> it a
> name. Thus upgraded systems would carry on functioning with their
> 'number'
> and admins would be free to change the number to a more suitable name
> at
> their leisure.
Account numbers are rather essential in the design, so will have to
stay there. There needs to be a translation layer at some point.
>
>>> 2. Client groups.
>
> One of the features of a group I think would be most useful, but I
> didn't see
> from the original post, would be the ability to set disk usage
> groupwide.
> ie. You could still set on an individual client basis, but you could
> also
> set a (presumably more restrictive) groupwide usage too, which would
> apply
> to all of those clients in aggregate.
That's a good point. How housekeeping will know which account to trim
when the group goes over usage is an interesting question though.
>
>>> When a bbackup client daemon dies unexpectedly, the bbstored server
>>> will
>>> notice that there is no heart beat message from the client after
>>> approximately 2 x the heart beat interval. It will then notify backup
>>> administrators using the NotifySysAdmin.sh mechanism, or one very
>>> much
>>> like it.
>
> Whatever the mechanism is, it would be useful to have some way to send
> the
> email to a different address depending on the group.
>
> Also, I don't see here what happens when bbstored dies. If all the
> state for
> the clients is held in memory, that will be lost. I guess it would
> need to
> be persisted to disk. If a database was in use that would seem to be
> the
> right place.
Yes.
>
> As to 'database', I always seem to end up running a SQL database on my
> machines, but I don't think that should be a requirement. If a 'real'
> database is decided upon, the way to go could be SQLite - or even
> better if
> you use libdbi that abstracts the SQL databases quite nicely and lets
> you
> use any of them, including SQLite (which can be built in).
> Alternatively
> there's always db4 at a push.
Absolutely, a generic interface would be the way to go. SQLite for
small installations, a database, perhaps on another machine, for larger
ones.
>
>> The current implementation will connect to the server every so many
>> seconds (the UpdateStoreInterval) in lazy mode, or whenever the sync
>> is
>> started in snapshot mode. If there was an option to always connect to
>> the server, instead of just when there was data to update, and sent in
>> the additional information above, would this be a suitable mechanism?
>
> That would sound reasonable, and reduced complexity is always a good
> aim.
I'm glad you agree.
>
>> And of course, make the database so you can store information for many
>> bbstored daemons in it.
>
> Are there situations where it is beneficial to run multiple bbstored
> daemons?
If you have multiple independent backup servers, then running one
daemon on each could be considered beneficial.
> All I can think of is to store the backed up data at a different place
> in
> the filesystem.
You can set multiple raidfile sets for that.
> In which case this sounds like the sort of thing that should
> be settable on a groupwide basis, and then one daemon could suffice.
>
> One final point, I would like to be able to control this 'watchdog'
> functionality from the client end if possible,
Whether or not it connects on every scan will be set in the client
configuration file.
> and the same for individual
> client diskspace usage within a group. You quite possibly don't have
> shell
> access to the server, but might need to change this stuff. On the other
> hand, the box owner is likely to want to set the limits on the group
> for
> obvious reasons.
You could always have a little web interface to change the settings on
the server. I suspect that splitting functionality between the client
and server too much would just complicate things.
Ben