FAQ: ZoL->OpenZFS conversions

Signed-off-by: George Melikov <mail@gmelikov.ru>
This commit is contained in:
George Melikov
2020-10-07 23:53:36 +03:00
parent 966ebaa629
commit 95fe9ed9b7

View File

@@ -4,12 +4,10 @@ FAQ
.. contents:: Table of Contents .. contents:: Table of Contents
:local: :local:
What is ZFS on Linux What is OpenZFS
-------------------- ---------------
The ZFS on Linux project is an implementation of OpenZFS is an outstanding storage platform that
`OpenZFS <https://openzfs.org/wiki/Main_Page>`__ designed to work in a
Linux environment. OpenZFS is an outstanding storage platform that
encompasses the functionality of traditional filesystems, volume encompasses the functionality of traditional filesystems, volume
managers, and more, with consistent reliability, functionality and managers, and more, with consistent reliability, functionality and
performance across all distributions. Additional information about performance across all distributions. Additional information about
@@ -53,23 +51,23 @@ requires.
Installation Installation
------------ ------------
ZFS on Linux is available for all major Linux distributions. Refer to OpenZFS is available for FreeBSD and all major Linux distributions. Refer to
the :doc:`getting started <../Getting Started/index>` section of the wiki for links to installations the :doc:`getting started <../Getting Started/index>` section of the wiki for
instructions for many popular distributions. If your distribution isn't links to installations instructions. If your distribution/OS isn't
listed you can always build ZFS on Linux from the latest official listed you can always build OpenZFS from the latest official
`tarball <https://github.com/zfsonlinux/zfs/releases>`__. `tarball <https://github.com/openzfs/zfs/releases>`__.
Supported Architectures Supported Architectures
----------------------- -----------------------
ZFS on Linux is regularly compiled for the following architectures: OpenZFS is regularly compiled for the following architectures:
x86_64, x86, aarch64, arm, ppc64, ppc. aarch64, arm, ppc, ppc64, x86, x86_64.
Supported Kernels Supported Linux Kernels
----------------- -----------------------
The `notes <https://github.com/zfsonlinux/zfs/releases>`__ for a given The `notes <https://github.com/openzfs/zfs/releases>`__ for a given
ZFS on Linux release will include a range of supported kernels. Point OpenZFS release will include a range of supported kernels. Point
releases will be tagged as needed in order to support the *stable* releases will be tagged as needed in order to support the *stable*
kernel available from `kernel.org <https://www.kernel.org/>`__. The kernel available from `kernel.org <https://www.kernel.org/>`__. The
oldest supported kernel is 2.6.32 due to its prominence in Enterprise oldest supported kernel is 2.6.32 due to its prominence in Enterprise
@@ -80,11 +78,11 @@ Linux distributions.
32-bit vs 64-bit Systems 32-bit vs 64-bit Systems
------------------------ ------------------------
You are **strongly** encouraged to use a 64-bit kernel. ZFS on Linux You are **strongly** encouraged to use a 64-bit kernel. OpenZFS
will build for 32-bit kernels but you may encounter stability problems. will build for 32-bit systems but you may encounter stability problems.
ZFS was originally developed for the Solaris kernel which differs from ZFS was originally developed for the Solaris kernel which differs from
the Linux kernel in several significant ways. Perhaps most importantly some OpenZFS platforms in several significant ways. Perhaps most importantly
for ZFS it is common practice in the Solaris kernel to make heavy use of for ZFS it is common practice in the Solaris kernel to make heavy use of
the virtual address space. However, use of the virtual address space is the virtual address space. However, use of the virtual address space is
strongly discouraged in the Linux kernel. This is particularly true on strongly discouraged in the Linux kernel. This is particularly true on
@@ -118,8 +116,10 @@ excellent walk throughs available for
:doc:`Ubuntu <../Getting Started/Ubuntu/index>`, and :doc:`Ubuntu <../Getting Started/Ubuntu/index>`, and
`Gentoo <https://github.com/pendor/gentoo-zfs-install/tree/master/install>`__. `Gentoo <https://github.com/pendor/gentoo-zfs-install/tree/master/install>`__.
Selecting /dev/ names when creating a pool On FreeBSD 13+ booting from ZFS is supported out of the box.
------------------------------------------
Selecting /dev/ names when creating a pool (Linux)
--------------------------------------------------
There are different /dev/ names that can be used when creating a ZFS There are different /dev/ names that can be used when creating a ZFS
pool. Each option has advantages and drawbacks, the right choice for pool. Each option has advantages and drawbacks, the right choice for
@@ -485,10 +485,7 @@ Performance Considerations
-------------------------- --------------------------
To achieve good performance with your pool there are some easy best To achieve good performance with your pool there are some easy best
practices you should follow. Additionally, it should be made clear that practices you should follow.
the ZFS on Linux implementation has not yet been optimized for
performance. As the project matures we can expect performance to
improve.
- **Evenly balance your disk across controllers:** Often the limiting - **Evenly balance your disk across controllers:** Often the limiting
factor for performance is not the disk but the controller. By factor for performance is not the disk but the controller. By
@@ -559,16 +556,17 @@ ZVOL used space larger than expected
snapshot the zvol, as the space referenced by the snapshots will snapshot the zvol, as the space referenced by the snapshots will
contain the unused blocks. contain the unused blocks.
| This issue can be prevented, by using the ``fstrim`` command to allow | This issue can be prevented, by issuing the so-called trim
(for ex. ``fstrim`` command on Linux) to allow
the kernel to specify to zfs which blocks are unused. the kernel to specify to zfs which blocks are unused.
| Executing a ``fstrim`` command before a snapshot is taken will ensure | Issuing a trim before a snapshot is taken will ensure
a minimum snapshot size. a minimum snapshot size.
| Adding the ``discard`` option for the mounted ZVOL in ``/etc/fstab`` | For Linux adding the ``discard`` option for the mounted ZVOL in ``/etc/fstab``
effectively enables the Linux kernel to issue the trim commands effectively enables the kernel to issue the trim commands
continuously, without the need to execute fstrim on-demand. continuously, without the need to execute fstrim on-demand.
Using a zvol for a swap device Using a zvol for a swap device on Linux
------------------------------ ---------------------------------------
You may use a zvol as a swap device but you'll need to configure it You may use a zvol as a swap device but you'll need to configure it
appropriately. appropriately.
@@ -594,12 +592,12 @@ please send your logs
-o primarycache=metadata \ -o primarycache=metadata \
-o com.sun:auto-snapshot=false rpool/swap -o com.sun:auto-snapshot=false rpool/swap
Using ZFS on Xen Hypervisor or Xen Dom0 Using ZFS on Xen Hypervisor or Xen Dom0 (Linux)
--------------------------------------- -----------------------------------------------
It is usually recommended to keep virtual machine storage and hypervisor It is usually recommended to keep virtual machine storage and hypervisor
pools, quite separate. Although few people have managed to successfully pools, quite separate. Although few people have managed to successfully
deploy and run ZFS on Linux using the same machine configured as Dom0. deploy and run OpenZFS using the same machine configured as Dom0.
There are few caveats: There are few caveats:
- Set a fair amount of memory in grub.conf, dedicated to Dom0. - Set a fair amount of memory in grub.conf, dedicated to Dom0.
@@ -616,8 +614,8 @@ There are few caveats:
one <https://github.com/zfsonlinux/zfs/issues/1067>`__ related to one <https://github.com/zfsonlinux/zfs/issues/1067>`__ related to
ballooning ballooning
udisks2 creating /dev/mapper/ entries for zvol udisks2 creating /dev/mapper/ entries for zvol (Linux)
---------------------------------------------- ------------------------------------------------------
To prevent udisks2 from creating /dev/mapper entries that must be To prevent udisks2 from creating /dev/mapper entries that must be
manually removed or maintained during zvol remove / rename, create a manually removed or maintained during zvol remove / rename, create a
@@ -696,8 +694,8 @@ to get it resolved. They may ask for information like:
- Stack traces which may be logged to ``dmesg``. - Stack traces which may be logged to ``dmesg``.
Does ZFS on Linux have a Code of Conduct? Does OpenZFS have a Code of Conduct?
----------------------------------------- ------------------------------------
Yes, the ZFS on Linux community has a code of conduct. See the `Code of Yes, the OpenZFS community has a code of conduct. See the `Code of
Conduct <https://openzfs.org/wiki/Code_of_Conduct>`__ for details. Conduct <https://openzfs.org/wiki/Code_of_Conduct>`__ for details.