3 ms·
Actually ran into this while doing some experiments with ZFS & Postgres, some non-enterprise drives will pretend they wrote data when they didn’t and you can c
by hardwaresofton 4y ago
Actually ran into this while doing some experiments with ZFS & Postgres, some non-enterprise drives will pretend they wrote data when they didn’t and you can corrupt a even a rock-steady database like Postgres.
If you’re not afraid to lose some perf, you can disable volatile write cache on your non enterprise drive:
https://vadosware.io/post/everything-ive-seen-on-optimizing-postgres-on-zfs-on-linux/#solution-force-proper-disk-syncing https://vadosware.io/post/everything-ive-seen-on-optimizing-...
- layer8 4y agoThe link currently gives me a 404. Archive link: https://archive.is/xVKhx https://archive.is/xVKhx
- hardwaresofton 4y agoThe site looks up to me -- did you get a 404 at the browser level? Cert issue? [EDIT] Just checked Qualys and I've an A+ rating (have had TLS cert issues in the past though)... Uptime tools not reporting anything either.
- layer8 4y agoHmm, it’s only on one device. It gives a white page with only the text “404 page not found” in fixed-width font. It works when prepending “www.” to the domain.
- hardwaresofton 4y agoSuuuper weird... This might be an issue with old certs being stuck... Found an old IPv6 record, so maybe that device was preferring IPv6, and hit that record.
- layer8 4y agoYes, I actually got a certificate warning at first.
- Avamander 4y agoI've actually had the opposite, I want ZFS to ignore the massive amount of fsync calls things like chromium or regular desktop applications make (without becoming generally unsafe). I've resorted to preloading libeatmydata instead. The disks are PLP and the machine is behind an UPS, things shouldn't/don't have to hit the disk all the time.
- hardwaresofton 4y agooh well if you want ZFS to ignore the fsync calls... you could disable sync and rely on txg_timeout (default 5s) to write your state to disk. Not recommended, but this is one of the things I tried (I tuned it to 1s to be slightly safer): https://vadosware.io/post/everything-ive-seen-on-optimizing-postgres-on-zfs-on-linux/#update-20211221-results-from-zfs_txg_timeout1syncdisabledlogbiaslatency https://vadosware.io/post/everything-ive-seen-on-optimizing-... But you probably want to be very sure that your desktop applications are somewhat safe with their data/can recover from crashes... TIL of libeatmydata[0], if you're comfortable using that, you'd probably be comfortable disabling fsync on the datasets for those apps. [0]: https://github.com/stewartsmith/libeatmydata https://github.com/stewartsmith/libeatmydata
- hyc_symas 4y agoYeah, I explicitly LD_PRELOAD libeatmydata for a few things, like my web browser and before running a software upgrade. So much junk being overwritten multiple times, manpages regenerated, init ramdisks regenerated, over and over again in a single update pass.