I am setting up an encrypted fileserver with off-site backup, for one reason and another which I won't go into here for the sake of brevity, I need to block-level snapshot partitions, file-level snapshots as I believe are provided in UFS won't do since the partitions will contain large monolithic files filling the entire partition (which will be mounted by the users via loopback and dm-crypt).
Hence the problem is that if one or more of these large (say 500GB) monoliths is mounted at the time the backup is taking place, and snapshots are file-level, then any change to the file will immediately trigger the OS to try and create a copy of a 500GB file so as to snapshot it as it has changed - no good to me I am afraid, changes during backups will likely be small (can be controlled to be no more than say 10GB of data changing, so no problem to allocate snapshotting space), but _MUST_ be represented at the block level so that I can freeze the filesystem pre-backup, then run my backup in parallel while the user continues to alter the monolithic file with impunity. Is there the capability for block-level snapshots in openBSD, if not in bare OBSD can I do it with another filesystem than UFS? I have heard of the HAMMER FS, it looks good if a bit new and untested, perhaps that does block level snapshots - however it seems a bit new and untested for my tastes so unless there is a better alternative I'd rather not go down that route. I am very keen to run OBSD on this, but if it's absolutely impractical to do so I'd also welcome suggestions of other ways to do this in FreeBSD. Cheers Paul