[TriLUG] Anyone here know much about kernel programming?
Len.Boyle at sas.com
Thu Jul 14 23:28:08 EDT 2011
I just reread this and wanted to add a little bit. At least by my understanding of things. Please correct me if you spot errors.
For windows as written up below, the open file backup option is a snapshot of the data as written to disk at the time of the snapshot.
The problem with this simple method and the Unix snapshot is that they are not a consistent backup for many files. It only catches what has been written to disk.
Many apps hold all or some of the pages in memory and only write them to disk when the file is closed or after an app command to flush the data to disk is issued.
Both are good in that it stops the view as seen by the backup software from changing while the backup is processed. But the process does not force the apps to write there updated data to disk for the backup.
For windows Microsoft has added a framework wherein an application can have writers which will work with the framework to build a consistent state.
So a backup app can ask the app to flush updates and metadata to disk and freeze updates to the production disk.
When the app signals that the disk is ready a snapshot will be taken.
When the framework tells the backup software that the snapshot is complete
The backup software can then back up the snapshot.
When the backup finishes the snapshot is released.
You can script this on Unix with products like Oracle's RMAN program for backing up Oracle data bases.
Maybe what we need is a common framework across all o/s's and common apps.
From: trilug-bounces at trilug.org [mailto:trilug-bounces at trilug.org] On Behalf Of Paul Bennett
Sent: Monday, July 11, 2011 1:50 PM
To: trilug at trilug.org
Subject: [TriLUG] Anyone here know much about kernel programming?
Just had a thought about backups...
On Windows, you can get a number of products that sit between the filesystem driver and the block device driver. While a backup is occurring, this extra driver caches writes to the disk, and presents them back as successful (and returns the "written" data to the filesystem driver if a read is requested). Once a block is backed up, any writes for that block are flushed to the block device, and freed from the cache.
The net result? Invisible, consistent backups on a live running system.
I wonder whether Linux has something that can do that, instead of having to script up "take snapshot, backup snapshot, blow snapshot away" stuff?
If not, I hereby suggest that someone should make one. It'd have to be something in the kernel, probably fairly deeply in the kernel.
Anyone here got enough experience on kernel programming to help me learn how to make an equivalent dealie in the Linux kernel?
This message was sent to: len.boyle at sas.com <len.boyle at sas.com> To unsubscribe, send a blank message to trilug-leave at trilug.org from that address.
TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug
Unsubscribe or edit options on the web : http://www.trilug.org/mailman/options/trilug/len.boyle%40sas.com
TriLUG FAQ : http://www.trilug.org/wiki/Frequently_Asked_Questions
More information about the TriLUG