Wie erhöhe ich den RAM des Controller-Containers bei UNRAID?

Es gibt 11 Antworten in diesem Thema, welches 688 mal aufgerufen wurde. Der letzte Beitrag () ist von usr-adm.

  • Hallo,

    meine erste Frage :winking_face:

    Wir benutzen seid kurzen an unserer Schule statt eines Cloud Key 2 einen Unraid Server mit der Unifi network application. Wir steuern darüber z.Zt 140 AP U6 Pro, U6LR AC -Pro HD.


    Ich würde gerne dem Container mehr Arbeitsspeicher zuweisen. Ich habe bereits im Unraid unter Apps / Installed Apps / Unifi -network-Application / Bearbeiten : MEM_Limit und MEM_Startup von 1024 auf 4096 erhöht.


    Leider kann ich nicht sehen ob eine Ändereung bringt. Ich vermute das Problem sitzt davor !

    Hier steht ja auch das man sich per ssh auf den Unifi Server einloggen soll. Das scheitert aber schon daran, Das ich mich per Putty nicht einloggen kann. Es kommt die Meldung : Network error Connection Refused.

    SSH ist aber in den Einstellungen eingeschaltet.

    VG Sven

    Einmal editiert, zuletzt von Sven F. ()

  • Sven F.

    Hat den Titel des Themas von „Unifo Network Application im Unraid Docker. Wie erhöhe ich den Arbeitspeicher des Containers?“ zu „Unifi Network Application im Unraid Docker. Wie erhöhe ich den Arbeitspeicher des Containers?“ geändert.
  • Hallo Sven F. und willkommen hier!


    Bist Du der einzige Admin an Eurer Schule für die Netzwerk-Infrastruktur?

    SSH-Verbindung werden zu Geräten aufgebaut, nicht zu Software.


    Fragen:

    • Welche Version vom Network Controller läuft?
    • Aus welchem konkreten Grund willst Du den Speicher erhöhen?
    • Warum gehst Du davon aus, dass Deine Konfigurationsänderung im Unraid keine Wirkung hatte?
  • Hallo,

    nein, warum ? (Einziger Admin?)

    Zu unseren Linux Maschinen baue ich auch verbindungen per ssh auf.. Das ist doch auch Software.


    Antworten:

    • Netzwerk 8.1.113
    • Ich vermute, das der Container mit 4GB oder mehr besser arbeitet als mit 1 GB
    • in der Unraid Übersicht steht bei Ram / Docker 1,38 GiB

    VG

  • Ich habe es vielleicht nicht präzise genug ausgedrückt, direkt mit Hardware und ohne Zwischenlayer wird natürlich keine SSH-Verbindung aufgebaut. Linux ist ein Betriebssystem, also die nativ auf der Hardware laufende Anwendung (ja, auch, wenn es um VMs geht). Natürlich kann auf einem Betriebssystem auch ein SSH-Server laufen, auf einer einzelnen Anwendung aber nicht. (Vielleicht wäre es technisch denkbar. Ich kenne aber keinen Fall, wo so etwas stattfindet).


    Wenn Dein Unifi-Container nun 1,38 GiB RAM beansprucht, ist doch alles in Ordnung, denn vorher kann es ja nur 1 GiB gewesen sein. Ich kenne Unraid nicht näher, aber in einer anständigen Vitualisierung/Containerisierung belegen VMs/Container auf dem Host nur soviel Arbeitsspeicher, wie sie aktuell auch wirklich nutzen. Ausnahmefälle wären Anwendungen wie Exchange oder bestimmte Datenbanken, die fest zugewiesenen RAM brauchen, um vernünftig zu laufen.

  • SSH ist eine Software, genauso wie der Unifi Network Controller. Linux ein OS :winking_face: Der Network Controller stellt dir nur eine Weboberfläche zur Verfügung. Die Option "ssh aktivieren" im Unifi dient dafür, das du auf die Geräte wie die einzelnen APs per ssh zugreifen kannst (für Notfälle Sinnvoll, aonsten unnötig)


    Ansonsten nutzt halt die Software nur so viel RAM wie sie halt eben benötigt.

  • Natürlich kann auf einem Betriebssystem auch ein SSH-Server laufen, auf einer einzelnen Anwendung aber nicht.

    Git(lab) und andere Dienste bieten SSH Zugriff, es ist nur ein Protokoll, keine Infrastruktur-Komponente.

    Ansonsten nutzt halt die Software nur so viel RAM wie sie halt eben benötigt.

    Jein. Als Java Anwendung (die der Network Controller m.W. ist) kann der Speicherbrauch bzw. die Zuweisung über Startparameter der JVM gesteuert werden (-Xms und -Xmx).


    Nur weil der Container mehr Speicher bekommt, wird dieser u.U. nicht automatisch für Java verwendet.

  • razor

    Hat das Label Cloud Key 2 entfernt.
  • razor

    Hat den Titel des Themas von „Unifi Network Application im Unraid Docker. Wie erhöhe ich den Arbeitspeicher des Containers?“ zu „Wie erhöhe ich den RAM des Controller-Containers bei UNRAID?“ geändert.
  • Ich habe es vielleicht nicht präzise genug ausgedrückt, direkt mit Hardware und ohne Zwischenlayer wird natürlich keine SSH-Verbindung aufgebaut. Linux ist ein Betriebssystem, also die nativ auf der Hardware laufende Anwendung (ja, auch, wenn es um VMs geht). Natürlich kann auf einem Betriebssystem auch ein SSH-Server laufen, auf einer einzelnen Anwendung aber nicht. (Vielleicht wäre es technisch denkbar. Ich kenne aber keinen Fall, wo so etwas stattfindet).


    Wenn Dein Unifi-Container nun 1,38 GiB RAM beansprucht, ist doch alles in Ordnung, denn vorher kann es ja nur 1 GiB gewesen sein. Ich kenne Unraid nicht näher, aber in einer anständigen Vitualisierung/Containerisierung belegen VMs/Container auf dem Host nur soviel Arbeitsspeicher, wie sie aktuell auch wirklich nutzen. Ausnahmefälle wären Anwendungen wie Exchange oder bestimmte Datenbanken, die fest zugewiesenen RAM brauchen, um vernünftig zu laufen.


    Vielen Dank, ich habe bisher keine erfahrung mit Docker Systemen.

    Einmal editiert, zuletzt von razor () aus folgendem Grund: Ein Beitrag von Sven F. mit diesem Beitrag zusammengefügt.

  • Der UniFi-Controller verwendet grundsätzlich nur 1GB RAM, egal wie viel RAM der VM, dem Contrainer etc. zugewiesen wurde.


    Wenn der Controller Zugriff auf weiteren Arbeitsspeicher bekommen soll, muss ZUSÄTZLICH eine Config-Datei bearbeitet werden


    Anleitung: KLICK


    In der Datei /var/lib/unifi/system.properties müssen folgende Werte eingetragen werden:


    unifi.xmx=4096

    unifi.xms=4096


    Edit: Denkfehler, bitte folgende Antworten beachten.


    Ich kenne mich nicht mit UnRaid aus, wenn es aber in einem Docker Container läuft, gibt es häufig einen Weg über die GUI eine Console für den Container zu öffnen. Dort kannst Du die Datei öffnen und bearbeiten.


    Wenn es einen solchen Weg/Button über die GUI nicht gibt, musst Du Dich per SSH direkt mit Deinem UnRaid verbinden und folgenden Befehl eingeben:


    docker exec -it containername bash


    Jetzt bist Du im Docker Container "UniFi" und kannst dort die Datei bearbeiten: vi /var/lib/unifi/system.properties


    LG

    30 Sites - 500 APs - 150 Switche - EdgeRouter - UXG-Pro - UDM-Pro - USG-PRO-4 - OPNsense - IPUs

    2 Mal editiert, zuletzt von usr-adm ()

  • Das Bearbeiten einer Datei im Container läuft dem Wegwerf-Konzept eines Containers zuwider: Wenn die Container-Instanz aus dem Container-Image bei erstellt wird, ist die Änderung weg.


    Lösung(en):

    • die Datei via Bind-Mount mit einer lokalen Variante überlagern
    • die Beschreibung des Images lesen, ob die entsprechenden Parameter nicht „von außen“ definiert werden können, z.B. über Umgebungsvariablen

    Welches Image ist es denn?

  • Da hast Du natürlich Recht, ich selber habe es in einer Debian VM Laufen. :face_with_tongue:


    Deine Ansätze sind vollkommen richtig.


    Beim Container von "linuxserver.io" sind es zwei Environment Variablen, also kein Hexenwerk.


    -e MEM_LIMIT=1024 Optionally change the Java memory limit (in Megabytes). Set to default to reset to default
    -e MEM_STARTUP=1024 Optionally change the Java initial/minimum memory (in Megabytes). Set to default to reset to default

    30 Sites - 500 APs - 150 Switche - EdgeRouter - UXG-Pro - UDM-Pro - USG-PRO-4 - OPNsense - IPUs

  • Das Bearbeiten einer Datei im Container läuft dem Wegwerf-Konzept eines Containers zuwider: Wenn die Container-Instanz aus dem Container-Image bei erstellt wird, ist die Änderung weg.


    Lösung(en):

    • die Datei via Bind-Mount mit einer lokalen Variante überlagern
    • die Beschreibung des Images lesen, ob die entsprechenden Parameter nicht „von außen“ definiert werden können, z.B. über Umgebungsvariablen

    Welches Image ist es denn?

    Von Linuxserver.io

  • Von Linuxserver.io

    Dokumentation: Klick


    -e MEM_LIMIT=1024 Optionally change the Java memory limit (in Megabytes). Set to default to reset to default
    -e MEM_STARTUP=1024 Optionally change the Java initial/minimum memory (in Megabytes). Set to default to reset to default

    30 Sites - 500 APs - 150 Switche - EdgeRouter - UXG-Pro - UDM-Pro - USG-PRO-4 - OPNsense - IPUs