It is possible but inconvenient to manually clone a hard disk drive remotely, using dd and netcat. der Mouse, a Montreal-based NetBSD developer, has developed tools that allow for automated, remote partition-level cloning to occur automatically on an opportunistic basis. This facility can be used to maintain complete duplicates of remote client laptop drives to a server system. This network mirroring facility will be presented at BSDCAN 2005 in Ottawa, ON on May 13-15.
The facility has three main components: a client-side kernel component that monitors disk drive writes, a client-side userland program that initiates and handles client to server communication, and a server-side userland program that accepts incoming TCP connections and handles incoming encrypted data streams from multiple clients.
The system operates in a filesystem-agnostic basis, using 512 byte blocks as a lowest common denominator unit of exchange between client and server. At each client to server connection, the application identifies and maps changes to disk block states. Changed blocks are then encrypted and sent to the server. This indicates that a user could open his or her laptop in an airport, establish a WiFi link to an open access point, and remotely update their laptop backup without effort, knowledge or even good intentions.
The code is being released into the public domain free of license restrictions in any form. The initial proof of concept code has been written to NetBSD, but der Mouse expects the code to be easily portable to systems that allow hooks to be inserted into disk driver code. The code can be accessed via anonymous FTP at ftp.rodents.montreal.qc.ca:/mouse/livebackup/.
On May 13-14 at the University of Ottawa will be hosting BSDCAN 2005. BSDCAN 2005 is a technical conference for developers and people interested in the technology behind the BSD Operating Systems FreeBSD, NetBSD and OpenBSD.
For more information:
Live Network Backup
email: der Mouse <mouse @ Rodents.Montreal.QC.CA>
email: Dan Langille <info @ bsdcan.org>