At work I'm slowly preparing to attempt recovery and diagnosis for a user of an old version of FileMaker. She opens a particular database during only one part of a year. Her first annual visit nearly always finds yet another corruption – yet another requirement to use the recovery feature that's integral to that old FileMaker. Until today I assumed relatively exotic explanations for corruption (side note: at File Shoppe | FileMaker | Servoy I found two excellent articles for FileMaker developers).
Whenever I provide I.T. support to a user of Windows, I push all thoughts of ZFS from my mind, because I know that they can't easily benefit from ZFS.
Wrong, Graham! (It's true that most users of Microsoft products can't easily benefit from ZFS, but it's wrong of me to forget the benefits.)
Today I remembered: one of the two File Shoppe articles links to File Recovery Enhancements In FileMaker Pro 10 | FileMaker. I previously ignored that page, because an upgrade to 10 is unlikely, but the page is essentially about:
- damaged and invalid blocks.
The blocks to which FileMaker refers are not blocks on disk. FileMaker uses the term differently.
Back to our use case, the repeatedly corrupted database. For the foreseeable future, the affected file will continue to be served with SMB/CIFS to Apple and Windows clients. In our Microsoft-friendly corporate environment this almost certainly means:
- for SMB service, a version of Windows less than Windows 8 Server
- for the file system of that Windows server, NTFS
– and with the limitations of NTFS, no effective way to combat file corruption. So today I decided to not waste too much time in the Microsoft environments.
There's Microsoft's Resilient File System (ReFS) in Windows Server® 2012, and so on, way off-topic from ZEVO … I find good technical criticisms of ReFS elsewhere, but I don't know whether anyone has compared features of ReFS with features of ZFS. If not already done, the comparison could be useful.
Why this post?
A plain English summary, for newbies:
- NTFS is not resilient to corruption of files
- for resilience, ZFS is better than NTFS
- if a file server uses ZFS (maybe a Mac with ZEVO for ZFS), the risk of corruption will be significantly reduced.