zfs special vdev

Discussion in 'Linux Admins, Storage and Virtualization' started by elag, Sep 24, 2019.

  1. elag

    elag Member

    Joined:
    Dec 1, 2018
    Messages:
    62
    Likes Received:
    9
    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?
     
    #1
  2. thulle

    thulle New Member

    Joined:
    Apr 11, 2019
    Messages:
    14
    Likes Received:
    7
    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.
     
    #2
  3. gea

    gea Well-Known Member

    Joined:
    Dec 31, 2010
    Messages:
    2,273
    Likes Received:
    752
    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).
     
    #3
  4. zrav

    zrav New Member

    Joined:
    Sep 26, 2019
    Messages:
    1
    Likes Received:
    0
    @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.
     
    #4
  5. elag

    elag Member

    Joined:
    Dec 1, 2018
    Messages:
    62
    Likes Received:
    9
    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.
     
    #5
  6. gea

    gea Well-Known Member

    Joined:
    Dec 31, 2010
    Messages:
    2,273
    Likes Received:
    752
    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)
     
    #6

Share This Page