zfs special vdev

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

elag

Member
Dec 1, 2018
79
14
8
I am looking to build a new server, and I am considering to use a special vdev for speeding up access to my spinning rust pool (2*6TB in mirror). I do not seem to be able to find if SSDs for special VDEVs require PLP or not? Anybody have an idea whether PLP is essential or if I can use some more low end SSDs?
 

thulle

Member
Apr 11, 2019
48
18
8
Essential for what? Losing the metadata for the filesystem would be bad, but depending on the data a loss of the last 5 seconds maybe won't be much of an issue.
 

gea

Well-Known Member
Dec 31, 2010
3,141
1,182
113
DE
A ZFS pool is build from vdevs (Raid-groups). Data is speead over them.The only read performance
relevant part of a pool is L2Arc that extends the rambased Arc readcache. With enough Ram you do not need or want L2Arc. As this is for read only, plp is not relevant.

Another special device is Slog that protects the rambased write cache. This must be really fast and must have PLPor it is quite senseless.

For regular SSDs in a datapool it depends. If you need a secure write behaviour, every committed write from the pool, either from writecache or Slog after a crash must be on SSD. Without PLP ZFS cannot guarantee that data is on disk. Additionally you have background tasks on SSDs like garbage collection. On a poweroutage without PLP your data is not completely secure.

If this is a production machine, do not use SSDs without a "qualified PLP" ex from Intel, Samsung, WD etc.(datacenter editions).
 

zrav

New Member
Sep 26, 2019
3
2
3
@gea: OP is talking about the allocation classes feature, which creates a vdev denoted "special", consisting of faster storage to service metadata and, if enabled, small blocks, speeding up pool performace. The feature is superior to L2ARC in nearly every way.

@OP: Every pool has a ZIL and in this context I believe it is treated as metadata (can someone confirm?), meaning that it would go to the special vdev, where SSDs with PLP would give you the benefit of not losing a flushed transaction group on powerloss.
 

elag

Member
Dec 1, 2018
79
14
8
@gea: OP is talking about the allocation classes feature, which creates a vdev denoted "special", consisting of faster storage to service metadata and, if enabled, small blocks, speeding up pool performace. The feature is superior to L2ARC in nearly every way.

@OP: Every pool has a ZIL and in this context I believe it is treated as metadata (can someone confirm?), meaning that it would go to the special vdev, where SSDs with PLP would give you the benefit of not losing a flushed transaction group on powerloss.
Thanks for your reply. I was indeed referring to the allocation classes/ special VDEV feature, to avoid a L2ARC.
I am planning to move to ZFS on linux (Centos 8).
L2ARC would not be useful on a fairly low usage pool (with probably 48G allocated to the ARC) .

It would indeed be good to get a confirmation in whether the ZIL goes into the special VDEV. My understanding is actually that a separate SLOG still makes sense.
My SLOG will be on an Optane 800P, with the special VDEV for the metadata on a mirror of 2 PLP SSDs. So it would be good to know if the SLOG will still be used in that case.
 

gea

Well-Known Member
Dec 31, 2010
3,141
1,182
113
DE
Yes, I did not relate your question to the new allocation classes feature.

As I see it, the new feature helps to improve performance with special vdevs for metadata and small datablocks. It may even make an Slog not needed but as an Slog requires superiour performance with only a low capacity like 10 GB, it may be make sense to have a high performance but higher capacity vdev ex for metadate and a separate ultra high performance Slog. (on a slow disk pool)