[pve-devel] [PATCH installer v3 0/8] fix #4829: set up lower default limit for ZFS ARC in installer

Christoph Heiss c.heiss at proxmox.com
Tue Oct 31 13:10:52 CET 2023

Fixes #4829. Introduces a new ZFS install option `arc_max` (aptly named
after the corresponding module option `zfs_arc_max`).

For PVE installations, this can be adjusted when creating a ZFS RAID
under "Advanced Options". The default value is choosen as 10% of system
memory, clamped to between 64 MiB as lower limit and 16 GiB as upper
limit. For PBS and PMG, the option is (currently) hidden.

If the option is set to a non-zero value, a new file
/etc/modprobe.d/zfs.conf gets written during install, setting the
`zfs_arc_max` module option as appropriate.

Tested by installing PVE, PBS and PMG, using both the GUI and TUI
installer. For PVE, checked that the `zfs` module option gets correctly
written & applied, the latter by looking at the output of `arc_summary`.
For PBS and PMG, verified that no modprobe options file is created and
the ARC size is set to default.

v1: https://lists.proxmox.com/pipermail/pve-devel/2023-August/058830.html
v2: https://lists.proxmox.com/pipermail/pve-devel/2023-October/059606.html

Notable changes v1 -> v2:
  * rebased on latest master
  * fix arc_max value set in TUI not being applied correctly

Notable changes v2 -> v3:
  * rebased on latest master
  * new patch explaining query_total_memory, which is used extensively
    in this patchset
  * new patch unifying product handling a bit
  * documented all calculations better w.r.t. to their units
  * moved modprobe setup into separate sub

Christoph Heiss (8):
  run env: add comment for query_total_memory()
  tui: views: add optional suffix label for `NumericEditView`s
  tui: bootdisk: simplify product handling by passing the config
  fix #4829: install: add new ZFS `arc_max` setup option
  fix #4829: proxinstall: expose new `arc_max` ZFS option for PVE
  fix #4829: test: add tests for new zfs_arc_max calculations
  fix #4829: tui: setup: add new ZFS `arc_max` option
  fix #4829: tui: bootdisk: expose new `arc_max` ZFS option for PVE

 Makefile                                    |   3 +
 Proxmox/Install.pm                          |  14 +++
 Proxmox/Install/Config.pm                   |   1 +
 Proxmox/Install/RunEnv.pm                   |  47 ++++++++
 debian/control                              |   1 +
 proxinstall                                 |  15 +++
 proxmox-tui-installer/src/main.rs           |   2 +-
 proxmox-tui-installer/src/options.rs        |  57 +++++++++-
 proxmox-tui-installer/src/setup.rs          |   2 +
 proxmox-tui-installer/src/views/bootdisk.rs | 116 +++++++++++++-------
 proxmox-tui-installer/src/views/mod.rs      | 104 ++++++++++++++----
 test/Makefile                               |  10 ++
 test/zfs-arc-max.pl                         |  81 ++++++++++++++
 13 files changed, 386 insertions(+), 67 deletions(-)
 create mode 100644 test/Makefile
 create mode 100755 test/zfs-arc-max.pl


More information about the pve-devel mailing list