TrueNAS SCALE to potężny system open-source do zarządzania danymi, oparty na systemie plików ZFS. ZFS jest sercem TrueNAS i pozwala na organizowanie danych w struktury zwane pool, dataset i zvol. Jeśli dopiero zaczynasz przygodę z TrueNAS SCALE, te terminy mogą wydawać się skomplikowane. W tym artykule wyjaśnimy w prosty sposób, czym są te elementy, czym się różnią i jak możesz je wykorzystać w praktyce.
Artykuł jest napisany z myślą o początkujących, więc nie musisz znać się na serwerach – wszystko wyjaśnimy krok po kroku!
Czym są Pool, Dataset i Zvol w ZFS?
ZFS (Zettabyte File System) to zaawansowany system plików używany w TrueNAS SCALE do zarządzania danymi. Pool, dataset i zvol to różne sposoby organizacji danych w ZFS, każdy z nich ma swoje unikalne zastosowania. Poniżej znajdziesz ich definicje i różnice.1. Pool (Pula ZFS)
Pool to podstawowa jednostka przechowywania w ZFS. Jest to zbiór fizycznych dysków (np. HDD lub SSD), które TrueNAS łączy w jedną dużą przestrzeń magazynową. Możesz myśleć o puli jak o „wielkim magazynie”, w którym przechowujesz wszystkie swoje dane.- Jak działa: Pool jest tworzony z jednego lub więcej dysków w konfiguracji (np. RAID-Z, mirror). Na przykład, jeśli masz 4 dyski, możesz stworzyć pulę o nazwie
tank, która łączy ich przestrzeń. - Przykład: Pula
tankmoże mieć 10 TB przestrzeni, utworzonej z 4 dysków po 3 TB w RAID-Z1. - Do czego służy: Pool to fundament, na którym budujesz dalsze struktury (datasety i zvole). Bez puli nie możesz przechowywać danych.
2. Dataset
Dataset to folder w systemie ZFS, który działa jak oddzielny system plików. Możesz go porównać do folderu na komputerze, ale z dodatkowymi funkcjami ZFS, takimi jak snapshoty, kompresja czy deduplikacja.- Jak działa: Dataset jest tworzony wewnątrz puli i przechowuje pliki oraz foldery. Możesz ustalać dla niego indywidualne ustawienia, np. włączyć kompresję lub ograniczyć miejsce (quota).
- Przykład: W puli
tankmożesz stworzyć datasettank/danedo przechowywania zdjęć lubtank/kontenerydla kontenerów LXC/Incus. - Do czego służy: Dataset jest idealny do przechowywania plików, folderów współdzielonych (np. przez SMB lub NFS) lub danych dla aplikacji, takich jak kontenery.
3. Zvol
Zvol (ZFS Volume) to wirtualny dysk blokowy w ZFS. Zamiast przechowywać pliki jak dataset, zvol działa jak wirtualny dysk twardy, który można podłączyć do maszyny wirtualnej (VM) lub używać jako urządzenia blokowego.- Jak działa: Zvol jest tworzony w puli ZFS i zachowuje się jak fizyczny dysk. Możesz na nim stworzyć system plików (np. ext4) lub użyć go bezpośrednio jako dysk dla VM.
- Przykład: W puli
tankmożesz stworzyć zvoltank/vm-dysko rozmiarze 100 GB, który będzie używany jako dysk dla maszyny wirtualnej. - Do czego służy: Zvol jest używany głównie do maszyn wirtualnych lub aplikacji wymagających bezpośredniego dostępu do urządzenia blokowego (np. iSCSI).
Porównanie w tabeli
| Element | Opis | Zastosowanie | Przykład |
|---|---|---|---|
| Pool | Zbiór dysków tworzący przestrzeń magazynową | Podstawa dla datasetów i zvoli | tank z 4 dysków |
| Dataset | Folder z funkcjami ZFS (snapshoty, kompresja) | Przechowywanie plików, folderów, kontenerów | tank/dane |
| Zvol | Wirtualny dysk blokowy | Dyski dla VM, iSCSI | tank/vm-dysk |
Jak to wygląda w TrueNAS SCALE?
W TrueNAS SCALE pool, dataset i zvol są zarządzane przez interfejs graficzny (UI) lub wiersz poleceń. Oto jak te elementy są wykorzystywane w praktyce w TrueNAS SCALE:- Pool: Tworzysz pulę w UI w sekcji Pamięć > Pule (Storage > Pools), dodając dyski w konfiguracji RAID-Z, mirror lub innej. Pula jest podstawą dla wszystkich danych na serwerze.
- Dataset: W UI tworzysz dataset w sekcji Pamięć > Datasets. TrueNAS SCALE automatycznie używa datasetów do przechowywania danych aplikacji (np. kontenerów LXC/Incus) lub współdzielonych folderów (SMB/NFS).
- Zvol: Zvole tworzysz w UI w sekcji Pamięć > Datasets > Add Zvol. Są one używane głównie dla maszyn wirtualnych w sekcji Wirtualizacja (Virtualization).
Uwaga: W TrueNAS SCALE kontenery LXC/Incus (np.
docker-test-srvr) są przechowywane jako datasety w puli ZFS, np. tank/containers/docker-test-srvr. Zvole są używane dla tradycyjnych VM opartych na QEMU.
Do czego możesz wykorzystać Pool, Dataset i Zvol?
Jeśli dopiero zaczynasz z TrueNAS SCALE, oto kilka praktycznych przykładów, jak wykorzystać te elementy:1. Pool – Twój magazyn danych
Zastosowanie: Pool to miejsce, w którym przechowujesz wszystkie dane – od zdjęć rodzinnych po kontenery i maszyny wirtualne. Przykład dla początkującego:- Chcesz przechowywać filmy i zdjęcia? Stwórz pulę z kilku dysków (np. 2x 4 TB w mirror), aby mieć bezpieczne miejsce na dane.
- Jak to zrobić w UI:
- Przejdź do Pamięć > Pule > Dodaj.
- Wybierz dyski i konfigurację (np. Mirror dla bezpieczeństwa).
- Nazwij pulę, np.
tank, i kliknij Utwórz.
2. Dataset – Organizacja danych i backup
Zastosowanie: Datasety są idealne do przechowywania plików, folderów współdzielonych lub danych aplikacji. Możesz tworzyć snapshoty, aby łatwo przywracać dane po awarii. Przykład dla początkującego:- Chcesz udostępnić folder z dokumentami w sieci? Stwórz dataset
tank/dokumentyi skonfiguruj go jako udział SMB. - Chcesz backupować kontener LXC/Incus? Dataset
tank/containers/docker-test-srvrautomatycznie przechowuje dane kontenera, a snapshoty pozwalają przywrócić jego stan. - Jak to zrobić w UI:
- Przejdź do Pamięć > Datasets > Dodaj dataset.
- Wybierz pulę (np.
tank) i nazwij dataset, np.dokumenty. - Włącz kompresję (np.
lz4) i kliknij Zapisz. - Aby stworzyć snapshot, przejdź do Pamięć > Snapshots > Dodaj i wybierz dataset.
3. Zvol – Dyski dla maszyn wirtualnych
Zastosowanie: Zvol jest używany jako wirtualny dysk dla maszyn wirtualnych lub aplikacji wymagających blokowego dostępu (np. serwer iSCSI). Przykład dla początkującego:- Chcesz uruchomić maszynę wirtualną z Windows 10? Stwórz zvol
tank/vm-windowsjako dysk dla VM. - Jak to zrobić w UI:
- Przejdź do Pamięć > Datasets > Dodaj Zvol.
- Wybierz pulę (np.
tank) i nazwij zvol, np.vm-windows. - Określ rozmiar, np. 100 GB, i kliknij Zapisz.
- Przejdź do Wirtualizacja > Dodaj VM, wybierz zvol jako dysk i skonfiguruj VM.
Jak to wykorzystać w TrueNAS SCALE? Praktyczne scenariusze
Oto kilka przykładów, jak początkujący może wykorzystać pool, dataset i zvol w TrueNAS SCALE:- Domowy serwer plików: Stwórz pulę
tankz 2 dyskami w mirror, a w niej datasettank/zdjeciado przechowywania zdjęć rodzinnych. Udostępnij dataset przez SMB, aby mieć dostęp z komputera lub telefonu. - Backup kontenera: Jeśli używasz kontenera LXC/Incus (np.
docker-test-srvr), jego dane są przechowywane w datasecietank/containers/docker-test-srvr. Twórz regularne snapshoty w UI, aby móc przywrócić kontener po awarii. - Maszyna wirtualna: Uruchom serwer gry (np. Minecraft) na maszynie wirtualnej. Stwórz zvol
tank/minecraftjako dysk dla VM i skonfiguruj maszynę w sekcji Wirtualizacja. - Udział iSCSI: Jeśli masz urządzenia wymagające blokowego dostępu (np. inny serwer), stwórz zvol
tank/iscsii skonfiguruj go jako udział iSCSI w sekcji Udziały > iSCSI.
Uwaga: Snapshoty ZFS (dla datasetów i zvoli) są potężnym narzędziem do backupu. Możesz je łatwo tworzyć w UI i używać do przywracania danych lub przenoszenia ich na inny serwer.
Jak zacząć? Proste kroki w UI TrueNAS SCALE
Dla początkujących, oto jak skonfigurować pool, dataset i zvol w UI:- Stwórz pulę:
- Przejdź do Pamięć > Pule > Dodaj.
- Wybierz dyski i konfigurację (np. RAID-Z1 dla bezpieczeństwa).
- Nazwij pulę, np.
tank, i kliknij Utwórz.
- Stwórz dataset:
- Przejdź do Pamięć > Datasets > Dodaj dataset.
- Wybierz pulę
tank, nazwij dataset (np.dane) i włącz kompresję. - Skonfiguruj udział SMB w Udziały > SMB, jeśli chcesz udostępnić dataset w sieci.
- Stwórz zvol:
- Przejdź do Pamięć > Datasets > Dodaj Zvol.
- Wybierz pulę
tank, nazwij zvol (np.vm-dysk) i ustaw rozmiar. - Użyj zvol w Wirtualizacja > Dodaj VM jako dysk dla maszyny wirtualnej.