vfs.zfs.txg.timeout defaults to 5 seconds, but it can be set (much) higher if you wish.
I don't care if I lose up to a minute or two of work instead of <=5 seconds in the face of an unplanned failure, so I set it to a couple of minutes on my desktop rig years ago and never looked back.
AFAIK there's also no harm in setting it both dynamically and randomly. I haven't tried it, but periodically setting vfs.zfs.txg.timeout to a random value between [say] 60 and 240 seconds should go a long ways towards making it easier to ignore by breaking up the regularity.
(Or: Quieter disks. Some of mine are very loud; some are very quiet. Same box, same pool, just different models.
Or: Put the disks somewhere else, away from the user and the sleeping guests.)
vfs.zfs.txg.timeout defaults to 5 seconds, but it can be set (much) higher if you wish.
I don't care if I lose up to a minute or two of work instead of <=5 seconds in the face of an unplanned failure, so I set it to a couple of minutes on my desktop rig years ago and never looked back.
AFAIK there's also no harm in setting it both dynamically and randomly. I haven't tried it, but periodically setting vfs.zfs.txg.timeout to a random value between [say] 60 and 240 seconds should go a long ways towards making it easier to ignore by breaking up the regularity.
(Or: Quieter disks. Some of mine are very loud; some are very quiet. Same box, same pool, just different models.
Or: Put the disks somewhere else, away from the user and the sleeping guests.)