Dataset je pojem ze souborového systému ZFS, který všude používáme. Můžeme si ho představit jako naformátovaný oddíl na disku s adresáři a soubory, popř. na podobném principu fungují subvolumes z btrfs.
Dataset ve vpsAdminu reprezentuje přímo ZFS dataset v zpoolu. Datasety se používají jednak na data z VPS (každá VPS je v jednom datasetu) a také NAS, jen se zobrazují na různých místech. Datasety VPS se nacházejí v detailu VPS a datasety NASu v menu NAS. S datasety VPS a NASu můžeme provádět stejné operace, jako třeba vytváření a obnovy snapshotů, mountovat je do různých VPS, apod. Tyto operace jsou popsány níže.
Datasetům lze nastavovat kvótu a jiné ZFS vlastnosti, pomocí kterých můžeme optimalizovat výkon pro různé aplikace, např. komprese, velikost bloku, atime, relatime nebo sync. Mohou posloužit také k logickému oddělení dat. Každý dataset se snapshotuje zvlášť.
Dataset VPS vytváříme z detailů VPS, dataset na NASu z menu NAS. V menu na pravé straně je odkaz Create dataset, popř. v seznamu datasetů klikneme na ikonu a tím vytvoříme subdataset zvoleného datasetu.
Pokud vytváříme dataset pomocí menu Create dataset, je nutné vyplnit
políčko Parent, tj. nadřazený dataset. Název datasetu nesmí začínat
lomítkem, ale můžeme ho použít pro vytvoření zanořeného datasetu v jednom
kroku, např. data/zalohy
vytvoří dataset data
a v něm subdataset
zalohy
. Pokud je zaškrtnutý Auto mount a nadřazený dataset je ve VPS
připojen, nově vytvořený dataset se také připojí.
Quota pak udává velikost datasetu, viz kvóty datasetů. Další ZFS vlastnosti většinou řešit nemusíme a můžeme ponechat výchozí hodnoty.
Rezervovaná jména datasetů jsou: private
, vpsadmin
, branch-*
a tree.*
.
Tyto názvy nelze použít.
V seznamu datasetů se zobrazují tři sloupečky: Used space, Referenced space a Available space. Used space zahrnuje místo zabrané datasetem, jeho snapshoty i všemi potomky. Referenced space zobrazuje jen místo, které zabírá odpovídající dataset, snapshoty ani subdatasety se nepočítají.
Available space zobrazuje volné místo v aktuálním datasetu s ohledem na nastavenou kvótu.
Pro datasety VPS se používá Reference quota - místo zabrané snapshoty a subdatasety není zahrnuto. Datasety NASu naopak Quota - místo zabrané snapshoty a subdatasety je zahrnuto. vpsAdmin automaticky dle kontextu nabízí správný typ kvóty.
U VPS nechceme, aby se do zabraného místa počítalo místo zabrané snapshoty, protože by se zmenšila velikost disku VPS, o tolik, kolik dat je změněno mezi vytvořenými snapshoty. Každý dataset je samostatný a nesdíli místo s nadřazenými datasety, ani se svými potomky.
Naopak na NASu je použita property quota a do té se počítá místo zabrané snapshoty i subdatasety. Pokud se na NASu udělají snapshoty, budou ubírat místo z celkové velikosti. Taky je jedno, že subdatasetu na NASu lze dat větší kvótu, než má uživatel k dispozici, protože se stejně uplatní kvóta z datasetu nejvyšší úrovně, tzn. ve výchozím stavu 250 GB.
Z toho vyplývá, že k vytvoření subdatasetu VPS musí být nejdříve uvolněno místo, tzn. nějaký jiný (sub)dataset VPS musí být zmenšen minimálně o 128 MB, což je minimální velikost datasetu. Na NASu záleží jen na kvótě nejvýše postaveného datasetu a kvóty subdatasetů můžou být libovolné.
Pro VPS běžící na vpsAdminOS vytvoříme export a ten ve VPS připojíme pomocí NFS.
Mounty ve vpsAdminu slouží jen pro připojení subdatasetů VPS. Datasety NASu a snapshoty se do VPS připojují pomocí exportů.
Mounty lze vidět v detailech VPS:
Mountpointy nedoporučujeme nepřirozeně zanořovat. Situace, kdy
dataset raz/dva
je připojen nad dataset raz
není ošetřena.
Mount lze dočasně odpojit tlačítkem „Disable/Enable“. Toto nastavení je perzistentní mezi restarty VPS.