> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss- > boun...@opensolaris.org] On Behalf Of Yaverot > > >I recommend: > >When creating your new pool, use slices of the new disks, which are 99% of > >the size of the new disks instead of using the whole new disks. Because > >this is a more reliable way of avoiding the problem "my new replacement > disk > >for the failed disk is slightly smaller than the failed disk and therefore I > >can't replace." > > 1. While performance isn't my top priority, doesn't using slices make a > significant difference?
Somewhere in some guide, it says so. But the answer is no. If you look more closely at that guide (what is it, the best practices guide? or something else?) you'll see what it *really* says is "we don't recommend using slices, because sharing the hardware cache across multiple pools hurts performance" or "sharing cache across zfs and ufs hurts performance" or something like that. But if you're only using one big slice for 99% of the whole disk and not using any other slice, then that whole argument is irrelevant. Also, thanks to system ram cache, I contend that disk-based hardware cache is totally useless anyway. The disk hardware cache will never have a hit except in truly weird esoteric cases. In normal cases, all the disk sectors that were read recently enough to be in disk based hardware cache will also be in system ram cache, and therefore the system will not request that sector from the disk again. I know I did some benchmarking, with and without slices, and found no difference. I'd be interested if anyone in the world has a counterexample. I know how to generate such a scenario, but like I said, it's an esoteric corner case that's not important in reality. > 2. Doesn't snv_134 that I'm running already account for variances in these > nominally-same disks? Yes. (I don't know which build introduced it, so I'm not confirming b134 specifically, but it's in some build and higher.) But as evidenced by a recent thread from Robert Hartzell "cannot replace c10t0d0 with c10t0d0: device is too small" it doesn't always work. > 3. The market refuses to sell disks under $50, therefore I won't be able to > buy drives of 'matching' capacity anyway. Normally, when replacing matching capacity drives, it's either something you bought in advance (like a hotspare or coldspare), or received via warranty. Maybe it doesn't matter for you, but it matters for some people. > >I also recommend: > >In every pool, create some space reservation. So when and if you ever hit > >100% usage again and start to hit the system crash scenario, you can do a > >zfs destroy (snapshot) and delete the space reservation, in order to avoid > >the system crash scenario you just witnessed. Hopefully. > > 1. Why would tank being practically full affect management of other pools > and start the crash scenario I encountered? rpool & rpool/swap remained at > 1% use, the apparent trigger was doing a "zpool destroy others" which is > neither the rpool the system runs out of, nor tank. That wasn't the trigger - That was just the first symptom that you noticed. The actual trigger happened earlier, while tank was 100% full and some operations were still in progress. The precise trigger is difficult to identify, because it only sends the system into a long slow downward spiral. It doesn't cause immediate system failure. Generally by the time you notice any symptoms, it's already been spiraling downward for some time, so even if you know the right buttons to pull it out of the spiral, you won't know that you know the right buttons. Because after you press them, you still have to wait "for some time" for it to recover. I had the sun support rep tell me someone else had the same problem, and they waited a week and eventually it recovered. I wasn't able to wait that long. I power cycled and fixed it instantly. I don't know the answer to your question, "why would it behave that way." And it doesn't always happen. But I've certainly seen it a few times before. Notice how precisely I told you exactly what you should expect to happen next. It's a clear pattern, but not clear enough or common enough to get enough attention to get fixed, apparently. Long ago I opened bug reports with oracle support, but nobody seems to be doing anything about it. > 2. How can a zfs destroy ($snapshot) complete when both "zpool destroy" > and "zfs list" fail to complete? Precisely the problem. The zfs destroy snapshot also hangs. You're hosed until you reboot. But zfs destroy snapshot isn't the only way in the world to free up some space. You can also zfs set reservation=5G tank zfs set reservation=none tank When you're in the failure mode that you experienced, nobody has yet confirmed the ability or inability to set the reservation to none. IF IT WORKS, then you could immediately afterward do a zfs destroy snapshot. But most likely the reservation won't do any good anyway. But it doesn't hurt anything, and it's worth a try. Add one more failing backup parachute into your toolkit. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss