Sie fragen - wir antworten!

Apps & Leitfäden

Blender Remote-Rendering mit Flamenco

Wenn das Rendern umfangreicher Szenen in Blender zu viel Zeit Ihres Teams in Anspruch nimmt, haben Sie zwei Möglichkeiten: Entweder Sie rüsten den Computer jedes Teammitglieds auf oder Sie lagern das Rendering an eine spezielle Farm aus. Viele Unternehmen bieten fertige Rendering-Lösungen an, aber wenn Sie die volle Kontrolle über die Infrastruktur benötigen, sind diese Lösungen möglicherweise nicht die zuverlässigste Option.

Ein alternativer Ansatz könnte der Aufbau einer hybriden Infrastruktur sein. In diesem Fall würden Sie die Datenspeicherung und die Verwaltung der Rendering-Farm innerhalb Ihrer bestehenden Infrastruktur belassen. Das einzige Element, das sich außerhalb befinden würde, wären die gemieteten GPU-Server, auf denen das Rendering durchgeführt würde.

Im Allgemeinen sieht die Rendering-Farm-Infrastruktur für Blender wie folgt aus:

Basic components scheme

Hier haben wir einen zentralen Manager Knoten, der alle Prozesse organisiert. Er erhält Rendering-Aufgaben von Benutzern über einen bestimmten Blender Add-on und verschiebt alle notwendigen Dateien zu Shared Storage. Dann verteilt Manager die Aufgaben an Worker nodes. Diese erhalten einen Auftrag, der alle Informationen darüber enthält, wo der Worker Dateien zum Rendern finden kann und was mit den erhaltenen Ergebnissen zu tun ist. Um dieses Schema zu implementieren, können Sie eine völlig freie und quelloffene Anwendung namens Flamenco verwenden. In diesem Leitfaden zeigen wir, wie Sie alle Knoten vorbereiten, insbesondere Manager und Worker.

Für den Knoten Storage gibt es keine besonderen Anforderungen. Er kann mit jedem Betriebssystem verwendet werden, das SMB/CIFS- oder NFS-Protokolle unterstützt. Die einzige Voraussetzung ist, dass das Speicherverzeichnis eingehängt und für das Betriebssystem zugänglich sein muss. In Ihrer Infrastruktur kann dies ein beliebiger gemeinsamer Ordner sein, der für alle Knoten zugänglich ist.

Jeder Knoten hat unterschiedliche IP-Adressen, und der Wireguard VPN Server wird ein zentraler Punkt sein, der sie zu einem L2-Netzwerk zusammenführt. Dieser Server, der sich an der Außengrenze befindet, ermöglicht es Ihnen, ohne Änderungen an der bestehenden NAT-Richtlinie zu arbeiten.

Virtual components scheme

Für dieses Beispiel erstellen wir die folgende gemischte Konfiguration:

  • 10.0.0.1 - Wireguard VPN server (virtueller Server eines beliebigen Infrastrukturanbieters) mit einer externen IP;
  • 10.0.0.2 - Worker node (dedizierter Server von LeaderGPU) mit einer externen IP;
  • 10.0.0.3 - Manager node (virtueller Server im Büronetzwerk), der sich hinter NAT befindet;
  • 10.0.0.4 - Storage node (virtueller Server im Büronetzwerk), der sich hinter NAT befindet;
  • 10.0.0.5 - User node (Verbraucher-Laptop im Büronetz) hinter NAT.

Schritt 1. Wireguard

VPN-Server

Sie können Wireguard manuell installieren und konfigurieren, indem Sie eine offizielle Anleitung und Beispiele verwenden. Es gibt jedoch eine einfachere Alternative: ein inoffizielles Skript von einem Softwareentwickler aus Paris (Stanislas alias angristan).

Laden Sie das Skript von GitHub herunter:

wget https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh

Machen Sie es ausführbar:

sudo chmod +x wireguard-install.sh

Ausführen:

sudo ./wireguard-install.sh

Folgen Sie den Anweisungen und legen Sie den IP-Adressbereich 10.0.0.1/24 fest. Das System wird Sie auffordern, sofort eine Konfigurationsdatei für den ersten Client zu erstellen. Laut Plan wird dieser Client der Arbeitsknoten mit dem Namen Worker und der Adresse 10.0.0.2 sein. Wenn das Skript abgeschlossen ist, erscheint eine Konfigurationsdatei im Stammverzeichnis: /root/wg0-client-Worker.conf.

Führen Sie den folgenden Befehl aus, um diese Konfiguration anzuzeigen:

cat /home/usergpu/wg0-client-Worker.conf
[Interface]
PrivateKey = [CLIENT_PRIVATE_KEY]
Address = 10.0.0.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = [SERVER_PRIVATE_KEY]
PresharedKey = [SERVER_PRESHARED_KEY]
Endpoint = [IP_ADDRESS:PORT]
AllowedIPs = 10.0.0.0/24,::/0

Führen Sie das Installationsskript erneut aus, um einen weiteren Client zu erstellen. Fügen Sie auf diese Weise alle künftigen Clients hinzu, und überprüfen Sie abschließend, ob alle Konfigurationsdateien erstellt wurden:

cd ~/
ls -l | grep wg0
-rw-r--r-- 1 root    root      529 Jul 14 12:59 wg0-client-Manager.conf
-rw-r--r-- 1 root    root      529 Jul 14 12:59 wg0-client-Storage.conf
-rw-r--r-- 1 root    root      529 Jul 14 12:59 wg0-client-User.conf
-rw-r--r-- 1 root    root      529 Jul 14 12:58 wg0-client-Worker.conf

VPN-Klienten

VPN-Clients umfassen alle Knoten, die mit einem einzigen Netzwerk verbunden sein müssen. In unserer Anleitung bezieht sich dies auf den Manager-Knoten, den Storage-Knoten, den Client-Knoten (bei Verwendung von Linux) und die Worker-Knoten. Wenn der VPN-Server auf einem Worker-Knoten läuft, muss er nicht als Client konfiguriert werden (dieser Schritt kann übersprungen werden).

Aktualisieren Sie das Paket-Cache-Repository und installieren Sie dann die Pakete Wireguard und CIFS-Unterstützung:

sudo apt update && sudo apt -y install wireguard cifs-utils

Erhöhen Sie die Rechte auf Superuser:

sudo -i

Öffnen Sie das Wireguard-Konfigurationsverzeichnis:

cd /etc/wireguard

Führen Sie den Befehl umask aus, so dass nur der Superuser Zugriff auf die Dateien in diesem Verzeichnis hat:

umask 077

Erzeugen Sie einen privaten Schlüssel und speichern Sie ihn in einer Datei:

wg genkey > private-key

Erzeugen Sie einen öffentlichen Schlüssel mit dem privaten Schlüssel:

wg pubkey > public-key < private-key

Erstellen Sie eine Konfigurationsdatei:

nano /etc/wireguard/wg0.conf

Fügen Sie Ihre eigene, für diesen Client erstellte Konfiguration ein:

[Interface]
PrivateKey = [CLIENT_PRIVATE_KEY]
Address = 10.0.0.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = [SERVER_PRIVATE_KEY]
PresharedKey = [SERVER_PRESHARED_KEY]
Endpoint = [SERVER_IP_ADDRESS:PORT]
AllowedIPs = 10.0.0.0/24,::/0
PersistentKeepalive = 1

Vergessen Sie nicht, auf jedem Knoten, der sich hinter NAT befindet, die Option PersistentKeepalive = 1 hinzuzufügen (wobei 1 für 1 Sekunde steht). Sie können diesen Zeitraum experimentell wählen. Der von den Autoren von Wireguard empfohlene Wert ist 25. Speichern Sie die Datei und beenden Sie sie mit der Tastenkombination CTRL + X und der Taste Y zur Bestätigung.

Wenn Sie den Internetverkehr durchleiten möchten, setzen Sie AllowedIPs auf 0.0.0.0/0,::/0

Melden Sie sich dann mit dem Root-Konto ab:

exit

Starten Sie die Verbindung mit systemctl:

sudo systemctl start wg-quick@wg0.service

Prüfen Sie, ob alles in Ordnung ist und der Dienst erfolgreich gestartet wurde:

sudo systemctl status wg-quick@wg0.service
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2023-10-23 09:47:53 UTC; 1h 45min ago
  Docs: man:wg-quick(8)
        man:wg(8)
        https://www.wireguard.com/
        https://www.wireguard.com/quickstart/
        https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
        https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
Process: 4128 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
Main PID: 4128 (code=exited, status=0/SUCCESS)
  CPU: 76ms

Wenn Sie unter Ubuntu 22.04 eine Fehlermeldung wie "resolvconf: command not found" erhalten, erstellen Sie einfach einen Symbol-Link:

sudo ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf

Aktivieren Sie den neuen Dienst, damit er sich beim Booten des Betriebssystems automatisch verbindet:

sudo systemctl enable wg-quick@wg0.service

Jetzt können Sie die Konnektivität überprüfen, indem Sie Echo-Pakete senden:

ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=145 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=72.0 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=72.0 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=72.2 ms
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 71.981/90.230/144.750/31.476 ms

Schritt 2. NAS-Knoten

Verbinden Sie sich mit dem VPN-Server unter Verwendung der Anleitung aus Schritt 1. Installieren Sie dann die Server- und Client-Samba-Pakete:

sudo apt install samba samba-client

Sichern Sie Ihre Standardkonfiguration:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Erstellen Sie ein Verzeichnis, das als Freigabe verwendet werden soll:

sudo mkdir /mnt/share

Erstellen Sie eine neue Benutzergruppe, die Zugriff auf die neue Freigabe erhalten soll:

sudo groupadd smbusers

Fügen Sie einen bestehenden Benutzer zu der erstellten Gruppe hinzu:

sudo usermod -aG smbusers user

Legen Sie ein Passwort für diesen Benutzer fest. Dieser Schritt ist notwendig, da das Systempasswort und das Samba-Passwort unterschiedliche Entitäten sind:

sudo smbpasswd -a $USER

Entfernen Sie die Standardkonfiguration:

sudo rm /etc/samba/smb.conf

Und erstellen Sie eine neue:

sudo nano /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[private]
path = /mnt/share
valid users = @smbusers
guest ok = no
browsable = yes
writable = yes

Speichern Sie die Datei und testen Sie die neuen Parameter:

testparm -s

Starten Sie beide Samba-Dienste neu:

sudo service smbd restart
sudo service nmbd restart

Geben Sie schließlich die Erlaubnis, den Ordner freizugeben:

sudo chown user:smbusers /mnt/share

Schritt 3. Verbindung mit dem Samba-Client

Alle Knoten in Flamenco verwenden ein gemeinsames Verzeichnis, das sich unter /mnt/flamenco befindet. Sie müssen dieses Verzeichnis auf jedem Knoten einhängen, bevor Sie die Skripte flamenco-client oder flamenco-manager ausführen. In diesem Beispiel verwenden wir einen auf LeaderGPU gehosteten Arbeitsknoten mit dem Benutzernamen usergpu. Bitte ersetzen Sie diese Angaben durch Ihre eigenen, falls sie abweichen.

Erstellen Sie eine versteckte Datei, in der Sie die Anmeldeinformationen für die SMB-Freigabe speichern können:

nano /home/usergpu/.smbcredentials

Geben Sie diese beiden Zeichenfolgen ein:

username=user # your Samba username
password=password # your Samba password

Speichern Sie diese Datei und beenden Sie sie. Sichern Sie dann diese Datei, indem Sie die Zugriffsrechte ändern:

sudo chmod 600 /home/usergpu/.smbcredentials

Erstellen Sie ein neues Verzeichnis, das als Einhängepunkt für den entfernten Speicher verwendet werden kann:

sudo mkdir /mnt/flamenco

Und machen Sie den Benutzer zum Eigentümer dieses Verzeichnisses:

sudo chown usergpu:users /mnt/flamenco

Das Einzige, was noch fehlt, ist, dass das Netzwerkverzeichnis automatisch eingehängt wird:

sudo nano /etc/systemd/system/mnt-flamenco.mount
[Unit]
Description=Mount Remote Storage
[Mount]
What=//10.0.0.4/private
Where=/mnt/flamenco
Type=cifs
Options=mfsymlinks,credentials=/home/usergpu/.smbcredentials,uid=usergpu,gid=users
[Install]
WantedBy=multi-user.target

Fügen Sie Ihrer VPN-Konfiguration im Abschnitt [Interface] zwei Zeilen hinzu:

sudo -i
nano /etc/wireguard/wg0.conf
…
PostUp = ping 10.0.0.4 -c 4 && systemctl start mnt-flamenco.mount
PostDown = systemctl stop mnt-flamenco.mount
…

Starten Sie den Server neu:

sudo shutdown -r now

Überprüfen Sie, ob die Dienste geladen sind und das gemeinsame Verzeichnis erfolgreich gemountet wurde:

df -h
Filesystem          Size  Used Avail Use% Mounted on
tmpfs                35G  3.3M   35G   1% /run
/dev/sda2            99G   18G   77G  19% /
tmpfs               174G     0  174G   0% /dev/shm
tmpfs               5.0M     0  5.0M   0% /run/lock
tmpfs                35G  8.0K   35G   1% /run/user/1000
//10.0.0.4/private   40G  9.0G   31G  23% /mnt/flamenco

Schritt 4. Manager-Knoten

Richten Sie eine VPN-Verbindung anhand der Anleitung aus Schritt 1 ein. Beenden Sie den VPN-Dienst, bevor Sie fortfahren:

sudo systemctl stop wg-quick@wg0.service

Bereiten Sie sich vor. Automatisches Einbinden der für das CIFS-Protokoll erforderlichen Dienstprogramme:

sudo apt -y install cifs-utils

Der nächste wichtige Schritt ist die Installation von Blender. Sie können dazu den standardmäßigen APT-Paketmanager verwenden, aber damit wird höchstwahrscheinlich eine der älteren Versionen installiert (weniger als v3.6.4). Lassen Sie uns Snap verwenden, um die neueste Version zu installieren:

sudo snap install blender --classic

Überprüfen Sie die installierte Version mit dem folgenden Befehl:

blender --version
Blender 4.4.3
build date: 2025-04-29
build time: 15:12:13
build commit date: 2025-04-29
build commit time: 14:09
build hash: 802179c51ccc
build branch: blender-v4.4-release
build platform: Linux
build type: Release
…

Wenn Sie eine Fehlermeldung erhalten, die auf fehlende Bibliotheken hinweist, installieren Sie diese einfach. Alle diese Bibliotheken sind im XOrg-Paket enthalten:

sudo apt -y install xorg

Laden Sie die Anwendung herunter:

wget https://flamenco.blender.org/downloads/flamenco-3.7-linux-amd64.tar.gz

Entpacken Sie das heruntergeladene Archiv:

tar xvfz flamenco-3.7-linux-amd64.tar.gz

Wechseln Sie in das erstellte Verzeichnis:

cd flamenco-3.7-linux-amd64/

Und starten Sie Flamenco zum ersten Mal:

./flamenco-manager

Öffnen Sie die folgende Adresse in Ihrem Web-Browser: http://10.0.0.3:8080/. Klicken Sie auf die Schaltfläche Let's go. Geben Sie /mnt/flamenco in das entsprechende Feld ein, und klicken Sie dann auf Next:

Shared storage setup

Flamenco wird versuchen, die ausführbare Datei von Blender zu finden. Wenn Sie Blender von Snap aus installiert haben, wird der Pfad /snap/bin/blender sein. Überprüfen Sie diesen Punkt und klicken Sie auf Next:

PATH environment setup

Überprüfen Sie die Zusammenfassung und klicken Sie auf Confirm:

Check summary settings

Kehren Sie zur SSH-Sitzung zurück und verwenden Sie die Tastenkombination Ctrl + C, um die Anwendung zu unterbrechen. Beim ersten Start wird die Konfigurationsdatei flamenco-manager.yaml erzeugt. Fügen wir einige Optionen in den Abschnitten variables und blenderArgs hinzu:

nano flamenco-manager.yaml
# Configuration file for Flamenco.
# For an explanation of the fields, refer to flamenco-manager-example.yaml
#
# NOTE: this file will be overwritten by Flamenco Manager's web-based configuration system.
#
# This file was written on 2023-10-17 12:41:28 +00:00 by Flamenco 3.7
_meta:
  version: 3
manager_name: Flamenco Manager
database: flamenco-manager.sqlite
listen: :8080
autodiscoverable: true
local_manager_storage_path: ./flamenco-manager-storage
shared_storage_path: /mnt/flamenco
shaman:
  enabled: true
  garbageCollect:
    period: 24h0m0s
    maxAge: 744h0m0s
    extraCheckoutPaths: []
task_timeout: 10m0s
worker_timeout: 1m0s
blocklist_threshold: 3
task_fail_after_softfail_count: 3
variables:
  blender:
    values:
    - platform: linux
      value: blender
    - platform: windows
      value: blender
    - platform: darwin
      value: blender
  storage:
    values:
    is_twoway: true
    values:
    - platform: linux
      value: /mnt/flamenco
    - platform: windows
      value: Z:\
    - platform: darwin
      value: /Volumes/shared/flamenco
  blenderArgs:
    values:
    - platform: all
      value: -b -y -E CYCLES -P gpurender.py

Der erste zusätzliche Block beschreibt zusätzliche Two-way-Variablen, die für Multiplattform-Farmen benötigt werden. Damit wird das Hauptproblem mit Schrägstrichen und Pfaden gelöst. Unter Linux verwenden wir das Schrägstrich-Symbol (/) als Trennzeichen, aber unter Windows verwenden wir das Backslash-Symbol (\). Hier erstellen wir die Ersetzungsregel für alle verfügbaren Alternativen: Linux, Windows und macOS (Darwin).

Wenn Sie eine Netzwerkfreigabe unter Windows einbinden, müssen Sie einen Laufwerksbuchstaben auswählen. Zum Beispiel wird unser Storage mit dem Buchstaben Z: gemountet. Die Ersetzungsregel teilt dem System mit, dass für die Windows-Plattform der Pfad /mnt/flamenco unter Z:\ zu finden sein wird. Für macOS lautet dieser Pfad /Volumes/shared/flamenco.

Sehen Sie sich den zweiten hinzugefügten Block an. Dieser weist Blender an, die Cycles-Rendering-Engine zu verwenden und ruft ein einfaches Python-Skript, gpurender.py, auf, wenn Blender ausgeführt wird. Dies ist ein einfacher Trick, um die GPU anstelle der CPU zu verwenden. Es gibt keine Standardoption, um dies direkt zu tun. Sie können nicht blender --use-gpu oder etwas Ähnliches aufrufen. Sie können jedoch jedes externe Python-Skript mit der Option -P aufrufen. Dieser Befehl weist Worker an, ein Skript im lokalen Verzeichnis zu suchen und es auszuführen, wenn der zugewiesene Job die ausführbare Datei von Blender aufruft.

Jetzt können wir die Kontrolle über die Anwendung an das systemd init-Subsystem delegieren. Informieren wir das System über den Ort des Arbeitsverzeichnisses, die ausführbare Datei und die zum Starten erforderlichen Benutzerrechte. Erstellen Sie eine neue Datei:

sudo nano /etc/systemd/system/flamenco-manager.service

Füllen Sie sie mit den folgenden Zeichenketten:

[Unit]
Description=Flamenco Manager service
[Service]
User=user
WorkingDirectory=/home/user/flamenco-3.7-linux-amd64
ExecStart=/home/user/flamenco-3.7-linux-amd64/flamenco-manager
Restart=always
[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und beenden Sie den nano-Texteditor.

sudo systemctl daemon-reload
sudo systemctl start flamenco-manager.service
sudo systemctl status flamenco-manager.service
● flamenco-manager.service - Flamenco Manager service
Loaded: loaded (/etc/systemd/system/flamenco-manager.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-17 11:03:50 UTC; 7s ago
Main PID: 3059 (flamenco-manage)
 Tasks: 7 (limit: 4558)
  Memory: 28.6M
     CPU: 240ms
CGroup: /system.slice/flamenco-manager.service
        └─3059 /home/user/flamenco-3.7-linux-amd64/flamenco-manager

Aktivieren Sie den automatischen Start beim Hochfahren des Systems:

sudo systemctl enable flamenco-manager.service

Schritt 5. Arbeiterknoten

Stellen Sie eine Verbindung zum VPN-Server her, indem Sie die Anleitung aus Schritt 1 verwenden und die Freigabe aus Schritt 3 einhängen. Beenden Sie den VPN-Dienst, bevor Sie fortfahren:

sudo snap install blender --classic

Moderne *.blend-Dateien werden mit dem Zstandard-Algorithmus komprimiert. Um Fehler zu vermeiden, ist es wichtig, diesen Algorithmus zu unterstützen:

sudo apt -y install python3-zstd

Laden Sie die Anwendung herunter:

wget https://flamenco.blender.org/downloads/flamenco-3.7-linux-amd64.tar.gz

Entpacken Sie das heruntergeladene Archiv:

tar xvfz flamenco-3.7-linux-amd64.tar.gz

Navigieren Sie zu dem erstellten Verzeichnis:

cd flamenco-3.7-linux-amd64/

Erstellen Sie ein zusätzliches Skript, das das GPU-Rendering aktiviert, wenn Flamenco-Jobs ausgeführt werden:

nano gpurender.py
import bpy
def enable_gpus(device_type, use_cpus=False):
    preferences = bpy.context.preferences
    cycles_preferences = preferences.addons["cycles"].preferences
    cycles_preferences.refresh_devices()
    devices = cycles_preferences.devices
    if not devices:
        raise RuntimeError("Unsupported device type")
    activated_gpus = []
    for device in devices:
        if device.type == "CPU":
            device.use = use_cpus
        else:
            device.use = True
            activated_gpus.append(device.name)
            print('activated gpu', device.name)
    cycles_preferences.compute_device_type = device_type
    bpy.context.scene.cycles.device = "GPU"
    return activated_gpus
enable_gpus("CUDA")

Speichern Sie die Datei und beenden Sie sie. Erstellen Sie dann einen separaten Dienst, um Flamenco über systemd auszuführen:

sudo nano /etc/systemd/system/flamenco-worker.service
[Unit]
Description=Flamenco Worker service
[Service]
User=usergpu
WorkingDirectory=/home/usergpu/flamenco-3.7-linux-amd64
ExecStart=/home/usergpu/flamenco-3.7-linux-amd64/flamenco-worker
Restart=always
[Install]
WantedBy=multi-user.target

Laden Sie die Konfiguration neu und starten Sie den neuen Dienst:

sudo systemctl daemon-reload
sudo systemctl start flamenco-worker.service
sudo systemctl status flamenco-worker.service
● flamenco-worker.service - Flamenco Worker service
Loaded: loaded (/etc/systemd/system/flamenco-worker.service; enabled; preset: enabled)
Active: active (running) since Tue 2023-10-17 13:56:18 EEST; 47s ago
Main PID: 636 (flamenco-worker)
 Tasks: 5 (limit: 23678)
Memory: 173.9M
   CPU: 302ms
CGroup: /system.slice/flamenco-worker.service
        └─636 /home/user/flamenco-3.7-linux-amd64/flamenco-worker

Aktivieren Sie den automatischen Start beim Hochfahren des Systems:

sudo systemctl enable flamenco-worker.service

Schritt 6. Benutzerknoten

Der Benutzerknoten kann mit jedem Betriebssystem verwaltet werden. In dieser Anleitung zeigen wir, wie man einen Knoten mit Windows 11 und 4 notwendigen Komponenten einrichtet:

  1. VPN-Verbindung
  2. Gemountetes Remote-Verzeichnis
  3. Blender installiert
  4. Flamenco-Zusatzmodul

Laden Sie Wireguard von der offiziellen Website herunter und installieren Sie es. Erstellen Sie eine neue Textdatei und fügen Sie die Konfiguration ein, die in Schritt 1 für den Client erstellt wurde. Benennen Sie die Datei in flamenco.conf um und fügen Sie sie in Wireguard über die Schaltfläche Add tunnel hinzu:

Wireguard Add Tunnel

Stellen Sie eine Verbindung zu Ihrem Server her, indem Sie auf die Schaltfläche Activate klicken:

Activate the tunnel

Mounten wir ein entferntes Verzeichnis. Klicken Sie mit der rechten Maustaste auf This PC und wählen Sie Map network drive…

Mount the remote directory

Wählen Sie Z: als Laufwerksbuchstaben, geben Sie die Adresse der Samba-Freigabe \\10.0.0.4\private ein und vergessen Sie nicht, Connect using different credentials anzukreuzen. Klicken Sie dann auf Finish. Das System fordert Sie auf, einen Benutzernamen und ein Passwort für die Freigabe einzugeben. Daraufhin wird das Netzwerkverzeichnis als Laufwerk Z: eingebunden.

Laden Sie Blender von der offiziellen Website herunter und installieren Sie es. Öffnen Sie dann die URL http://10.0.0.3:8080/flamenco3-addon.zip und installieren Sie das Flamenco Add-on. Aktivieren Sie es in den Einstellungen: Edit > Preferences > Add-ons. Markieren Sie System: Flamenco 3, geben Sie die Manager-URL http://10.0.0.3:8080 ein und klicken Sie auf die Schaltfläche Aktualisieren. Das System wird sich mit dem Manager-Knoten verbinden und die Speichereinstellungen automatisch laden:

Enable Flamenco add-on

Öffnen Sie die Datei, die Sie rendern möchten. Wählen Sie auf der Registerkarte Scene die Option Cycles aus der Dropdown-Liste Render Engine. Vergessen Sie nicht, die Datei zu speichern, da diese Einstellungen direkt in der *.blend-Datei gespeichert werden:

Select Render Engine

Scrollen Sie nach unten und suchen Sie den Abschnitt Flamenco 3. Klicken Sie auf Fetch job types, um eine Liste der verfügbaren Typen anzuzeigen. Wählen Sie Simple Blender Render aus der Dropdown-Liste und legen Sie weitere Optionen fest, z. B. die Anzahl der Frames, die Chunk-Größe und den Ausgabeordner. Klicken Sie schließlich auf Submit to Flamenco:

Set rendering parameters

Das Flamenco-Add-on erstellt einen neuen Auftrag und lädt eine Blend-Datei in den gemeinsamen Speicher hoch. Das System übergibt den Auftrag an einen verfügbaren Worker und startet den Rendering-Prozess:

Check added rendering job

Wenn Sie die Auslastung der GPUs mit nvtop oder ähnlichen Programmen überprüfen, zeigt dies, dass alle GPUs Rechenaufgaben haben:

Check GPU load

Sie finden das Ergebnis in einem Verzeichnis, das Sie im vorherigen Schritt ausgewählt haben. Beispiel hier (Ripple Dreams von James Redmond)

Siehe auch:



Aktualisiert: 12.08.2025

Veröffentlicht: 21.01.2025