> >If you disable the ZIL, the filesystem still stays correct in RAM, and > the > >only way you lose any data such as you've described, is to have an > >ungraceful power down or reboot. > > >The advice I would give is: Do zfs autosnapshots frequently (say ... > every > >5 minutes, keeping the most recent 2 hours of snaps) and then run with > no > >ZIL. If you have an ungraceful shutdown or reboot, rollback to the > latest > >snapshot ... and rollback once more for good measure. As long as you > can > >afford to risk 5-10 minutes of the most recent work after a crash, > then you > >can get a 10x performance boost most of the time, and no risk of the > >aforementioned data corruption. > > Why do you need the rollback? The current filesystems have correct and > consistent data; not different from the last two snapshots. > (Snapshots can happen in the middle of untarring) > > The difference between running with or without ZIL is whether the > client has lost data when the server reboots; not different from using > Linux as an NFS server.
If you have an ungraceful shutdown in the middle of writing stuff, while the ZIL is disabled, then you have corrupt data. Could be files that are partially written. Could be wrong permissions or attributes on files. Could be missing files or directories. Or some other problem. Some changes from the last 1 second of operation before crash might be written, while some changes from the last 4 seconds might be still unwritten. This is data corruption, which could be worse than losing a few minutes of changes. At least, if you rollback, you know the data is consistent, and you know what you lost. You won't continue having more losses afterward caused by inconsistent data on disk. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss