Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| rex3d:openfoamremote [2026/08/07 09:23] – [Verwendung auf einem lokalen PC mit WSL] admin | rex3d:openfoamremote [2026/09/02 09:56] (aktuell) – admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== REX3D einrichten ====== | ||
| ====== REX3D mit OpenFOAM einrichten ====== | ====== REX3D mit OpenFOAM einrichten ====== | ||
| - | REX3D in der Kombination mit unserem OpenFOAM Solver arbeitet gekapselt in einer Linuxumgebung, | ||
| - | Sie haben zwei Möglichkeiten zur Verwendung des OpenFOAM Solver: | ||
| - | - Als lokalen Linux Container in einer WSL Umgebung | ||
| - | - Remotezugriff auf einem Linux System | ||
| - | Die Einrichtung | + | REX3D verwendet in Kombination mit unserem OpenFOAM-Solver eine gekapselte Linux-Umgebung. Nach der einmaligen Einrichtung des Zugriffs sind keine weiteren Konfigurationen erforderlich. Die benötigten Container werden von REX automatisch bereitgestellt und eingerichtet nachdem Sie die //REX3D Abhängigkeiten// |
| - | ===== Verwendung | + | Für die Verwendung |
| - | ==== Installation von WSL auf dem Client PC ==== | + | |
| - | ==== Anpassen der Einstellungen in den REX3D Optionen ==== | + | |
| + | * lokaler Betrieb eines Linux-Containers in einer WSL-Umgebung | ||
| + | * Remotezugriff auf ein Linux-System | ||
| + | |||
| + | Die Einrichtung beider Varianten wird in den folgenden Abschnitten beschrieben. | ||
| + | |||
| + | ===== Verwendung auf einem lokalen PC mit WSL ===== | ||
| + | Möchten Sie REX3D mit OpenFOAM lokal verwenden müssen Sie WSL installieren und eine lokale virtuelle Maschine verwenden. | ||
| + | |||
| + | ==== WSL auf dem Client-PC installieren ==== | ||
| + | |||
| + | Öffnen Sie die Windows Powershell mit Adminstrationsberechtigungen und geben Sie folgendes ein: | ||
| + | <code powershell> | ||
| + | wsl --install | ||
| + | </ | ||
| + | |||
| + | Anschließend muss das System neugestartet werden. | ||
| + | |||
| + | ==== REX3D-Optionen anpassen ==== | ||
| + | |||
| + | Öffnen Sie anschließend in PSI / REX über das Hauptmenü den Eintrag Optionen > REX3D | ||
| + | |||
| + | Setzen Sie den Haken bei ' | ||
| + | Durch das Klicken auf den Button ' | ||
| + | {{ : | ||
| ===== Verwendung eines Remote-Servers ===== | ===== Verwendung eines Remote-Servers ===== | ||
| - | Der Podman-Remote-Client | + | Mit dem Podman-Remote-Client |
| - | Aus Sicht von REX3D oder PSI verhält sich die entfernte Podman-Installation weitgehend wie eine lokale Installation. | + | Für REX3D beziehungsweise |
| ==== Voraussetzungen ==== | ==== Voraussetzungen ==== | ||
| Zeile 22: | Zeile 41: | ||
| Die Verbindung basiert auf einem Client-Server-Modell. | Die Verbindung basiert auf einem Client-Server-Modell. | ||
| - | Benötigt | + | Folgende Komponenten |
| - | * ein Linux-Server oder eine Linux-VM, | + | * Linux-Server oder Linux-VM |
| - | * ein laufender SSH-Dienst auf dem Server, | + | * laufender SSH-Dienst auf dem Server |
| - | * Podman auf dem Server, | + | * Podman auf dem Server |
| - | * ein Windows-PC mit einer REX beziehungsweise PSI Version, | + | * Windows-PC mit einer REX- beziehungsweise PSI-Version |
| - | * OpenSSH | + | * OpenSSH-Client auf dem Windows-PC |
| + | * Podman-Client auf dem Windows-PC | ||
| - | Die Anleitung | + | Diese Anleitung |
| - | In den folgenden Befehlen | + | In den folgenden Befehlen werden |
| * %%< | * %%< | ||
| Zeile 38: | Zeile 58: | ||
| * %%< | * %%< | ||
| * %%< | * %%< | ||
| + | * %%< | ||
| ==== 1. Podman auf dem Server installieren ==== | ==== 1. Podman auf dem Server installieren ==== | ||
| - | === 1.1 Auf dem Server anmelden === | ||
| - | Auf dem Windows-PC | + | === 1.1 Am Server anmelden === |
| + | |||
| + | Öffnen Sie auf dem Windows-PC PowerShell | ||
| <code powershell> | <code powershell> | ||
| Zeile 50: | Zeile 72: | ||
| === 1.2 Benötigte Pakete installieren === | === 1.2 Benötigte Pakete installieren === | ||
| - | Auf dem Server: | + | Aktualisieren Sie zunächst die Paketinformationen: |
| <code bash> | <code bash> | ||
| sudo apt-get update | sudo apt-get update | ||
| + | </ | ||
| - | sudo apt-get install | + | Installieren Sie anschließend die benötigten Pakete: |
| - | podman | + | |
| - | uidmap | + | <code bash> |
| - | slirp4netns | + | sudo apt-get install podman |
| - | fuse-overlayfs | + | </ |
| - | passt </ | + | |
| - | Installation | + | Prüfen Sie die Installation: |
| <code bash> | <code bash> | ||
| Zeile 70: | Zeile 92: | ||
| ==== 2. Podman-Benutzer einrichten ==== | ==== 2. Podman-Benutzer einrichten ==== | ||
| - | === 2.1 Benutzer ohne Passwortanmeldung anlegen === | + | === 2.1 Benutzer ohne lokale |
| - | Als Administrator | + | Legen Sie als Administrator |
| <code bash> | <code bash> | ||
| sudo adduser \ | sudo adduser \ | ||
| --disabled-password \ | --disabled-password \ | ||
| - | --gecos "" | + | --comment |
| < | < | ||
| </ | </ | ||
| Zeile 83: | Zeile 105: | ||
| Der Benutzer erhält kein lokales Passwort. Die Anmeldung erfolgt später ausschließlich über einen SSH-Schlüssel. | Der Benutzer erhält kein lokales Passwort. Die Anmeldung erfolgt später ausschließlich über einen SSH-Schlüssel. | ||
| - | === 2.2 Home-Dateisystem | + | === 2.2 Dateisystem des Home-Verzeichnisses |
| + | |||
| + | Prüfen Sie, auf welchem Dateisystem sich das Home-Verzeichnis des Benutzers befindet: | ||
| <code bash> | <code bash> | ||
| Zeile 89: | Zeile 113: | ||
| </ | </ | ||
| - | Ein lokales Dateisystem | + | Für den Container-Storage eignen sich lokale Dateisysteme |
| - | + | ||
| - | Bei einem Homeverzeichnis auf NFS sollte für den Podman-Storage ein lokaler Pfad eingerichtet werden. NFS ist als Speicherort für den Rootless-Container-Storage in der Regel nicht geeignet. | + | |
| + | Befindet sich das Home-Verzeichnis auf einem NFS-Dateisystem, | ||
| - | === 2.3 User-systemd dauerhaft aktivieren === | + | === 2.3 Benutzerspezifische |
| - | Damit die benutzerspezifischen | + | Damit benutzerspezifische |
| <code bash> | <code bash> | ||
| Zeile 102: | Zeile 125: | ||
| </ | </ | ||
| - | Status | + | Prüfen Sie anschließend den Status: |
| <code bash> | <code bash> | ||
| Zeile 118: | Zeile 141: | ||
| Auf dem Windows-PC muss der OpenSSH-Client installiert sein. | Auf dem Windows-PC muss der OpenSSH-Client installiert sein. | ||
| - | === 3.1 OpenSSH prüfen === | + | === 3.1 OpenSSH-Installation |
| - | In PowerShell: | + | Öffnen Sie PowerShell |
| <code powershell> | <code powershell> | ||
| Zeile 129: | Zeile 152: | ||
| ssh.exe -V </ | ssh.exe -V </ | ||
| - | Windows | + | OpenSSH |
| === 3.2 SSH-Schlüssel erzeugen === | === 3.2 SSH-Schlüssel erzeugen === | ||
| - | Pfad des neuen Schlüssels festlegen: | + | Legen Sie zunächst den Pfad für den neuen SSH-Schlüssel fest: |
| <code powershell> | <code powershell> | ||
| Zeile 139: | Zeile 162: | ||
| </ | </ | ||
| - | Das Verzeichnis '' | + | Erstellen Sie das Verzeichnis '' |
| <code powershell> | <code powershell> | ||
| Zeile 149: | Zeile 172: | ||
| </ | </ | ||
| - | Prüfen, ob unter dem gewählten Namen bereits | + | Prüfen |
| <code powershell> | <code powershell> | ||
| Zeile 156: | Zeile 179: | ||
| </ | </ | ||
| - | Beide Befehle sollten | + | Beide Befehle sollten |
| - | Falls bereits Dateien vorhanden | + | <code text> |
| + | False | ||
| + | </ | ||
| + | |||
| + | **Hinweis: | ||
| - | SSH-Schlüssel | + | Erzeugen Sie anschließend einen neuen SSH-Schlüssel: |
| <code powershell> | <code powershell> | ||
| Zeile 170: | Zeile 197: | ||
| </ | </ | ||
| - | Dabei entstehen | + | Dabei werden |
| <code text> | <code text> | ||
| Zeile 177: | Zeile 204: | ||
| </ | </ | ||
| - | Der private Schlüssel darf den Windows-PC, auf dem REX3D beziehungsweise PSI installiert ist, nicht verlassen. | + | **Wichtig: |
| - | === 3.3 Öffentlichen Schlüssel auf den Server | + | === 3.3 Öffentlichen Schlüssel auf den Server |
| - | In PowerShell: | + | Kopieren Sie den öffentlichen Schlüssel zunächst in das temporäre Verzeichnis des Servers: |
| <code powershell> | <code powershell> | ||
| Zeile 189: | Zeile 216: | ||
| </ | </ | ||
| - | Anschließend | + | Melden Sie sich anschließend |
| <code powershell> | <code powershell> | ||
| Zeile 195: | Zeile 222: | ||
| </ | </ | ||
| - | === 3.4 Schlüssel für den Podman-Benutzer installieren === | + | === 3.4 Öffentlichen |
| - | Auf dem Server | + | Erstellen Sie zunächst das SSH-Verzeichnis |
| <code bash> | <code bash> | ||
| Zeile 208: | Zeile 235: | ||
| </ | </ | ||
| - | Den öffentlichen Schlüssel als '' | + | Installieren Sie anschließend den öffentlichen Schlüssel als '' |
| <code bash> | <code bash> | ||
| Zeile 219: | Zeile 246: | ||
| </ | </ | ||
| - | Die temporäre Datei löschen: | + | Löschen Sie danach die temporäre Datei: |
| <code bash> | <code bash> | ||
| Zeile 225: | Zeile 252: | ||
| </ | </ | ||
| - | Berechtigungen | + | Prüfen Sie abschließend die Berechtigungen: |
| <code bash> | <code bash> | ||
| Zeile 234: | Zeile 261: | ||
| === 3.5 SSH-Anmeldung als Podman-Benutzer testen === | === 3.5 SSH-Anmeldung als Podman-Benutzer testen === | ||
| - | Auf dem Windows-PC: | + | Stellen Sie auf dem Windows-PC |
| <code powershell> | <code powershell> | ||
| Zeile 242: | Zeile 269: | ||
| </ | </ | ||
| - | Nach der Anmeldung | + | Prüfen Sie nach der Anmeldung |
| <code bash> | <code bash> | ||
| Zeile 250: | Zeile 277: | ||
| </ | </ | ||
| - | Erwartet werden unter anderem: | + | Unter anderem |
| <code text> | <code text> | ||
| Zeile 259: | Zeile 286: | ||
| Die Ausgabe von '' | Die Ausgabe von '' | ||
| - | Optional | + | Optional |
| <code powershell> | <code powershell> | ||
| Zeile 270: | Zeile 297: | ||
| ==== 4. Podman-Socket auf dem Server aktivieren ==== | ==== 4. Podman-Socket auf dem Server aktivieren ==== | ||
| - | === 4.1 Podman als Benutzer testen === | + | === 4.1 Podman als unprivilegierter |
| - | Als %%< | + | Melden Sie sich als %%< |
| <code bash> | <code bash> | ||
| Zeile 278: | Zeile 305: | ||
| </ | </ | ||
| - | Der Befehl muss ohne '' | + | **Wichtig: |
| === 4.2 Podman-Socket aktivieren === | === 4.2 Podman-Socket aktivieren === | ||
| - | Als %%< | + | Aktivieren Sie als Benutzer |
| <code bash> | <code bash> | ||
| Zeile 288: | Zeile 315: | ||
| </ | </ | ||
| - | Status | + | Prüfen Sie anschließend den Status: |
| <code bash> | <code bash> | ||
| Zeile 294: | Zeile 321: | ||
| </ | </ | ||
| - | === 4.3 Socket-Pfad | + | === 4.3 Socket-Pfad |
| + | |||
| + | Prüfen Sie den Pfad des Podman-Sockets: | ||
| <code bash> | <code bash> | ||
| Zeile 301: | Zeile 330: | ||
| </ | </ | ||
| - | Der Rootless-Podman-Socket | + | Der Rootless-Podman-Socket |
| <code text> | <code text> | ||
| Zeile 307: | Zeile 336: | ||
| </ | </ | ||
| - | Die numerische UID des Benutzers | + | Ermitteln Sie die numerische UID des Benutzers mit folgendem Befehl: |
| <code bash> | <code bash> | ||
| Zeile 313: | Zeile 342: | ||
| </ | </ | ||
| - | Podman verwendet für den API-Socket die systemd-Socket-Aktivierung. | + | Notieren Sie die ausgegebene UID. Sie wird später für die Einrichtung der Podman-Remote-Verbindung benötigt. |
| + | |||
| + | Podman verwendet für den API-Socket die systemd-Socket-Aktivierung. | ||
| ==== 5. Podman-Remote-Verbindung auf dem Windows-PC einrichten ==== | ==== 5. Podman-Remote-Verbindung auf dem Windows-PC einrichten ==== | ||
| Zeile 319: | Zeile 350: | ||
| Auf dem Windows-PC muss ein Podman-Client installiert sein. | Auf dem Windows-PC muss ein Podman-Client installiert sein. | ||
| - | === 5.1 Verbindung hinzufügen === | + | === 5.1 Podman-Verbindung hinzufügen === |
| - | In PowerShell: | + | Öffnen Sie PowerShell |
| <code powershell> | <code powershell> | ||
| podman.exe system connection add ` | podman.exe system connection add ` | ||
| - | | + | |
| --identity " | --identity " | ||
| " | " | ||
| </ | </ | ||
| - | Dabei ist %%< | ||
| - | Beispiel: | + | === 5.2 Podman-Verbindung anzeigen === |
| - | <code text> | + | Zeigen Sie die konfigurierten Verbindungen an: |
| - | ssh:// | + | |
| - | </ | + | |
| - | + | ||
| - | === 5.2 Verbindung anzeigen === | + | |
| <code powershell> | <code powershell> | ||
| Zeile 344: | Zeile 370: | ||
| </ | </ | ||
| - | Die neue Verbindung sollte in der Liste erscheinen. | + | Die Verbindung |
| - | === 5.3 Verbindung testen === | + | === 5.3 Podman-Verbindung testen === |
| + | |||
| + | Testen Sie die Verbindung: | ||
| <code powershell> | <code powershell> | ||
| podman.exe ` | podman.exe ` | ||
| - | --connection | + | --connection |
| info | info | ||
| </ | </ | ||
| - | Optional kann zusätzlich ein Testcontainer ausgeführt werden: | + | Der Befehl sollte Informationen zur Podman-Installation auf dem Linux-Server anzeigen. |
| - | <code powershell> | ||
| - | podman.exe ` | ||
| - | --connection rex3d-openfoam ` | ||
| - | run ` | ||
| - | --rm ` | ||
| - | docker.io/ | ||
| - | uname -a | ||
| - | </ | ||
| - | Der Container wird auf dem Linux-Server | + | |
| + | Der Container wird auf dem Linux-Server | ||
| ==== 6. Podman-Verbindung in REX3D konfigurieren ==== | ==== 6. Podman-Verbindung in REX3D konfigurieren ==== | ||
| - | In den REX3D-Optionen | + | Öffnen Sie die REX3D-Optionen |
| Bei Verwendung der Befehle aus dieser Anleitung lautet der Verbindungsname: | Bei Verwendung der Befehle aus dieser Anleitung lautet der Verbindungsname: | ||
| <code text> | <code text> | ||
| - | rex3d-openfoam | + | remote-vm-ktp |
| </ | </ | ||
| - | Die verfügbaren Verbindungen können jederzeit mit folgendem Befehl angezeigt werden: | + | **Entfernen** Sie den Haken bei ' |
| + | |||
| + | {{ : | ||
| + | Die verfügbaren | ||
| <code powershell> | <code powershell> | ||
| Zeile 383: | Zeile 407: | ||
| </ | </ | ||
| + | Nach erfolgreicher Konfiguration kann REX3D die OpenFOAM-Container über die eingerichtete Podman-Remote-Verbindung auf dem Linux-Server verwenden. | ||
| ==== Sicherheitshinweise ==== | ==== Sicherheitshinweise ==== | ||
| - | Der Podman-API-Socket | + | Der Podman-API-Socket |
| - | Der Socket | + | **Wichtig: |
| - | Der Benutzer %%< | + | Für den Benutzer %%< |
| - | * keine '' | + | |
| - | * nicht Mitglied privilegierter Gruppen sein, | + | * Der Benutzer sollte **kein** |
| - | * nur auf die benötigten Dateien und Verzeichnisse zugreifen können, | + | * Der Benutzer sollte **ausschließlich** |
| - | * ausschließlich für REX3D, PSI und die zugehörigen OpenFOAM-Container verwendet werden, | + | |
| - | * einen eigenen | + | * Für den Benutzer sollte ein eigener |
| - | * keine privaten Schlüssel anderer Benutzer | + | |
| - | Der private SSH-Schlüssel auf dem Windows-PC sollte: | ||
| - | * nur für diesen Verwendungszweck eingesetzt werden, | + | ===Weitere Themen=== |
| - | * nicht per E-Mail oder über gemeinsame Netzlaufwerke verteilt werden, | + | * [[rex3d: |
| - | * durch geeignete Dateiberechtigungen geschützt werden, | + | * [[rex3d: |
| - | * bei Verlust oder bei einem Gerätewechsel aus '' | + | |
| + | * [[rex3d: | ||
| + | * [[rex3d: | ||