Jump to content

mgutt

Moderators
  • Posts

    11,361
  • Joined

  • Last visited

  • Days Won

    124

Everything posted by mgutt

  1. Was macht man bei einem Absturz oder Verbindungsproblemen? Zeigt der Server über das Terminal eine IP an, die mit 169.254.x.x beginnt, dann erwartet er von einem DHCP Server (zB dem Router) eine IP, hat aber keine erhalten. Die 169.254.x.x ist also nur ein Ersatz für "keine IP". In dem Fall die Buchse, das Kabel, den Switch oder den Router prüfen. Sollte das Netzwerk falsch eingestellt worden sein und der Server ist deswegen nicht mehr erreichbar, hilft es die Dateien /config/network.cfg und /config/network-rules.cfg vom USB Stick zu löschen, wodurch die Netzwerk-Einstellungen beim nächsten Booten zurückgesetzt werden und sich der Server per DHCP eine IP-Adresse holt. Da Unraid im RAM läuft, gehen bei einem Absturz oder Neustart die Logs verloren (in denen evtl Fehlermeldungen zu sehen wären). Um die Ursache für den Absturz zu finden, müssen also die Logs auf den USB Stick geschrieben werden (oder externen Syslog Server). Das geht über Settings > Syslog Server > Mirror syslog to flash: Diese Logs findet man dann unter /boot/logs/syslog. Hinweis: Dadurch kann sich der USB Stick abnutzen. Ist das Problem gelöst, sollte man diese Einstellung also wieder rückgängig machen. Zeigt der Server nach dem Booten im Terminal gar keine IP an, dann wurde vermutlich kein Netzwerk-Treiber installiert oder die Kabelverbindung zum Switch/Router ist fehlerhaft. Hinweis: 2.5G LAN-Buchsen werden erst ab Unraid 6.9 unterstützt. Häufige Gründe für einen Absturz: - defekter RAM - defekte SSD im Cache - USB Stick hat Verbindung verloren zB durch USB Bug bei AMD Wie kann ein Problem analysiert werden? Über Tools > System Log kann das Protokoll eingesehen werden, das alle Status- und Fehlermeldungen enthält. Oben rechts lassen sich die Filter so setzen, dass ausschließlich die Fehler angezeigt werden: In der Regel reicht es nach einer Fehlermeldung über eine Suchmaschine zu suchen. Wenn man selbst keine geeignete Lösung findet, bietet es sich an andere zu fragen und im Forum oder bei Reddit einen Beitrag zu eröffnen. Bitte ergänze dann die diagnostic.zip, die du dir über Tools > Diagnostics > Download generieren lassen kannst: Diese enthält neben der Prokotolldatei auch mehrere Statusmeldungen zur verbauten Hardware, die Anzahl der Platten und wie diese in Array und Pool aufgeteilt wurden.
  2. Es geht tatsächlich nicht jede. Viele sind von der Performance her sehr miserabel. Du solltest eine mit JMB585 (5-Port) oder ASM1166 (6-Port) Controller kaufen. Achte auch darauf, dass die Karte nicht nur PCIe x1 nutzt, sondern x4 (die Controller können beide x2). ASM1166 für 26 bis 28 €: https://de.aliexpress.com/item/1005002616474802.html https://www.amazon.de/PQZATX-Controller-Erweiterungscontroller-UnterstüTzt-SATA-Kabeln-Schwarz/dp/B097246PXX/ https://www.amazon.de/OMGOT-Controller-Erweiterungscontroller-UnterstüTzt-SATA-Kabeln-Schwarz/dp/B0972ZYHKL/ JMB585 für 21 € (bei Ali deutlich teurer): https://www.amazon.de/Tamkyo-Controller-Erweiterung-Computer-Chassis-Schwarz-Rot/dp/B08TWN42CB/ Es werden auch 8 oder 10 Port Karten angeboten, aber diese nutzen immer zusätzliche SATA Port Multiplier Controller und sind daher ziemlich lahm.
  3. Some people use external tools to auto-check the running state of docker containers. healthcheck runs usually a simple "heartbeat" shell script to verify the docker is not only in running state, but also really working. In Unraid you can see this state as well in the docker container overview. But finally I think this is only important for business usage if you really need to know if everything works as expected.
  4. Das heißt gar nichts. Wir müssen schon wissen ob der Server noch ordentlich läuft.
  5. Ist der Server vielleicht abgestürzt? Schon mal direkt die Ausgabe am Server geprüft als er offline war?
  6. Ich habe das nun getestet, aber bei mir passiert das nicht: nmap 192.168.178.9 -p- Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-23 18:36 Mitteleuropõische Sommerzeit Nmap scan report for example.com (192.168.178.9) Host is up (0.000031s latency). Not shown: 65523 closed ports PORT STATE SERVICE 21/tcp open ftp 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3306/tcp open mysql 3551/tcp open apcupsd 3702/tcp open ws-discovery 6237/tcp open unknown 6238/tcp open unknown 32400/tcp open plex 38527/tcp open unknown MAC Address: ab:cd:ef:12:34:56 (Giga-byte Technology) Nmap done: 1 IP address (1 host up) scanned in 3.44 seconds Welches Tool hast du verwendet? Welche Plugins hast du installiert?
  7. Ja, aber ich hab @Anym001 mein Board geschickt wegen dem ECC Problem. Wie wir jetzt wissen, wohl umsonst ^^ Danach mache ich aber den Test. Ich habe extra zwei bestellt 😁 Geht denn sein Atom J5040 mit deinem Plugin oder geht das nur mit i-Core?
  8. @ich777 Wie ist das mit binden der Intel iGPU an VFIO um sie exklusiv in einer VM nutzen zu können? Geht das problemlos oder ist das das selbe Problem wie immer, wenn man nur eine iGPU verbaut hat? Also dann Legacy booten oder was macht man dann?
  9. Nein. Einfach alle ausgewählt lassen. Die VM zeigt dann also auch alle Kerne an.
  10. Du könntest die iGPU an VFIO binden (Tools -> System devices) und Haken setzen und neu starten. Aber evtl unterstützt deine CPU auch das. Dann muss Unraid (und damit auch alle Docker Container) nicht auf die iGPU verzichten: https://forums.unraid.net/topic/108650-plugin-intel-gvt-g/ Oder brauchst du die iGPU sonst nicht in Unraid?
  11. Im Ordner liegt der oben gezeigte Screenshot mit den Namen "Anleitung - Server stoppen.png" 😁 Wegen Groß- und Kleinschrift hatte ich auch schon überlegt. Da passe ich das Script noch an, dass es flexibler wird. EDIT: Mittlerweile ist mir aufgefallen, dass eine Lösung mit cmd eh nicht geht, weil ich nicht nur Window Clients habe.
  12. Ok, das Script verfolgt nun den Ansatz aus @hawihoney's Idee. Allerdings lese ich keine Datei aus oder lasse sie über eine Batch erstellen, sondern ich habe dem User einfach erklärt, dass er im Minecraft Ordner einen Ordner "stop" erstellen soll und wenn der da ist, wird der Container gestoppt und wenn er diesen löscht / umbenennt, wird er wieder gestartet: Der Vorteil daran ist, dass er die SSD gar nicht erst anfragt, da das direkt aus dem Inode Cache / RAM Cache beantwortet wird. Damit er das machen kann und auch gleich Zugriff auf die server.properties hat, habe ich den folgenden Code in der /config/samba-extra.conf hinzugefügt: [Minecraft-Server] path = /mnt/cache/appdata/Minecraft-Server comment = browseable = yes # Private writeable = no read list = write list = max,moritz valid users = max,moritz case sensitive = auto preserve case = yes short preserve case = yes Und anschließend den SMB Dienst neu gestartet: samba restart Damit hat er zwar immer noch kein wirkliches Feedback, aber da das mit dem Ordner im Gegensatz zum Öffnen einer URL 100%-tig funktioniert, braucht er das denke ich jetzt auch nicht mehr. Wenn er es unbedingt wissen will, kann er ja das Minecraft-Server-Terminal öffnen.
  13. Da Nextcloud das standardisierte WebDAV verwendet, geht jeder Sync-Client, der WebDAV beherrscht. zB rclone. Es gibt aber bestimmt auch Tools mit GUI. Einfach mal nach Sync und WebDAV suchen.
  14. Mir war nicht klar, dass du die 1650 für Unraid verwenden möchtest. Dann kannst du natürlich die nehmen.
  15. Da steht dein Problem. Die GPU ist nicht an VFIO gebunden. Du musst über Tools > System devices die Geräte anhaken, die nur VMs zur Verfügung stehen sollen. Ansonsten nimmt sich Unraid die GPU. Wobei es komplett ohne GPU evtl zu Problemen beim Booten kommt. In dem Fall die vfio cfg vom Stick löschen. Dann evtl über eine GT 710 für Unraid nachdenken. Gar keine gute Basis. TR ist nicht für VM gemacht und verursacht Latenzen. Außerdem geringe Single Thread Leistung beim Gaming.
  16. Für dich gar nicht. Deine CPU hat nur 2 Kerne. Da irgendwas zuordnen kannst du dir also sparen. Wobei das eh nur optional ist. Die CPU macht die Last-Verteilung von alleine. Nein. Es wird der Kern genutzt, der am wenigsten belastet ist. Prozesse springen ständig zwischen allen Kernen hin und her. Wie gesagt kümmert sich die CPU darum. Bei sehr vielen Kernen und wenn man wirklich exklusiv Leistung haben möchte, könnte man Kerne isolieren, aber das braucht eigentlich niemand machen, der nicht gerade latenzkritische Anwendungen nutzen möchte. Siehst du denn einen Netzwerkadapter in Windows? Was sagt dessen Status?
  17. Da hätte ich auch drauf kommen können. Danke 👍 Portainer probiere ich aber auch mal aus.
  18. Genau das möchte ich natürlich nicht. Ich habe jetzt ein Script geschrieben, was halbwegs mein Ziel erfüllt: https://forums.unraid.net/topic/110483-startstop-container-by-non-root-user/ Und zwar ist die Nginx Proxy Manager GUI bei mir immer erreichbar über http://192.168.178.8:81/login. Das Script überwacht nun, ob die URL http://192.168.178.8:81/login?dynamite mehrfach aufgerufen wird. Dadurch wird dann der Minecraft Container starten bzw stoppen, je nachdem welchen Status er gerade hat. Wirklich nutzerfreundlich ist das natürlich nicht, da der Nutzer keinerlei Feedback bekommt, außer dass er eben selbst testen muss, ob der Container noch läuft oder nicht.
  19. My son should be able to start/stop a Minecraft container without getting access to the Unraid GUI. And to save some electricity costs, the container should even automatically stop if it's not used anymore. At first I added through the SMB (extra) settings a new SMB Share as follows (replace "max,moritz" against your usernames): [Minecraft-Server] path = /mnt/user/appdata/Minecraft-Server comment = browseable = yes # Private writeable = no read list = write list = max,moritz valid users = max,moritz case sensitive = auto preserve case = yes short preserve case = yes This gives my son access to the Minecraft appdata subdirectory, where he is able to create a dir called "stop" to stop the container or he deletes it, which automatically starts the container: Donate? 🤗 This works because of the following script, which I added through the User Scripts plugin (set custom cron to */1 * * * * to execute it every minute): #!/bin/bash # ##################################### # Script: Container Autostop v0.2 # Description: Automatically stops and starts a container if a "stop" dir is present or # if the last log entry is too old # Author: Marc Gutt # ######### Settings ################## # Finds all containers with this keyword in their name (Regex is allowed) container_name_contains="Minecraft" # Containers log path container_log_path="/logs/latest.log" # Stops a container if <container_host_path>/<container_log_path> is older than X minutes container_inactivity_minutes=120 # ##################################### # # ######### Script #################### # make script race condition safe if [[ -d "/tmp/${0///}" ]] || ! mkdir "/tmp/${0///}"; then exit 1; fi; trap 'rmdir "/tmp/${0///}"' EXIT; # loop through all containers with "keyword" in their name for container_name in $(docker ps --all --format "{{.Names}}" | grep -P "$container_name_contains"); do echo "Process $container_name" # obtain containers host paths container_host_path=$(docker container inspect -f '{{$id := .Id}}{{range .Mounts}}{{if .Source}}{{.Source}}{{end}}{{end}}' "$container_name") stop_path="$container_host_path/stop" log_path="$container_host_path$container_log_path" # check if host path has been found if [[ -f "$container_host_path" ]]; then echo "Error: $container_host_path of $container_name does not exist!?" exit 1 fi # container is running if [[ $( docker container inspect -f '{{.State.Running}}' "$container_name" ) == "true" ]]; then echo "Container is running" # "stop" dir is present if [[ -d $stop_path ]]; then echo "Stop container as $stop_path is present" docker stop "$container_name" # inactivity timeout has been reached elif [[ $(find "$log_path" -mmin +$container_inactivity_minutes 2>/dev/null) ]]; then echo "Stop container $container_name as inactivity timeout has been reached" docker stop "$container_name" # create stop dir mkdir "$stop_path" # nothing to do else echo "$log_path is not older than $container_inactivity_minutes minutes" fi # start container if "stop" dir is not present elif [[ ! -d $stop_path ]]; then echo "Start container $container_name as $stop_path is not present" docker start "$container_name" # nothing to do else echo "Container is not running and as $stop_path is present, it won't be started." fi done
  20. Jo. So habe ich das gemacht: docker network create --subnet=172.19.0.0/24 npm Beim NPM dann noch das, damit der mit dem Netz npm kommunizieren kann: Allerdings hänge ich da noch wie gesagt wegen der Vergabe der IPv6 fest. Im Moment aktualisiere ich die von Hand, wenn mein Anschluss eine neue IPv6 bekommen hat. ^^
  21. Das dürfte zu viel sein. Wird denn der gesamte Internettraffic nach Aufbau des Tunnels über den Server geroutet?! Ich wäre jetzt nur davon ausgegangen, dass Zugriffe auf die Server IP durch den Tunnel gehen und der Rest weiter direkt ins Internet geht. Naja, ein simpler Upload zum und Download vom Server?
  22. Sprechen wir hier überhaupt von Unraid? Das ist doch eine Windows App oder nicht?
  23. Welches Konto? Hier im Forum? Nein. Du hast per E-Mail einen Aktivierungslink bekommen und auf dem Stick wurde dadurch eine blabla.key Datei generiert. Die musst du sicher aufbewahren.
  24. Sehe ich keinen Sinn drin. Wenn man eh nur SSDs hat packt man alles in einen Pool oder alles in ein Array.
×
×
  • Create New...