Selfhosting

FS-Cache a CacheFiles: NFS z NAS po druhé čte z lokálního SSD

Zdroj: Techno Tim

Grafika s označením FS-Cache a časem čtení 565 s versus 93 s
Ilustrace: redakce

Když držíte AI modely na NAS a čtete je po NFS z několika strojů, každé načtení platí síť. Kernelový FS-Cache s backendem CacheFiles umí data z NFS cachovat na lokální SSD — soubory zůstanou na TrueNASu a cesty se nemění. V testu s modelem 155 GiB spadlo čtení z 565 na 93 sekund.

Jak to funguje

FS-Cache je framework v jádře Linuxu pro cachování síťových souborových systémů. CacheFiles dodává úložiště na disku a cachefilesd ho zaregistruje a stará se o úklid, když dojde místo. Při prvním čtení se data stáhnou po NFS a uloží lokálně; další čtení použije lokální kopii, dokud ji klient považuje za platnou. Žádné kopírování skriptem, žádná druhá pravda — zdrojem zůstává NAS a každý stroj cachuje jen to, co skutečně čte.

Zapíná se to na straně klienta: mount NFS s volbou fsc. V testu běžel NFSv4.2 s rsize a wsize 1 MiB a nconnect=4.

Čísla z testu

Co se četloBez cacheTeplá cacheZrychlení
Jeden shard 3,3 GiB4,5 s1,7 s2,6×
Celý model, 74 souborů, 155,44 GiB565 s93 s6,1×

První čtení celého modelu zahrnuje i plnění cache, takže 565 s není čisté NFS čtení. Jde o časy čtení souborů, ne o start vLLM ani o inferenci — což je podstatné, protože právě tím se oddělí režie sítě od zbytku startu.

Jak to zapnout

  1. Nainstalovat nfs-common a cachefilesd.
  2. Připravit úložiště pro cache — v ukázce 256 GiB ext4 v obraze přes loop, tedy demo volba, ne podmínka.
  3. Napsat konfiguraci cachefilesd s cestou k cache a limity, spustit jako samostatnou službu.
  4. Ověřit, že cache existuje: cat /proc/fs/fscache/caches.
  5. Připojit NFS s fsc a číst.

Kdy to nedělat

Test maže page cache celého klienta a alokuje velký obraz na disku — patří na stroj, který můžete obětovat, ne na produkční server uprostřed provozu. A dává to smysl jen tam, kde se stejná data čtou opakovaně: model, který se načte jednou za měsíc, se do cache nevyplatí.

Pro správce homelabu: než začnete řešit síť, změřte, kolik času skutečně trávíte čtením. U modelů nad 100 GiB je to největší položka startu a lokální SSD je levnější než upgrade na 25 gigabit.

Zdroje

  1. Cache NFS Files Locally with Linux FS-Cache and CacheFiles — Techno Tim

Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.