bob_zim

joined 2 years ago
[–] bob_zim@infosec.exchange 2 points 1 month ago

@poinck Once you add a raidz vdev to a pool, you can’t remove the mirror. You’d be stuck with the mismatch until the whole pool is destroyed and rebuilt. This isn’t a technical problem, but it makes maintenance more painful (which two drive bays are the mirror, again?). If you want raidz, you should really start with it to save yourself future pain.

You also can’t increase the fault tolerance of a raidz vdev. That is, you can’t take a raidz1 and add a drive to make it a raidz2.

I personally don’t trust single-fault-tolerant vdevs. Resilvering takes long enough I want double fault tolerance for all spinning disks bigger than maybe 4 TB. That means raidz2 or three-member mirrors.

[–] bob_zim@infosec.exchange 2 points 1 month ago (2 children)

@poinck I wouldn’t do a mirror and a Z2 in the same pool for fault tolerance reasons. Ideally, all vdevs in a pool should be able to tolerate the same number of faulted devices.

A pool of mirrors has three major advantages:

  1. Each disk can read independently, so you can get really high random read performance. In contrast, all disks in a raidz have to do the same thing at the same time. This can be a big deal for a pool of SSDs.
  2. Write performance of a pool correlates to the number of vdevs (with the exception of draid). A pool of mirrors typically gives you more vdevs, so it gets higher random write performance.
  3. If the pool has only ever contained mirrors, you can *remove* a mirror from the pool as long as you have enough capacity. The data will be evacuated to other vdevs.

ARC should prevent the disks from needing to be read often, minimizing advantage 1 at the cost of RAM. With transaction grouping, ZFS should only see random write load with sync writes, and a log vdev turns those into sequential writes on your pool devices, minimizing advantage 2.

With recent versions of ZFS, you can expand a raidz vdev a drive at a time. You could start a raidz2 with three drives (one drive of capacity), then add one drive at a time. There are some limitations with this, so research it further before relying on it.

[–] bob_zim@infosec.exchange 2 points 7 months ago* (last edited 7 months ago)

@0x0 3.5” SATA, 2.5” SATA, and M.2 SATA are all the same speed (assuming they’re all the same version of the SATA specification). The MX500 is a SATA Drive, so it will have the same performance no matter which way you connect it.

For performance vdevs (cache, dedup, log, or special) to improve performance, they need to be noticeably faster than the capacity devices. For example, a SATA SSD makes a good performance vdev for a pool which gets its capacity from spinning disks. Since your pool is already SATA SSDs, a SATA SSD performance vdev won’t help. For a performance vdev to help you, it would have to be NVMe.

[–] bob_zim@infosec.exchange 1 points 10 months ago

@hacks4pancakes@infosec.exchange @leadegroot@bne.social Maybe do it in exchange for evidence of a $10 donation to a particular charity? As long as you don’t try to claim a tax deduction for donating your time to the charity, it would be hard to construe that as a visa violation.

Just a thought.

[–] bob_zim@infosec.exchange 2 points 10 months ago (1 children)

@SexualPolytope Unfortunately, that’s not possible. When you add a special device, all metadata (which is to say the filesystem tree itself) is written only to the special device.

This *can be okay*, as long as you have a good backup strategy. I would be comfortable using a single special device for a desktop which I back up to some other pool, for example.