Nächste: Speicherplatz, Vorige: Die Arbeitsrechner konfigurieren, Nach oben: Auf einem Rechencluster installieren [Inhalt][Index]
Guix setzt voraus, dass Netzwerkzugriff besteht, um Quellcode und vorerstellte Binärdateien herunterzuladen. Die gute Nachricht ist, dass nur der Zentralrechner Netzwerkzugriff braucht, weil die Arbeitsrechner an diesen delegieren.
Üblicherweise haben Knoten im Cluster höchstens Zugriff auf eine ausgesuchte
„Positivliste“ erlaubter Kommunikationspartner. Für den Zentralrechner muss
zumindest ci.guix.gnu.org
auf dieser Positivliste stehen, denn von
dort stammen in der Vorgabeeinstellung die vorerstellten Binärdateien für
alle Pakete, die das eigentliche Guix kennt.
Nebenbei ist ci.guix.gnu.org
außerdem ein inhaltsadressierbarer
Spiegelserver für die Quelldateien all dieser Pakete. Daher ist es
ausreichend, wenn Sie nur ci.guix.gnu.org
auf die Positivliste
setzen.
Software-Pakete, die in einem getrennten Repository angeboten werden wie
beispielsweise den HPC-Kanälen,
können natürlich nicht von ci.guix.gnu.org
bezogen werden. Für diese
Pakete möchten Sie unter Umständen weitere Server auf die Positivliste
setzen, von denen für die fremden Pakete Quell- und Binärdateien
heruntergeladen werden können (vorausgesetzt jemand stellt vorerstellte
Binärdateien für sie zur Verfügung). Wenn nicht, können Benutzer als Ausweg
auch den Quellcode auf ihre Workstations herunterladen und dann in
/gnu/store auf dem Cluster hochladen. Das geht so:
GUIX_DAEMON_SOCKET=ssh://compute-node.example.org \ guix download http://starpu.gforge.inria.fr/files/starpu-1.2.3/starpu-1.2.3.tar.gz
Der obige Befehl lädt starpu-1.2.3.tar.gz
herunter und lässt
es über SSH durch die guix-daemon
-Instanz auf dem Cluster speichern.
Wenn Ihr Cluster gänzlich von der Außenwelt abgeschnitten ist
(„air-gapped“), ist es aufwendiger. In diesem Fall würden wir dazu raten,
dass sie sämtlichen nötigen Quellcode auf eine Workstation herunterladen,
auf der Guix läuft. Dafür gibt es zum Beispiel die Befehlszeilenoption
--sources für guix build
(siehe Aufruf von guix
build in Referenzhandbuch zu GNU Guix); folgendes Beispiel zeigt,
wie Sie sämtlichen Quellcode, von dem das openmpi
-Paket abhängt,
herunterladen:
$ guix build --sources=transitive openmpi … /gnu/store/xc17sm60fb8nxadc4qy0c7rqph499z8s-openmpi-1.10.7.tar.bz2 /gnu/store/s67jx92lpipy2nfj5cz818xv430n4b7w-gcc-5.4.0.tar.xz /gnu/store/npw9qh8a46lrxiwh9xwk0wpi3jlzmjnh-gmp-6.0.0a.tar.xz /gnu/store/hcz0f4wkdbsvsdky3c0vdvcawhdkyldb-mpfr-3.1.5.tar.xz /gnu/store/y9akh452n3p4w2v631nj0injx7y0d68x-mpc-1.0.3.tar.gz /gnu/store/6g5c35q8avfnzs3v14dzl54cmrvddjm2-glibc-2.25.tar.xz /gnu/store/p9k48dk3dvvk7gads7fk30xc2pxsd66z-hwloc-1.11.8.tar.bz2 /gnu/store/cry9lqidwfrfmgl0x389cs3syr15p13q-gcc-5.4.0.tar.xz /gnu/store/7ak0v3rzpqm2c5q1mp3v7cj0rxz0qakf-libfabric-1.4.1.tar.bz2 /gnu/store/vh8syjrsilnbfcf582qhmvpg1v3rampf-rdma-core-14.tar.gz …
(Wenn Sie es genauer wissen wollen, haben wir hier mehr als 320 MiB komprimierten Quellcodes.)
Daraus lässt sich ein gesammeltes Archiv für all den Quellcode basteln (siehe Aufruf von guix archive in Referenzhandbuch zu GNU Guix):
$ guix archive --export \ `guix build --sources=transitive openmpi` \ > openmpi-quellcode.nar
… und dieses Archiv können wir dann mittels Wechseldatenträgern auf den Cluster transportieren und dort entpacken:
$ guix archive --import < openmpi-quellcode.nar
Wiederholen Sie diesen Vorgang, wann immer Sie neuen Quellcode auf den Cluster schaffen müssen.
Wir schreiben das, aber zum jetzigen Zeitpunkt haben die Forschungsinstitute, die mit Guix-HPC arbeiten, gar keinen Cluster mit Air Gap. Wenn Sie Erfahrung damit haben, freuen wir uns über Rückmeldungen und Vorschläge.
Nächste: Speicherplatz, Vorige: Die Arbeitsrechner konfigurieren, Nach oben: Auf einem Rechencluster installieren [Inhalt][Index]