1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  ZFS - snapshoty i backup

# ZFS na Ubuntu VPS - snapshoty, kompresja i backup send/receive

Opublikowano: 10 kwietnia 2026 · Kategoria: VPS / Storage

⚡ W skrócie · 7 min czytania

-   ZFS na Ubuntu VPS od podstaw: instalacja zfsutils, tworzenie zpool i datasets, snapshoty i rollback, kompresja lz4, automatyczne snapshoty (sanoid), backup przez zfs send/receive. Porównanie z BTRFS.
-   Instalacja ZFS na Ubuntu 22.04/24.04.
-   Tworzenie zpool - podstawy.
-   Datasets - hierarchiczna organizacja danych.
-   Snapshoty - tworzenie, rollback i usuwanie.

ZFS to system plików z zarządzaniem woluminami w jednym - jego główne zalety to ochrona integralności danych przez checksumming, natychmiastowe snapshoty (Copy-on-Write), transparentna kompresja i wydajna replikacja przez `zfs send/receive`. Na VPS z Ubuntu możesz zainstalować ZFS jako dodatkowy system plików do przechowywania danych aplikacji, baz danych lub backupów. Ten artykuł pokazuje pełną konfigurację: od instalacji przez tworzenie pool i datasets, zarządzanie snapshotami, aż po automatyczny backup na zdalny serwer.

## Instalacja ZFS na Ubuntu 22.04/24.04

```
# Na Ubuntu zfsutils jest w universe repo
sudo apt update
sudo apt install -y zfsutils-linux

# Sprawdz wersje i zaladowane moduly
zfs version
lsmod | grep zfs

# Wyswietl dostepne dyski (do tworzenia pool)
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# lub
fdisk -l | grep "Disk /dev/"

# UWAGA: NIE uzywaj systemowego dysku (/) do ZFS pool na VPS
# Uzyj dodatkowych dyskow lub loopback devices (do testow)
```

## Tworzenie zpool - podstawy

Zpool to pula przechowywania w ZFS - może składać się z jednego lub wielu dysków w różnych konfiguracjach (stripe, mirror, RAID-Z). Na VPS z jednym dodatkowym dyskiem tworzymy prosty single-disk pool.

```
# Tworz pool na dysku /dev/sdb (UWAGA: niszczy dane na dysku!)
sudo zpool create \
  -o ashift=12 \
  -O compression=lz4 \
  -O atime=off \
  -O xattr=sa \
  -m /mnt/data \
  datapool /dev/sdb

# Parametry:
# ashift=12   = 4K sektor alignment (NVMe/SSD wymaga tego)
# compression=lz4  = kompresja domyslna dla wszystkich datasets
# atime=off   = nie aktualizuj access time (drastycznie mniej I/O)
# xattr=sa    = extended attributes w systemic attributes (szybsze)
# -m /mnt/data = punkt montowania
# datapool    = nazwa poola

# Status poola
zpool status datapool
zpool list datapool

# Szczegolowe informacje
zfs get all datapool | grep -E 'compress|atime|xattr|used|avail'
```

```
# Mirror (RAID-1) na dwoch dyskach:
sudo zpool create datapool mirror /dev/sdb /dev/sdc

# RAID-Z1 (jak RAID-5) - minimum 3 dyski, tolleruje 1 awarie:
sudo zpool create datapool raidz1 /dev/sdb /dev/sdc /dev/sdd

# RAID-Z2 (jak RAID-6) - minimum 4 dyski, tolleruje 2 awarie:
sudo zpool create datapool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde

# Testowy pool na plikach loop (bez prawdziwych dyskow)
fallocate -l 5G /tmp/disk1.img
fallocate -l 5G /tmp/disk2.img
sudo zpool create testpool mirror /tmp/disk1.img /tmp/disk2.img
```

## Datasets - hierarchiczna organizacja danych

Dataset to jednostka w ZFS - możesz tworzyć hierarchię datasets, każdy z własną konfiguracją (quotas, kompresja, snapshot policy). Dziedziczenie: dataset dziedziczy właściwości po rodzicu, chyba że nadpiszesz.

```
# Utwórz datasets (montowane automatycznie)
sudo zfs create datapool/db          # /mnt/data/db
sudo zfs create datapool/backups     # /mnt/data/backups
sudo zfs create datapool/app         # /mnt/data/app

# Osobne ustawienia per dataset
# Baza danych: wylacz kompresje (skompresowane dane DB i tak nie sa kompresowalne)
sudo zfs set compression=off datapool/db

# Backupy: mocniejsza kompresja (zstd dla lepszego ratio)
sudo zfs set compression=zstd datapool/backups

# Quota: ogranicz rozmiar datasetu
sudo zfs set quota=50G datapool/app
sudo zfs set refquota=20G datapool/app   # bez wliczania snapshotow

# Listuj datasets
zfs list
zfs list -r datapool

# Szczegóły
zfs get compression,quota,used,avail datapool/app
```

## Snapshoty - tworzenie, rollback i usuwanie

```
# Utwórz snapshot (natychmiastowy)
zfs snapshot datapool/app@przed-aktualizacja
zfs snapshot -r datapool@caly-pool-snapshot  # Rekurencyjnie wszystkie datasets

# Listuj snapshoty
zfs list -t snapshot
zfs list -t snapshot -r datapool/app

# Rollback do snapshotu (COFA WSZYSTKIE ZMIANY po snapshocie)
zfs rollback datapool/app@przed-aktualizacja

# Usun snapshot
zfs destroy datapool/app@przed-aktualizacja

# Usun wszystkie snapshoty starsze niz 7 dni (przez find + destroy)
zfs list -t snapshot -H -o name datapool/app | head -5  # Sprawdz najpierw

# Backup inkrementalny przez zfs send/receive
# Pelny snapshot:
zfs send datapool/app@snapshot1 | ssh backup-server "zfs receive backuppool/app"
# Inkrementalny (tylko roznica):
zfs send -i datapool/app@snapshot1 datapool/app@snapshot2 | \
    ssh backup-server "zfs receive backuppool/app"
```

## Najczęstsze pytania

Czym jest ZFS i dlaczego jest lepsze od ext4? +

ZFS (Zettabyte File System) to połączony system plików i manager woluminów z zaawansowanymi funkcjami ochrony danych. W odróżnieniu od ext4: ZFS sprawdza integralność każdego bloku danych przy odczycie (checksumming - wykrywa "silent corruption"), snapshoty są natychmiastowe i prawie bezkosztowe (Copy-on-Write), kompresja działa transparentnie na poziomie filesystemu (lz4, zstd), RAID-Z1/Z2/Z3 zastępuje hardware RAID z lepszą odpornością na uszkodzenia. ZFS jest droższy w RAM (ARC cache), ale oferuje poziom ochrony danych nieosiągalny w ext4.

Co to jest snapshot ZFS i jak szybko działa? +

Snapshot ZFS to point-in-time kopia filesystemu - natychmiastowa (dosłownie milisekundy), niezależnie od rozmiaru danych. ZFS używa Copy-on-Write: przy zmianie bloku stary blok pozostaje w snapshocie, nowy blok jest zapisany osobno. Snapshot początkowo zajmuje 0 miejsca i rośnie tylko wraz z modyfikacjami danych po jego utworzeniu. Możesz rollback do snapshotu w kilka sekund, klonować snapshot jako nowy dataset i wysyłać snapshoty przez sieć (zfs send/receive) jako inkrementalny backup. To rewolucja w stosunku do rsync który kopiuje bite po bitu.

ZFS vs BTRFS - co wybrać na serwer Linux? +

ZFS jest bardziej dojrzały, lepiej przetestowany produkcyjnie i stosowany w enterprise (Oracle, FreeBSD/TrueNAS, Proxmox). Ma lepszą ochronę danych (checksums end-to-end) i bardziej przewidywalne zachowanie. BTRFS jest wbudowany w kernel Linux (bez osobnego modułu), prostszy do użycia i ma natywne narzędzia distro (Fedora, SUSE używają BTRFS jako domyślny FS). BTRFS snapshoty i RAID mają historycznie więcej bugów (szczególnie BTRFS RAID5/6 - unikaj). Na server produkcyjny z ważnymi danymi - ZFS. Na desktop lub NAS z prostymi potrzebami - BTRFS jest ok.

Ile RAM potrzebuje ZFS ARC? +

ARC (Adaptive Replacement Cache) to cache danych ZFS w RAM. Domyślnie ZFS używa do 50% dostępnego RAM jako ARC - na maszynie z 8 GB do 4 GB, z 16 GB do 8 GB. Możesz ograniczyć przez parametr zfs\_arc\_max (w bajtach, ustawiany w /etc/modprobe.d/zfs.conf). Minimum dla sensownego działania ZFS to 1 GB RAM, rekomendowane 2+ GB. Ogólna zasada: 1 GB RAM na 1 TB danych (dla ZFS ARC). Na VPS z 2 GB RAM ZFS działa, ale ARC będzie małe i dużo I/O trafi na dysk.

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

VPS z dużymi dyskami NVMe - ZFS pool z kompresją i snapshotami na dane produkcyjne

VPS + ZFS

[Aktywuj rabat →](/out/contabo/#reklama "Contabo")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo/)

Mikr.us

Tani VPS do nauki ZFS - przetestuj snapshoty i send/receive bez ryzyka

Dev/Test

[Aktywuj rabat →](/out/mikrus/#reklama "Mikr.us")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus/)

Zenbox

Managed hosting z automatycznym backupem - bez ZFS complexity

Managed Backup

[Aktywuj rabat →](/out/zenbox/#reklama "Zenbox")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/zenbox/)

## Powiązane strony

-   [rsync - kopie zapasowe VPS](/baza-wiedzy/rsync-kopia-zapasowa-vps/)
-   [Proxmox VE - wirtualizacja KVM i LXC](/baza-wiedzy/proxmox-ve-wirtualizacja/)
-   [Bezpieczeństwo VPS - checklist](/baza-wiedzy/bezpieczenstwo-vps-checklist/)
-   [Wszystkie artykuły](/baza-wiedzy/)
-   [VPS Windows - jak wybrać VPS z Windows Server
    
    VPS Windows: czym różni się od VPS z Linuksem, jaka licencja i ile RAM jest potrzebne oraz którzy nasi providerzy…
    
    ](/baza-wiedzy/vps-windows-jak-wybrac/)
-   [VPS vs hosting współdzielony — kiedy warto przejść na VPS w 2026
    
    VPS vs hosting współdzielony 2026 — 7 sygnałów, że czas na upgrade. Porównanie kosztów, TCO i kiedy managed VPS to…
    
    ](/baza-wiedzy/vps-vs-hosting-wspoldzielony-kiedy-warto-upgrade-2026/)
-   [Hosting Minecraft - ile kosztuje? Darmowy, Realms czy VPS
    
    Darmowy hosting Minecraft, Realms czy VPS? Ile RAM potrzebuje serwer i ile zapłacisz przez 24 miesiące. Tabela TCO,…
    
    ](/baza-wiedzy/hosting-minecraft-ile-kosztuje/)
-   [Jaki VPS wybrać?](/jaki-vps-wybrac/)

Autor: [Redakcja HostGrade.pl](/autorzy/) Zespół redakcyjny · Aktualizacja: 10 kwietnia 2026

Artykuły HostGrade.pl przygotowuje i aktualizuje redakcja serwisu. Ceny startowe, ceny odnowienia i warunki planów sprawdzamy w cennikach i regulaminach dostawców, a potem liczymy całkowity koszt za 2 lata (cena startowa plus odnowienia). Zasady zbierania danych i liczenia kosztów opisujemy na stronie Metodologia. Linki partnerskie oznaczamy jako #reklama.

[O redakcji i metodologii →](/autorzy/)