Skip to content

Wenn dir der Redis-Server flöten geht....

Verschoben Redis
  • Ich glaube ich habe die letzten zwei Stunden gaaaaanz viel gelernt........

    Durch einen dummen Fehler ist mir unerwartet der Redis-Server abhanden gekommen 😞 Die Fehlersuche hat etwas Zeit in Anspruch genommen 🙂 Die Datensicherung hat aber gut funktioniert - ohne hätte ich jetzt hier in diesem Forum von vorne anfangen können. Es sind manchmal die kleinen Dingen, die einem ganz schön Nerven kosten können. Morgen dann für alle was ausführlicher, was genau passiert ist. Jetzt ab ins Bett...

  • An die Profis, besser jetzt nicht weiter lesen 😉

    Was war passiert? Ich hatte meine Nextcloud Instanz kaputt gemacht (ist ein anderes Thema), bin dann aus irgendeinem Grund auf den Root und habe mal ein

    apt update
    

    angestossen. Also, nichts besonderes, so wie immer. Es war schon was später (keine gute Idee) und so habe ich nicht genau hingesehen, was da reinkommt. Es war irgendwas mit zwei libs und redis-server. Und auf Return geklickt. Dann das.

    Preparing to unpack .../redis-server_3%3a3.2.6-3+deb9u3_amd64.deb ...
    Unpacking redis-server (3:3.2.6-3+deb9u3) over (3:3.2.6-3+deb9u2) ...
    Preparing to unpack .../redis-tools_3%3a3.2.6-3+deb9u3_amd64.deb ...
    Unpacking redis-tools (3:3.2.6-3+deb9u3) over (3:3.2.6-3+deb9u2) ...
    Setting up redis-tools (3:3.2.6-3+deb9u3) ...
    Processing triggers for systemd (232-25+deb9u11) ...
    Processing triggers for man-db (2.7.6.1-2) ...
    Setting up redis-server (3:3.2.6-3+deb9u3) ...
    Job for redis-server.service failed because of unavailable resources or another system error.
    See "systemctl status redis-server.service" and "journalctl -xe" for details.
    invoke-rc.d: initscript redis-server, action "start" failed.
    ● redis-server.service - Advanced key-value store
       Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
       Active: activating (auto-restart) (Result: resources) since Tue 2019-07-16 21:59:15 CEST; 3ms ago
         Docs: http://redis.io/documentation,
               man:redis-server(1)
      Process: 23442 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d (code=exited, status=0/SUCCESS)
      Process: 23439 ExecStop=/bin/kill -s TERM $MAINPID ^[[0;1;31m(code=exited, status=1/FAILURE)^[[0m
      Process: 23435 ExecStop=/bin/run-parts --verbose /etc/redis/redis-server.pre-down.d (code=exited, status=0/SUCCESS)
      Process: 23430 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d (code=exited, status=0/SUCCESS)
      Process: 23427 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
      Process: 23422 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS)
     Main PID: 826 (code=exited, status=0/SUCCESS)
    

    Und Bam, Forum kaputt, Redis-Server läuft nicht mehr. Ich habe dann, vermutlich auch weil ich eigentlich schon ins Bett wollte, etwas gebraucht um überhaupt zu verstehen was da passiert war. Wenn man es geschnallt hat, ist es eigentlich relativ einfach.

    Durch die Aktualisierung wurde der Redis-Server auf dem Server aktualisiert. Nur dumm, das das Paket auf dem Server wesentlich aktueller ist, als das was aktualisiert wurde 😞 Warum, war das so? Der Redis-Server auf dem Root ist zu alt, so das ich irgendwann in der Anfangszeit der Redis-Server mal selbst gebaut habe. Das war mir in dem Moment aber nicht mehr so klar.

    Nachdem es dann Klick gemacht hatte, wusste ich was zu tuen war. Den Redis-Server runterhauen, aktuellen Redis-Server runterladen und bauen. Dann entsprechende Konfig und Datenbank wieder auf den Server schreiben, die Datenbank war nämlich weg! Glück, das mein Backupkonzept funktioniert.

    Nach einigen Hürden, ja es war spät, lief das Forum dann wieder. Puuh - Glück gehabt.

    Was lernt man daraus?

    • Ein gutes Backupkonzept ist absolut notwendig. Ich habe gemerkt, das ich da noch was verbessern kann.

    • Pakete die man selber baut, muss man daran hindern, das diese aktualisiert werden (Siehe unten)

    • Wenn es mal knallt, Ruhe bewahren. Man macht sonst nur noch mehr kaputt.

    Paket blocken

    Mit dem Befehl

    apt-mark hold redis-server
    

    kann man ein Paket von der Aktualisierung ausnehmen. Eine Liste der Pakete gibt es mit

    apt-mark showhold
    

    Damit müsste ich meinen dummen Fehler jetzt eigentlich für die Zukunft verhindert haben.

    Wenn hier jemand einen Fehler sieht, bitte ich um freundliche Korrektur. Ich bin mir da nicht so zu 100% sicher, das das was ich da geschrieben habe Sinn macht. Danke!

  • So, nach einer kleinen Pause und ein wenig nachdenken ist mir doch noch was eingefallen 😉

    Backports! Man so einfach!

    nano /etc/apt/sources.list
    

    Das folgende eintragen.

    # backports
    deb http://deb.debian.org/debian stretch-backports main
    

    Danach ein

    apt update
    

    Und dann schauen wir uns mal die Version an....

    apt -t stretch-backports search redis-server
    Sorting... Done
    Full Text Search... Done
    golang-github-stvp-tempredis-dev/stretch-backports 0.0~git20160122.0.83f7aae-1~bpo9+1 all
      Go package to start and stop temporary redis-server processes
    
    libtest-redisserver-perl/oldstable,oldstable 0.20-1 all
      redis-server runner for tests
    
    python-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64
      redis protocol reader for Python 2.X using hiredis
    
    python3-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64
      redis protocol reader for Python using hiredis
    
    redis/stretch-backports 5:5.0.3-3~bpo9+2 all
      Persistent key-value database with network interface (metapackage)
    
    redis-server/stretch-backports 5:5.0.3-3~bpo9+2 amd64 [residual-config]
      Persistent key-value database with network interface
    

    Und die habe ich gestern Abend gebaut.

    127.0.0.1:6379> INFO
    # Server
    redis_version:5.0.5
    

    Ok, das schmerzt jetzt 😛

  • Redis ConnectionPool

    Redis
    2
    0 Stimmen
    2 Beiträge
    90 Aufrufe
    FrankMF

    Die Antwort von ChatGPT wie der Redis ConnectionPool funktioniert. Ein paar Dinge finde ich komisch.

    Link Preview Image ChatGPT

    ChatGPT is a free-to-use AI system. Use it for engaging conversations, gain insights, automate tasks, and witness the future of AI, all in one place.

    favicon

    (chat.openai.com)

  • Ansible - Hetzner Server erstellen

    Verschoben Ansible
    1
    0 Stimmen
    1 Beiträge
    158 Aufrufe
    Niemand hat geantwortet
  • NAS 2023 - Hardware

    Angeheftet Verschoben Linux
    3
    0 Stimmen
    3 Beiträge
    566 Aufrufe
    FrankMF

    Ich war nicht so ganz zufrieden 🙂 Die zwei 4TB 5 1/4 Zoll HDDs müssen jetzt mal weichen.

    20230520_091729.jpg

    Ich habe jetzt wieder einen Proxmox Backup Server im Einsatz, da brauche ich nicht mehr so viel Speicherplatz im NAS. Kleiner, aber wichtiger Nebeneffekt ist der, das ich jetzt ca. 7W eingespart habe. In Zeiten wie diesen, rechnet sich das. Nein, die Investitionskosten rechnen wir jetzt nicht dagegen 😉

    Screenshot_20230520_140727_Voltcraft SEM6000_ergebnis.jpg

    Aktuelle Platten Ausstattung

    1 TB NVMe SSD (Proxmox Systemplatte) 2 * 2,5 Zoll 1TB SSD WD Red (ZFS Pool für mein NAS) 1 * 2,5 Zoll HDD 2TB für Datensicherung
  • Manjaro Stable-Update vom 20.02.23

    Linux
    2
    0 Stimmen
    2 Beiträge
    91 Aufrufe
    FrankMF

    Ich konnte es nicht lassen, ich habe es mal getestet.

       ~  docker version  ✔  1m 37s  Client: Version: 23.0.1 API version: 1.42 Go version: go1.20 Git commit: a5ee5b1dfc Built: Sat Feb 11 13:58:04 2023 OS/Arch: linux/amd64 Context: default

    In der aktuellen systemd Datei steht folgendes drin. Bei mir zu finden unter /usr/lib/systemd/system/docker.service

    LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity

    Die override Dateien angelegt und durchgestartet. Läuft alles einwandfrei. Aber bitte fragt mich nicht, was dieser Wert da oben macht. Ich habe keine Ahnung.

    Update: Erklärung zu ulimits https://stackoverflow.com/questions/62127643/need-understand-ulimits-nofile-setting-in-host-and-container

  • Redis - systemd anpassen

    Redis
    1
    0 Stimmen
    1 Beiträge
    56 Aufrufe
    Niemand hat geantwortet
  • Redis - Datenbank extern

    Redis
    2
    0 Stimmen
    2 Beiträge
    822 Aufrufe
    FrankMF

    Das habe ich doch oben vergessen reinzuschreiben, also wenn man das mal von extern testen muss um zu schauen ob die Verbindung geht. Keine Firewall blockt usw. dann kann man das ganz einfach so machen.

    root@webserver:~# redis-cli -h 10.10.1.10 -p 6379 10.10.1.10:6379> quit
  • Linux Mint Cinnamon 20.2 "Uma" released

    Linux
    3
    0 Stimmen
    3 Beiträge
    236 Aufrufe
    FrankMF

    Was noch gestört hatte, war der Scrollbalken im FF. Der war zu schmal, konnte man schlecht erwischen.

    8e403120-11e2-413f-a479-0ebc3002e6d4-grafik.png

    Quelle: https://forums.linuxmint.com/viewtopic.php?f=47&t=330849&sid=1c7c71850931d5c34d8a0dd41ff57679

  • Nextcloud Talk

    Nextcloud
    5
    0 Stimmen
    5 Beiträge
    771 Aufrufe
    FrankMF

    All I needed to do was setting the permissions to 744 for the archive directory and the symlinks resolved correctly after a reboot of coturn

    My turnserver installation on Debian runs as the user turnserver and not as root, nor is the user turnserver in any group owning the letsencrypt directory.
    If your turnserver does run as root, it should be fine just adding execute permissions.

    I hope this helps some of you.
    Quelle: https://help.nextcloud.com/t/lets-encrypt-symlink-breaks-coturn-configuration/70166

    Was zum Testen die Tage....