ZFS: practicing failures on virtual hardware
Published by Jim Salter // May 16th, 2016
I always used to sweat, and sweat bullets, when it came time to replace a failed disk in ZFS. It happened infrequently enough that I never did remember the syntax quite right in between issues, and the last thing you want to do with production hardware and data is fumble around in a cold sweat – you want to know what the correct syntax for everything is ahead of time, and be practiced and confident. […]
Read Moretesting the resiliency of zfs set copies=n
Published by Jim Salter // May 9th, 2016
I decided to see how well ZFS copies=n would stand up to on-disk corruption today. Spoiler alert: not great. First step, I created a 1GB virtual disk, made a zpool out of it with 8K blocks, and set copies=2. me@locutus:~$ sudo qemu-img create -f qcow2 /data/test/copies/0.qcow2 1G me@locutus:~$ sudo qemu-nbd -c /dev/nbd0 /data/test/copies/0.qcow2 1G me@locutus:~$ sudo zpool create -oashift=12 test /data/test/copies/0.qcow2 me@locutus:~$ sudo zfs set copies=2 test Now, I wrote 400 1MB files to it […]
Read Morezfs: copies=n is not a substitute for device redundancy!
Published by Jim Salter // May 2nd, 2016
I’ve been seeing a lot of misinformation flying around the web lately about the zfs dataset-level feature copies=n. To be clear, dangerous misinformation. So dangerous, I’m going to go ahead and give you the punchline in the title of this post and in its first paragraph: copies=n does not give you device fault tolerance! Why does copies=n actually exist then? Well, it’s a sort of (extremely) poor cousin that helps give you a better chance […]
Read More