S btrfs nemám žádné zkušenosti, ale je inzerováno, že dokáže
deduplikovat soubory.
V mé aplikaci bych potřeboval duplikovat celé adresářové stromy.
Z toho, co jsem se dozvěděl, btrfs deduplikuje pouze v nějakém post scanu, ne
okamžitě. I jen pomocí cp
nezdá se, že by spouštěl žádnou
deduplikaci (alespoň df
ukazuje zvýšené využití disku ve
velikosti zkopírovaných souborů).
Mohu se úplně vyhnout přesouvání dat a říct btrfs
přímo k
duplikovat soubor na jiném místě, v podstatě jen klonovat jeho
metadata?
V podstatě podobný pevnému odkazu, ale s nezávislými metadaty
(oprávnění, časy úprav, …).
Přijatá odpověď:
Existují dvě možnosti:
cp --reflink=always
cp --reflink=auto
Druhý je téměř vždy výhodnější než první. Pomocí auto
znamená, že se vrátí k vytvoření věrné kopie, pokud systém souborů nepodporuje přelinkování (například ext4 nebo kopírování do sdílené složky NFS). S první možností jsem si docela jistý, že to zcela selže a přestane kopírovat.
Pokud to používáte jako součást skriptu, který musí být robustní tváří v tvář neideálním podmínkám, auto
bude sloužit lépe.