Hello,
I found a guide for ZFS generally (not Proxmox) focused on extending the life of SSDs being used with ZFS. Most of them aren't implemented on rpool in the default PVE install, so it got me curious.
One is: Swap is disabled.
Beyond that, these are the settings I'm curious about:
Enable TRIM on PVE host node and each VM.
As far as each VM, this makes perfect sense. I've seen VM virtual disks where TRIM isn't enabled be treated like spinning rust by the virtualized OS.
On the PVE node itself, I seem to recall there being a reason this isn't the default in PVE, but I can't find it now. Like, we don't have to autotrim becuase something else is doing that in place of ZFS itself?
Should this be on or off?
EDIT: I knew I'd posted about this before. Leave it off, but there might be some additional tweaks needed.
See: https://forum.proxmox.com/threads/p...uilt-in-trim-cron-job-vs-zfs-autotrim.114943/
Disable atime and relatime attributes.
This is to minimize writes, as otherwise these have to be updated on disk every time a file is accessed.
How much of an impact does this really have? Especially in a home network/home server environment? When would I regret not having atime enabled?
Change Extended Attribute Storage to Use inodes to Minimize Writes
Default,
, uses hidden subdirectories; may need multiple lookups when accessing a file.
Alternative,
, uses inodes
dnodesize=auto apparently should also be set for for non-root datasets when changing xattr this way.
a. Apparently, inodes are the intended way to store this data in ZFS on Linux (ZoL)?
b. Creates less I/O requests when extended attributes in use for, e.g., SMB?
Correct ACL Type
Default: off
Allows use of posix acl (getfacl, setfacl).
Store additional access rights (per user and/or per group) on files and directories
Adds to the regular access rights set through chmod/chown
Corrected setting:
I don't really understand this one well enough to understand the implications of what it's doing.
I found a guide for ZFS generally (not Proxmox) focused on extending the life of SSDs being used with ZFS. Most of them aren't implemented on rpool in the default PVE install, so it got me curious.
One is: Swap is disabled.
Beyond that, these are the settings I'm curious about:
Enable TRIM on PVE host node and each VM.
Code:
zpool set autotrim=on $PoolName
On the PVE node itself, I seem to recall there being a reason this isn't the default in PVE, but I can't find it now. Like, we don't have to autotrim becuase something else is doing that in place of ZFS itself?
EDIT: I knew I'd posted about this before. Leave it off, but there might be some additional tweaks needed.
See: https://forum.proxmox.com/threads/p...uilt-in-trim-cron-job-vs-zfs-autotrim.114943/
Disable atime and relatime attributes.
This is to minimize writes, as otherwise these have to be updated on disk every time a file is accessed.
How much of an impact does this really have? Especially in a home network/home server environment? When would I regret not having atime enabled?
Change Extended Attribute Storage to Use inodes to Minimize Writes
Default,
Code:
xattr=on
Alternative,
Code:
xattr=sa
dnodesize=auto apparently should also be set for for non-root datasets when changing xattr this way.
a. Apparently, inodes are the intended way to store this data in ZFS on Linux (ZoL)?
b. Creates less I/O requests when extended attributes in use for, e.g., SMB?
Correct ACL Type
Default: off
Allows use of posix acl (getfacl, setfacl).
Store additional access rights (per user and/or per group) on files and directories
Adds to the regular access rights set through chmod/chown
Corrected setting:
Code:
acltype=posixacl
I don't really understand this one well enough to understand the implications of what it's doing.
Last edited: