ZFS: Difference between revisions

From DWIKI
mNo edit summary
Line 116: Line 116:
== Tuning arc settings ==
== Tuning arc settings ==
See [https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html Tuning ZFS modules parameters]
See [https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html Tuning ZFS modules parameters]
  arcstat
===zfs_arc_max===
  arc_summary
Linux defaults to giving 50% of RAM to arc, this is when:
  cat /sys/module/zfs/parameters/zfs_arc_max
  0
  grep c_max /proc/spl/kstat/zfs/arcstats
  grep c_max /proc/spl/kstat/zfs/arcstats
To change this:
  echo 5368709120 > /sys/module/zfs/parameters/zfs_arc_max
  echo 5368709120 > /sys/module/zfs/parameters/zfs_arc_max
and add to /etc/modprobe.d/zfs.conf
zfs zfs_arc_max=5368709120


maybe you need
maybe you need
Line 132: Line 138:
  echo 20 > /sys/module/zfs/parameters/zfs_arc_dnode_limit_percent
  echo 20 > /sys/module/zfs/parameters/zfs_arc_dnode_limit_percent


In /et/modprobe.d/zfs.conf:
In /etc/modprobe.d/zfs.conf:


  options zfs zfs_arc_dnode_limit_percent=20
  options zfs zfs_arc_dnode_limit_percent=20

Revision as of 09:53, 9 August 2023

Links


Documentation

Caching

Commands

arc_summary
cat /proc/spl/kstat/zfs/arcstats


Terms and acronyms

vdev

Virtual Device. ZFS Virtual disks


L2ARC

Level 2 Adaptive Replacement Cache


SSD cache

HOWTO

Create zfs filesystem

zfs create poolname/fsname

this also creates mountpoint


Add vdev to pool

zpool add mypool raidz1 sdg sdh sdi

Replace disk in zfs

Some links

Get information first:

Name of disk

zpool status

Find uid of disk to replace

take it offline

zpool offline poolname ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M5RLZC6V

Get the disk guid:

zdb

guid: 15233236897831806877

Get list of disk by id:

ls -al /dev/disk/by-id

Save the id, shutdown, replace disk, boot:

Find the new disk:

ls -al /dev/disk/by-id

Run replace command. The id is the guid of the old disk, name is of the new disk

zpool replace tank /dev/disk/by-id/13450850036953119346 /dev/disk/by-id/ata-ST4000VN000-1H4168_Z302FQVZ

Showing information about ZFS pools and datasets

Show pools with sizes

zpool list 

or

zpool list -H -o name,size


Show reservations on datasets

zfs list -o name,reservations

Swap on zfs

https://askubuntu.com/questions/228149/zfs-partition-as-swap

vdevs

multiple vdevs

Multiple vdevs in a zpool get striped. What about balance?

invalid vdev specification

Probably means you need -f

Tuning arc settings

See Tuning ZFS modules parameters

zfs_arc_max

Linux defaults to giving 50% of RAM to arc, this is when:

cat /sys/module/zfs/parameters/zfs_arc_max
0
grep c_max /proc/spl/kstat/zfs/arcstats

To change this:

echo 5368709120 > /sys/module/zfs/parameters/zfs_arc_max

and add to /etc/modprobe.d/zfs.conf

zfs zfs_arc_max=5368709120


maybe you need

echo 3 > /proc/sys/vm/drop_caches


Tune zfs_arc_dnode_limit_percent

Assuming zfs_arc_dnode_limit = 0:

echo 20 > /sys/module/zfs/parameters/zfs_arc_dnode_limit_percent

In /etc/modprobe.d/zfs.conf:

options zfs zfs_arc_dnode_limit_percent=20

FAQ

show status and disks

zpool status

show drives/pools

zfs list
      

check raid level

zfs list -a


Estimate raidz speeds

raidz1: N/(N-1) * IOPS
raidz2: N/(N-2) * IOPS
raidz3: N/(N-3) * IOPS