From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 766AD1FF15E for <inbox@lore.proxmox.com>; Tue, 3 Jun 2025 15:08:48 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0D99E19879; Tue, 3 Jun 2025 15:09:05 +0200 (CEST) From: Alexander Abraham <a.abraham@proxmox.com> To: pve-devel@lists.proxmox.com Date: Tue, 3 Jun 2025 15:08:54 +0200 Message-Id: <20250603130854.121129-1-a.abraham@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.314 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH pve-docs v7] fix #5644: Moved the section on swap partitions X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> The section on running swap on ZFS was split into two parts. The part describing setting the swappiness level was moved to a separate file and the part about creating swap partitions on a ZFS volume was replaced with a warning about doing so. Signed-off-by: Alexander Abraham <a.abraham@proxmox.com> Changes in v7: * Keep ZFS warning in its original file. * Corrected some formatting errors. --- local-zfs.adoc | 49 ++++++++++--------------------------------------- pve-swap.adoc | 35 +++++++++++++++++++++++++++++++++++ sysadmin.adoc | 2 ++ 3 files changed, 47 insertions(+), 39 deletions(-) create mode 100644 pve-swap.adoc diff --git a/local-zfs.adoc b/local-zfs.adoc index c64fb27..bfd2295 100644 --- a/local-zfs.adoc +++ b/local-zfs.adoc @@ -1,9 +1,10 @@ [[chapter_zfs]] ZFS on Linux ------------ -ifdef::wiki[] -:pve-toplevel: -endif::wiki[] + +-ifdef::wiki[] +-:pve-toplevel: +-endif::wiki[] ZFS is a combined file system and logical volume manager designed by Sun Microsystems. Starting with {pve} 3.4, the native Linux @@ -620,48 +621,18 @@ time this value changes: ---- You *must reboot* to activate these changes. -==== +==== [[zfs_swap]] SWAP on ZFS ~~~~~~~~~~~ -Swap-space created on a zvol may generate some troubles, like blocking the -server or generating a high IO load, often seen when starting a Backup -to an external Storage. - -We strongly recommend to use enough memory, so that you normally do not -run into low memory situations. Should you need or want to add swap, it is -preferred to create a partition on a physical disk and use it as a swap device. -You can leave some space free for this purpose in the advanced options of the -installer. Additionally, you can lower the -``swappiness'' value. A good value for servers is 10: - ----- -# sysctl -w vm.swappiness=10 ----- - -To make the swappiness persistent, open `/etc/sysctl.conf` with -an editor of your choice and add the following line: - --------- -vm.swappiness = 10 --------- - -.Linux kernel `swappiness` parameter values -[width="100%",cols="<m,2d",options="header"] -|=========================================================== -| Value | Strategy -| vm.swappiness = 0 | The kernel will swap only to avoid -an 'out of memory' condition -| vm.swappiness = 1 | Minimum amount of swapping without -disabling it entirely. -| vm.swappiness = 10 | This value is sometimes recommended to -improve performance when sufficient memory exists in a system. -| vm.swappiness = 60 | The default value. -| vm.swappiness = 100 | The kernel will swap aggressively. -|=========================================================== +Do not use a ZFS volume for creating a swap partition because this could lead +to deadlocks. These deadlocks could cause the affected system to freeze. The +OpenZFS documentation +footnote:[https://openzfs.github.io/openzfs-docs/Project%20and%20Community/FAQ.html#using-a-zvol-for-a-swap-device-on-linux] +warns about using a ZFS volume for creating a swap partition. [[zfs_encryption]] Encrypted ZFS Datasets diff --git a/pve-swap.adoc b/pve-swap.adoc new file mode 100644 index 0000000..6bc62b0 --- /dev/null +++ b/pve-swap.adoc @@ -0,0 +1,35 @@ +[[creating_swap_partitions]] +Creating SWAP Partitions +------------------------ + +We strongly recommend to use enough memory, so that you normally do not +run into low memory situations. Should you need or want to add swap, it is +preferred to create a partition on a physical disk and use it as a swap device. +You can leave some space free for this purpose in the advanced options of the +installer. Additionally, you can lower the +``swappiness'' value. A good value for servers is 10: + +---- +# sysctl -w vm.swappiness=10 +---- + +To make the swappiness persistent, open `/etc/sysctl.conf` with +an editor of your choice and add the following line: + +-------- +vm.swappiness = 10 +-------- + +.Linux kernel `swappiness` parameter values +[width="100%",cols="<m,2d",options="header"] +|=========================================================== +| Value | Strategy +| vm.swappiness = 0 | The kernel will swap only to avoid +an 'out of memory' condition +| vm.swappiness = 1 | Minimum amount of swapping without +disabling it entirely. +| vm.swappiness = 10 | This value is sometimes recommended to +improve performance when sufficient memory exists in a system. +| vm.swappiness = 60 | The default value. +| vm.swappiness = 100 | The kernel will swap aggressively. +|=========================================================== diff --git a/sysadmin.adoc b/sysadmin.adoc index dd43f73..5b12634 100644 --- a/sysadmin.adoc +++ b/sysadmin.adoc @@ -71,6 +71,8 @@ include::pve-external-metric-server.adoc[] include::pve-disk-health-monitoring.adoc[] +include::pve-swap.adoc[] + include::local-lvm.adoc[] include::local-zfs.adoc[] -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel