|Summary:||Install to zfs should have copies= option to provide some anti-bitrot protection|
|Product:||Base System||Reporter:||MMacD <scratch65535>|
|Component:||bin||Assignee:||freebsd-bugs (Nobody) <bugs>|
|Severity:||Affects Some People||CC:||rb, shawn.webb|
Description MMacD 2016-04-14 14:01:55 UTC
Building up a filesever with a zfs 3-way mirror for the sake of the anti-bitrot scrubbing, I wanted to install onto zfs as well, using copies=2 (or even =3) as a compromise between having no bitrot protection and consuming a second drive as a mirror. But there is no install option to do copies=. I decided to hack the install file myself, but then couldn't squeeze everything back into the same size iso it started with. I've never done release engineering, and don't have time to spend debugging things like that, so why it wouldn't cooperate remains a mystery to me and I ended up installing to ufs as my only practical option.
Comment 1 Shawn Webb 2016-04-14 15:05:22 UTC
Instead of prompting for the copies attribute, zfsinstall could have generic "set these zpool options" and "set these zfs options for the top-level dataset" prompts. You'd specify your own options that would get added as -oname=value arguments to `zpool create [Pool]` in the case of the former prompt and `zfs set [TopLevelDatasetOfPool]` in the case of the latter. But I'm not too sure I like that idea, either. Either way, it's just an idea to throw around.
Comment 2 MMacD 2016-04-15 14:22:21 UTC
(In reply to Shawn Webb from comment #1) That'd be okay with me, probably even better than my idea if the installer sanity-checked the options chosen and complained if there was some craziness.
Comment 3 Mark Linimon 2016-04-18 00:45:46 UTC
Comment 4 Bob Bishop 2017-05-04 12:17:39 UTC
A quick hack to work around this is: Start the installer, select Shell (not Install). Fire up csh and start bsdinstall from that. Proceed with the installation as normal, but... ...when the installer starts checking the distfiles, hit ^Z Now you can run `zfs set copies=2 zroot' or whatever. Then `fg' to resume bsdinstall and complete the installation.