]> git.proxmox.com Git - pve-docs.git/blobdiff - local-zfs.adoc
totp: fix copy/paste mistake
[pve-docs.git] / local-zfs.adoc
index 63de88455baa713ea539d0d60ac275bb30e2bfc0..130f9d6b664039ed8002bb9cb65b84b31df818a7 100644 (file)
@@ -135,9 +135,8 @@ config:
 errors: No known data errors
 ----
 
-The `zfs` command is used configure and manage your ZFS file
-systems. The following command lists all file systems after
-installation:
+The `zfs` command is used to configure and manage your ZFS file systems. The
+following command lists all file systems after installation:
 
 ----
 # zfs list
@@ -157,7 +156,7 @@ ZFS RAID Level Considerations
 There are a few factors to take into consideration when choosing the layout of
 a ZFS pool. The basic building block of a ZFS pool is the virtual device, or
 `vdev`. All vdevs in a pool are used equally and the data is striped among them
-(RAID0). Check the `zpool(8)` manpage for more details on vdevs.
+(RAID0). Check the `zpoolconcepts(7)` manpage for more details on vdevs.
 
 [[sysadmin_zfs_raid_performance]]
 Performance
@@ -180,6 +179,8 @@ A 'RAIDZ' of any redundancy level will approximately behave like a single disk
 in regard to IOPS with a lot of bandwidth. How much bandwidth depends on the
 size of the RAIDZ vdev and the redundancy level.
 
+A 'dRAID' pool should match the performance of an equivalent 'RAIDZ' pool.
+
 For running VMs, IOPS is the more important metric in most situations.
 
 
@@ -497,10 +498,9 @@ Changing a failed device
 
 .Changing a failed bootable device
 
-Depending on how {pve} was installed it is either using `systemd-boot` or `grub`
-through `proxmox-boot-tool`
-footnote:[Systems installed with {pve} 6.4 or later, EFI systems installed with
-{pve} 5.4 or later] or plain `grub` as bootloader (see
+Depending on how {pve} was installed it is either using `systemd-boot` or GRUB
+through `proxmox-boot-tool` footnote:[Systems installed with {pve} 6.4 or later,
+EFI systems installed with {pve} 5.4 or later] or plain GRUB as bootloader (see
 xref:sysboot[Host Bootloader]). You can check by running:
 
 ----
@@ -531,16 +531,16 @@ NOTE: `ESP` stands for EFI System Partition, which is setup as partition #2 on
 bootable disks setup by the {pve} installer since version 5.4. For details, see
 xref:sysboot_proxmox_boot_setup[Setting up a new partition for use as synced ESP].
 
-NOTE: make sure to pass 'grub' as mode to `proxmox-boot-tool init` if
-`proxmox-boot-tool status` indicates your current disks are using Grub,
+NOTE: Make sure to pass 'grub' as mode to `proxmox-boot-tool init` if
+`proxmox-boot-tool status` indicates your current disks are using GRUB,
 especially if Secure Boot is enabled!
 
-.With plain `grub`:
+.With plain GRUB:
 
 ----
 # grub-install <new disk>
 ----
-NOTE: plain `grub` is only used on systems installed with {pve} 6.3 or earlier,
+NOTE: Plain GRUB is only used on systems installed with {pve} 6.3 or earlier,
 which have not been manually migrated to using `proxmox-boot-tool` yet.
 
 
@@ -569,11 +569,16 @@ Limit ZFS Memory Usage
 ~~~~~~~~~~~~~~~~~~~~~~
 
 ZFS uses '50 %' of the host memory for the **A**daptive **R**eplacement
-**C**ache (ARC) by default. Allocating enough memory for the ARC is crucial for
-IO performance, so reduce it with caution. As a general rule of thumb, allocate
-at least +2 GiB Base + 1 GiB/TiB-Storage+. For example, if you have a pool with
-+8 TiB+ of available storage space then you should use +10 GiB+ of memory for
-the ARC.
+**C**ache (ARC) by default. For new installations starting with {pve} 8.1, the
+ARC usage limit will be set to '10 %' of the installed physical memory, clamped
+to a maximum of +16 GiB+. This value is written to `/etc/modprobe.d/zfs.conf`.
+
+Allocating enough memory for the ARC is crucial for IO performance, so reduce it
+with caution. As a general rule of thumb, allocate at least +2 GiB Base + 1
+GiB/TiB-Storage+. For example, if you have a pool with +8 TiB+ of available
+storage space then you should use +10 GiB+ of memory for the ARC.
+
+ZFS also enforces a minimum value of +64 MiB+.
 
 You can change the ARC usage limit for the current boot (a reboot resets this
 change again) by writing to the +zfs_arc_max+ module parameter directly:
@@ -582,8 +587,8 @@ change again) by writing to the +zfs_arc_max+ module parameter directly:
  echo "$[10 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_max
 ----
 
-To *permanently change* the ARC limits, add the following line to
-`/etc/modprobe.d/zfs.conf`:
+To *permanently change* the ARC limits, add (or change if already present) the
+following line to `/etc/modprobe.d/zfs.conf`:
 
 --------
 options zfs zfs_arc_max=8589934592
@@ -684,7 +689,7 @@ tank  feature@encryption  enabled         local
 ----
 
 WARNING: There is currently no support for booting from pools with encrypted
-datasets using Grub, and only limited support for automatically unlocking
+datasets using GRUB, and only limited support for automatically unlocking
 encrypted datasets on boot. Older versions of ZFS without encryption support
 will not be able to decrypt stored data.
 
@@ -854,16 +859,16 @@ them.
 
 In fact, there are some downsides to enabling new features:
 
-* A system with root on ZFS, that still boots using `grub` will become
+* A system with root on ZFS, that still boots using GRUB will become
   unbootable if a new feature is active on the rpool, due to the incompatible
-  implementation of ZFS in grub.
+  implementation of ZFS in GRUB.
 * The system will not be able to import any upgraded pool when booted with an
   older kernel, which still ships with the old ZFS modules.
 * Booting an older {pve} ISO to repair a non-booting system will likewise not
   work.
 
 IMPORTANT: Do *not* upgrade your rpool if your system is still booted with
-`grub`, as this will render your system unbootable. This includes systems
+GRUB, as this will render your system unbootable. This includes systems
 installed before {pve} 5.4, and systems booting with legacy BIOS boot (see
 xref:sysboot_determine_bootloader_used[how to determine the bootloader]).