"Updates"

This commit is contained in:
2026-05-07 11:25:07 +02:00
parent 2f77994a66
commit db481e3c91
2 changed files with 990 additions and 0 deletions
+151
View File
@@ -0,0 +1,151 @@
## ZFS
### Update / Upgrade
```bash
sudo apt update && sudo apt upgrade -y
```
### Enable the contrib repository
```bash
sudo nano /etc/apt/sources.list
```
```bash
#deb cdrom:[Debian GNU/Linux 13.3.0 _Trixie_ - Official amd64 NETINST with firmware 20260110-10:59]/ trixie contrib main non-free-firmware
deb http://deb.debian.org/debian/ trixie main contrib non-free-firmware
deb-src http://deb.debian.org/debian/ trixie main contrib non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free-firmware
deb-src http://security.debian.org/debian-security trixie-security main contrib non-free-firmware
# trixie-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free-firmware
deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free-firmware
# This system was installed using removable media other than
# CD/DVD/BD (e.g. USB stick, SD card, ISO image file).
# The matching "deb cdrom" entries were disabled at the end
# of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
```
### Refresh package index and install ZFS
```bash
sudo apt update && sudo apt install linux-headers-6.12.85+deb13-amd64 zfsutils-linux -y
sudo modprobe zfs
sudo reboot
```
### Verify ZFS Installation
```bash
lsmod | grep zfs
zfs --version
zpool --version
```
### Creating and Using a ZFS Pool & Datasets
Once ZFS is installed, you can create pools (zpools) and datasets. Below is a typical example.
#### Identify disks / partitions
List available block devices:
```bash
lsblk
sudo blkid
```
Create a mirrored pool named *tank* using /dev/sda and /dev/sdb:
```bash
sudo zpool create \
-o ashift=12 \
-o autotrim=on \
tank mirror /dev/sda /dev/sdb
```
Explanation:
ashift=12 sets a 4KiB sector alignment (useful for modern drives/SSDs).
autotrim=on enables automatic trimming (on SSDs).
mirror defines redundancy — you could also use raidz, raidz2, etc.
You can also check pool properties:
```bash
sudo zpool get all tank
```
Within the pool, create datasets:
```bash
sudo zfs create tank/cloud
# sudo zfs create tank/data
# sudo zfs create tank/data/projects
# sudo zfs create tank/data/backups
```
Datasets behave like sub-filesystems; you can set properties on each.
Example: enable compression and disable atime:
```bash
sudo zfs set compression=lz4 tank/data
sudo zfs set atime=off tank/data
```
#### Mountpoints
> By default, datasets are mounted under /tank/..., but you can set mountpoint property:
```bash
sudo mkdir -p /mnt/cloud
sudo zfs set mountpoint=/mnt/cloud tank/cloud
```
To list datasets and their mountpoints:
```bash
zfs list
```
#### Using snapshots & rollbacks
```bash
sudo zfs snapshot tank/data@before-update
```
Roll back:
```bash
sudo zfs rollback tank/data@before-update
```
Send/receive snapshots for backups:
```bash
sudo zfs send tank/data@before-update | ssh user@backuphost "zfs receive backup/data"
```
#### Mounting, Autostart, and Integration
> ZFS datasets are managed by ZFS itself; the mount/unmount is handled automatically by the ZFS service at boot (once ZFS is loaded). Ensure that ZFS mounting is enabled via systemd or init scripts:
```bash
sudo systemctl enable zfs-zed
sudo systemctl enable zfs-mount
sudo systemctl enable zfs-import-cache
```
PS : on Debian, the installation of zfs-zed may already set up the necessary services.
You can configure /etc/zfs/zfs-list.cache (automatically generated) for faster mounting.