Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
have the same sector-size (2 power of `ashift`) or larger as the
underlying disk.
have the same sector-size (2 power of `ashift`) or larger as the
underlying disk.
- zpool create -f -o ashift=12 <pool> <device>
+----
+# zpool create -f -o ashift=12 <pool> <device>
+----
To activate compression (see section <<zfs_compression,Compression in ZFS>>):
To activate compression (see section <<zfs_compression,Compression in ZFS>>):
- zfs set compression=lz4 <pool>
+----
+# zfs set compression=lz4 <pool>
+----
.Create a new pool with RAID-0
Minimum 1 Disk
.Create a new pool with RAID-0
Minimum 1 Disk
- zpool create -f -o ashift=12 <pool> <device1> <device2>
+----
+# zpool create -f -o ashift=12 <pool> <device1> <device2>
+----
.Create a new pool with RAID-1
Minimum 2 Disks
.Create a new pool with RAID-1
Minimum 2 Disks
- zpool create -f -o ashift=12 <pool> mirror <device1> <device2>
+----
+# zpool create -f -o ashift=12 <pool> mirror <device1> <device2>
+----
.Create a new pool with RAID-10
Minimum 4 Disks
.Create a new pool with RAID-10
Minimum 4 Disks
- zpool create -f -o ashift=12 <pool> mirror <device1> <device2> mirror <device3> <device4>
+----
+# zpool create -f -o ashift=12 <pool> mirror <device1> <device2> mirror <device3> <device4>
+----
.Create a new pool with RAIDZ-1
Minimum 3 Disks
.Create a new pool with RAIDZ-1
Minimum 3 Disks
- zpool create -f -o ashift=12 <pool> raidz1 <device1> <device2> <device3>
+----
+# zpool create -f -o ashift=12 <pool> raidz1 <device1> <device2> <device3>
+----
.Create a new pool with RAIDZ-2
Minimum 4 Disks
.Create a new pool with RAIDZ-2
Minimum 4 Disks
- zpool create -f -o ashift=12 <pool> raidz2 <device1> <device2> <device3> <device4>
+----
+# zpool create -f -o ashift=12 <pool> raidz2 <device1> <device2> <device3> <device4>
+----
.Create a new pool with cache (L2ARC)
.Create a new pool with cache (L2ARC)
As `<device>` it is possible to use more devices, like it's shown in
"Create a new pool with RAID*".
As `<device>` it is possible to use more devices, like it's shown in
"Create a new pool with RAID*".
- zpool create -f -o ashift=12 <pool> <device> cache <cache_device>
+----
+# zpool create -f -o ashift=12 <pool> <device> cache <cache_device>
+----
.Create a new pool with log (ZIL)
.Create a new pool with log (ZIL)
As `<device>` it is possible to use more devices, like it's shown in
"Create a new pool with RAID*".
As `<device>` it is possible to use more devices, like it's shown in
"Create a new pool with RAID*".
- zpool create -f -o ashift=12 <pool> <device> log <log_device>
+----
+# zpool create -f -o ashift=12 <pool> <device> log <log_device>
+----
.Add cache and log to an existing pool
.Add cache and log to an existing pool
physical memory, so this is usually quite small. The rest of the SSD
can be used as cache.
physical memory, so this is usually quite small. The rest of the SSD
can be used as cache.
- zpool add -f <pool> log <device-part1> cache <device-part2>
+----
+# zpool add -f <pool> log <device-part1> cache <device-part2>
+----
.Changing a failed device
.Changing a failed device
- zpool replace -f <pool> <old device> <new device>
+----
+# zpool replace -f <pool> <old device> <new device>
+----
.Changing a failed bootable device when using systemd-boot
.Changing a failed bootable device when using systemd-boot
- sgdisk <healthy bootable device> -R <new device>
- sgdisk -G <new device>
- zpool replace -f <pool> <old zfs partition> <new zfs partition>
- pve-efiboot-tool format <new disk's ESP>
- pve-efiboot-tool init <new disk's ESP>
+----
+# sgdisk <healthy bootable device> -R <new device>
+# sgdisk -G <new device>
+# zpool replace -f <pool> <old zfs partition> <new zfs partition>
+# pve-efiboot-tool format <new disk's ESP>
+# pve-efiboot-tool init <new disk's ESP>
+----
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
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
If your root file system is ZFS you must update your initramfs every
time this value changes:
If your root file system is ZFS you must update your initramfs every
time this value changes:
+----
+# update-initramfs -u
+----
installer. Additionally, you can lower the
``swappiness'' value. A good value for servers is 10:
installer. Additionally, you can lower the
``swappiness'' value. A good value for servers is 10:
- sysctl -w vm.swappiness=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:
To make the swappiness persistent, open `/etc/sysctl.conf` with
an editor of your choice and add the following line:
.Create a pool with `special` device and RAID-1:
.Create a pool with `special` device and RAID-1:
- zpool create -f -o ashift=12 <pool> mirror <device1> <device2> special mirror <device3> <device4>
+----
+# zpool create -f -o ashift=12 <pool> mirror <device1> <device2> special mirror <device3> <device4>
+----
.Add a `special` device to an existing pool with RAID-1:
.Add a `special` device to an existing pool with RAID-1:
- zpool add <pool> special mirror <device1> <device2>
+----
+# zpool add <pool> special mirror <device1> <device2>
+----
ZFS datasets expose the `special_small_blocks=<size>` property. `size` can be
`0` to disable storing small file blocks on the `special` device or a power of
ZFS datasets expose the `special_small_blocks=<size>` property. `size` can be
`0` to disable storing small file blocks on the `special` device or a power of
.Opt in for all file smaller than 4K-blocks pool-wide:
.Opt in for all file smaller than 4K-blocks pool-wide:
- zfs set special_small_blocks=4K <pool>
+----
+# zfs set special_small_blocks=4K <pool>
+----
.Opt in for small file blocks for a single dataset:
.Opt in for small file blocks for a single dataset:
- zfs set special_small_blocks=4K <pool>/<filesystem>
+----
+# zfs set special_small_blocks=4K <pool>/<filesystem>
+----
.Opt out from small file blocks for a single dataset:
.Opt out from small file blocks for a single dataset:
- zfs set special_small_blocks=0 <pool>/<filesystem>
+----
+# zfs set special_small_blocks=0 <pool>/<filesystem>
+----