It would be really a powerfull feature to have a BackupPC slave server
feature.
The feature would consist of having BackupPC data (*pool) synced to a slave
server so in case of disaster on one site, the data can be restored from the
other site.
Lets take an example to be more clear and I'll explain how (I think) it could
be implemented into BackupPC.
Let say you have a french site FR and a UK site UK
On site FR, you have 3 computers FR1 FR2 and FR3
On UK site you have 5 Computers: UK1 UK2 ... UK5
then you setup 2 BackupPC servers in both sites:
BackupPC_FR backups FR1 FR2 FR3
and BackupPC_UK backups UK1 UK2 ... UK5
If one of thoses site has a problem, you have to restore a backuppc server
before you can restore associated PC which can be a long process.
Now lets say that you declare BackupPC_FR as the slave of BackupPC_UK
and BackupPC_UK as the slave of BackupPC_FR
At the end, FR1 .. FR3 and UK1 ... UK5 would be stored on both sites but in a
different (and optimized) way as if they were backed up twice.
HOW? Here comes my idea (that of course is far from being complete and can
even be stupid if I've missed something). Anyway, here it is:
In the host files on BackupPC_FR, one more row could be added saying its a
slave PC or not. this would permit admin from BackupPC_FR to see UK1 ... UK5
in its admin interface and restore remotely data (from FR pool or the UK pool
if possible/available).
At backup time, each backuppc servers would only schedul backup for non slave
pc. BackupPC_UK would check for UK1 to UK5 and BackupPC_FR would check for
FR1 FR2 and FR3.
Then, at nightly job time, the BackupPC_nightly job would act in the following
manner when checking files.
if the file exists, the localy create hard link as usual and tel to the slave
backuppc server to do the same.
It it's a new file, then create the compressed MD5sum named version and send
it to the remote backuppc for storage.
Of course to avoid nightly job being locked until transfer finishes, a spool
could be created with orders like (create this link or this is a new file,
store it as xxx and hardlink for this slave pc).
Of course, some sync between both nightly jobs may have to be put in place to
avoid loops when handleing the following situation: you send a document to
users of UK2 UK3 and FR1, thus chance to have that file on those 3 PC, then
if both nightly jobs try to send the file to each slave, it may result in the
file being transfered for nothing for slave UK3 by BackupPC_UK to BackupPC_FR
before the nightly job of BackupPC_FR discover that the file was stored
localy in the FR1 PC.
The benefits would be:
- transfert between the 2 sites is reduced to the minimum (cpool)
- transfert done nightly thus don't need to backup twice
- optimisation of the single instance storage across sites
- fast DRP. Users can connect using a VPN to the corporate network and access
there data from the slave server even if the primary site is still burning.
- no need to have offsite backups anymore
- no need to buy tapes, maintain tape library or do some disk dumps for
backuppc backup.
- If one admin guy on one site wants some hollidays, his collegue on the other
site can manage the restoration on remote site.
The showstoppers that may arrise:
- may require a minimum bandwidth between sites to allow the transfer spool to
get empty before next full (it may take some days for the full to transfer,
but it should shrink when tranfering incrs and get empty before next full is
run. otherwise it meanse that it'll will grow forever and crash).
- potentialy may trigger some perfs problems
Of course also, there are surely many other strange things to handle and maybe
showstoppers; this is a simple mail that cannot describe and sort out all
this feature implementation, but I'm posting this idea in the hope someone
finds it interresting and feseable as I think it would be a great feature for
an "enterprise grade" software.
Best regards.
Olivier.
--
Olivier LAHAYE
Motorola labs IT manager
Saclay, FRANCE
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
BackupPC-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/backuppc-users
http://backuppc.sourceforge.net/