Eida.cz - Strojem času z kapes do batůžků

Strojem času z kapes do batůžků

Eida

Je to poměrně zvláštní, s nedávným příchodem sekvojové 15.6 nastala sice dlouho očekávaná, ale přesto obávaná změna. Systém najednou ohlásil, že v budoucnu úplně odstraní podporu AFP pro časové kapsy. Bylo docela náročné si speciálně kvůli tomu udělat přechod na totální btrfs a zkusit to co nejvíce optimalizovat, protože jiné způsoby nebyly nikdy žádná sláva. Ale jak už to bývá, věci je potřeba neustále ověřovat.

Sequoia 15.6 začala s nepříjemným hlášením o vypnutí podpory AFP

Po tomto nátlaku tedy došlo na lámání chleba a spolu s ním i na další pokus rozjet časovou kapsu na SMB protokolu pomocí linuxové Samby. Pořád z toho čiší nějaká historická pachuť, proč vlastně Apple opouští a nerozšiřuje vlastní protokol, případně co bude tedy s Netatalkem, nebo jakým způsobem se bude co rozvíjet. Při posledním testování, což vlastně bylo někdy v době Big Suru, se Samba pořád neosvědčila na takové operace, ale dnešní výsledek byl docela překvapením.

V první řadě je nutné říct, že moderní implementace SMB mají se starým Windows přístupem docela málo společného a Samba také roste jako z vody. Už je docela dospělá v tom, že rozšíření jako fruit nebo catia jsou vestavěné, fungují na tom kvóty, paralelní streamy, spoustu dalších funkcí. Co stále není úplně triviální, je integrace uživatelů – s klasickým UNIXovým přístupem to úplně nefrčí, použít LDAP, resp. AD, je v tomhle ohledu taky docela zbytečné, takže jak na to? Možná není od věci vytvořit separátní účet jen pro účely zálohování, když stejně každá kapsa může být izolovaná a šifrovaná. Dává to smysl? Tedy vytvoříme v linuxovém systému účet bez domovského adresáře a hesla, nastavíme mu heslo do Samba backendu, dáme ho do sambové skupiny (ta už možná existuje, pokud je Samba nainstalovaná):

# adduser --no-create-home --disabled-password timemachine
# smbpasswd -a timlmachine
# groupadd sambashare
# usermod -aG sambashare timemachine

a pak ještě připravit místečko na nové kapsy

# mkdir -p /srv/timemachine
# chown timemachine:sambashare /srv/timemachine
# chmod 770 /srv/timemachine

Zatím dobrý. Protože na současném ARMv9 stroji Sambu ještě nemám, po instalaci se dalo začít s čistým štítem, což by mohlo vypadat zjednodušeně asi následovně.

smb.conf 1.34 KiB
# /etc/smb.conf

[global]
   workgroup = WORKGROUP
   server string = Server name
   netbios name = xyz-server.eida.lan
   security = user
   map to guest = never
   min protocol = SMB2

   # Rozšíření "fruit" a "streams_xattr"
   vfs objects = catia fruit streams_xattr

   # Doporučené nastavení pro rychlost a kompatibilitu
   ea support = yes
   spotlight = yes
   fruit:metadata = stream
   fruit:model = Xserve3,1
   fruit:posix_rename = yes
   fruit:veto_appledouble = no
   fruit:wipe_intentionally_left_blank_rfork = yes
   fruit:time machine = yes

   # Omezení na IP rozsah LAN
   hosts allow = 192.168. 127.
   hosts deny = 0.0.0.0/0

   # Logování
   log level = 1
   log file = /var/log/samba/log.%m
   max log size = 1000

   # Hack propustnosti
   max connections = 256
   socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=524288 SO_SNDBUF=524288

[homes]
   comment = Home Directories
   browseable = no
   read only = no

[timemachine-example]
   comment = Time Machine XYZ
   path = /srv/timemachine/
   valid users = timemachine
   read only = no
   guest ok = no
   browseable = yes

   # Veto files zakáže zálohování .DS_Store
   veto files = /.DS_Store/

   # Další klíčové parametry pro Time Machine
   fruit:time machine = yes
   fruit:time machine max size = 1000G
   fruit:advertise_fullsync = true
   spotlight = yes
Minimální konfigurace SMB pro Time Machnine

Když se ukáže testparm jako ok, můžeme restarovat systemctl restart smbd a zkusit sdílený adresář z Macu připojit. Zatím žádná záhada, připojení se zdařilo a zálohování začalo chrlit. Co ale bylo překvapení, tak že se propustnost od minulého zkoušení zvýšila víc jak trojnásobně, dokonce bylo spojení i stabilní. Takže udělali v macOS nějaký hack, že se SMB protokol najednou dá používat? Protože mít (první zálohu a pár prvních inkremántílních) rychlost stabilně okolo 80-130 MB/s je docela úlet, to nebývalo, opatrně asi chválím.

Na druhém konci, tedy linuxovém systému, bylo skvěle vidět, že není žádný overhead a že zátěž v maximálním toku je nízká a snesitelná. Hodně samozřejmě dělají paralelní spojení a případně hacky v TCP bufferech, ale z větší části je to trochu inteligentnějším chováním macovského klienta.

Samba během zálohování pracuje celkem efektivně na rychlostech 80-150 MB/s

Vida tedy, asi po letech tradic nakonec z klasických kapes skočíme do úplně nových batůžků, jako želvičky. Rozhodně se uvidí, jak to bude dále probíhat, jak s tím zamíchá nastavení btrfs, co se časem bude muset vypnout a co ne. Přechod konečně hodnotím jako zdařilý, někdo u toho i přemýšlel. Konečně. Kéž by všechny změny byly takhle plynulé. 

Tento článek přečetlo již 308 čtenářů (0 dnes).

Komentáře

Nový komentář