Odporúčaný postup je nastaviť jeden hlavný uzol, kde bude bežať
guix-daemon
, a /gnu/store uzlom sprístupniť cez NFS.
Zapamätajte si, že guix-daemon
je zodpovedný za spúšťanie
zostavovacích procesov a sťahovaní v mene klientov (see Invoking
guix-daemon in GNU Guix Reference Manual), a v širšom ohľade za
prístup ku /gnu/store, ktoré obsahuje binárne súbory všetkých balíkov
zostavené každým z používateľov. „Klient“ tu odkazuje na všetky Guix
príkazy prístupné pre používateľov, ako guix install
. Na zhluku
počítačov môžu tieto príkazy bežať na výpočtových uzloch a musia byť v
spojení s guix-daemon
na hlavnom uzle.
Na začiatok, inštaláciu na hlavný uzol možno vykonať podľa obvyklého postupu (see Binary Installation in GNU Guix Reference Manual). Vďaka inštalačnému skriptu by to malo byť rýchle. Po dokončení inštalácie musíme vykonať niekoľko prispôsobení.
Pretože chceme, aby bol guix-daemon
dostupný nie len z hlavného uzla,
ale aj z výpočtových uzlov, musíme to zariadiť tak, aby zisťoval
prichádzajúce pripojenia cez TCP/IP. Upravíme, teda, spúšťací súbor systemd
/etc/systemd/system/guix-daemon.service pre guix-daemon
a
pridáme voľbu --listen
na riadok s ExecStart
asi takto:
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0
Pre uplatnenie zmien musíme službu opätovne spustiť:
systemctl daemon-reload systemctl restart guix-daemon
Poznámka:
--listen=0.0.0.0
znamená, žeguix-daemon
spracuje všetky TCP pripojenia prichádzajúce cez koncový bod 44146 (see Invoking guix-daemon in GNU Guix Reference Manual). V prípade zhluku počítačov, kde je hlavný uzol prístupný výhradne z miestnej, je to vyhovujúce. Nechcete, predsa, aby bolguix-daemon
prístupný aj z internetu!
Ďalším krokom je sprístupnenie úložiska cez NFS v /etc/exports asi takto:
/gnu/store *(ro) /var/guix *(rw, async) /var/log/guix *(ro)
Priečinok /gnu/store môže byť sprístupnený len na čítanie, keďže
guix-daemon
na hlavnom uzle ho nikdy nebude upravovať.
/var/guix obsahuje profily používateľov, ktoré spravuje
guix package
. Aby mohli používatelia inštalovať s guix
package
, toto umiestnenie musí zostať prístupné aj na čítanie, aj na zápis.
Používatelia si môžu okrem predvoleného profilu ~/.guix-profile
vytvoriť toľko profilov, koľko len chcú. Napríklad, guix package -p
~/dev/python-dev -i python
nainštaluje Python do profilu prístupného cez
symbolický odkaz ~/dev/python-dev
. Aby sme sa uistili, že sa zberač
odpadkov tomuto profilu vyhne—t.j., že Python nebude z /gnu/store
odstránený pokiaľ sa profil používa—domovské priečinky by tiež mali
byť pripojené k rovnakému uzlu. guix-daemon
tak bude vedieť o týchto
neobvyklých profiloch a zabráni vyčisteniu programového vybavenia, na ktoré
odkazujú.
Môže byť užitočné pravidelne odstraňovať nepoužívané súbory z
/gnu/store pomocou guix gc
(see Invoking guix gc in GNU Guix Reference Manual). Nastavíte to pridaním vstupu contrab na
hlavný uzol:
root@master# crontab -e
… s niečím takýmto:
# Každé ráno o 5:00 spustiť zberač odpadkov a zabezpečiť, # že v /gnu/store je aspoň 10 GB voľného miesta. 0 5 * * 1 /usr/local/bin/guix gc -F10G
S hlavným uzlom sme hotoví! Pozrime sa teraz na výpočtové uzly.