Neuer Server mit Proxmox: Ja / Nein / Vielleicht

  • Hallo liebes netcup-Forum,


    ich brauche eure Expertise in der Entscheidung, wie ich am Schlausten mit meinem RS 1000 SSD G8 und seiner Einrichtung verfahren soll.


    Das Ziel ist auf dem Server folgende Dienste laufen zu lassen:

    - 1 bis später ca. 3 Django (Wagtail) Instanzen für kleine Webseiten mit max 100 Besuchern am Tag

    - PostgresSQL-Server für 2-3 Datenbanken (Vielleicht sogar obsolet, falls ich SQLite benutze)

    - Teamspeak 3 - Server (für ca. 5 Leute und auch das nur sehr unregelmäßig)

    - Es kann sein, dass ich zukünftig noch mehr Schabernack kurzfristig probieren möchte.


    Vor allem der letzte Punkt und das Unwissen, wie viele Dienste und Webseiten ich später auf dem Server laufen lassen möchte, bringt mich zur Frage, ob ich nicht so etwas wie PROXMOX einrichten soll, um die einzelnen Dienste schön voneinander getrennt zu haben. In der Uni haben wir in der "DevOps-Vorlesung" mit Proxmox und Saltstack gearbeitet und so unsere eigene CD/CI Chain mit Jenkins, Nexus und Docker-Images für eine kleine Spring-Boot zum Laufen gebracht.


    Vorteile darin wären natürlich: "Treat your servers like cattle not pets" Also einfach in ner neuen Instanz SALT einrichten und dann Recipes nach Belieben ausführen.


    Ich bin stark verunsichert, da ich denke es könnte insgesamt ein viel zu komplizierter Plan sein und es gibt eine einfachere,mehr verbreiterte UNIX-Methode gibt um die einzelnen Anwendungen voneinander zu trennen.


    Zu welchem Setup würdet ihr mir raten?


    Noch ein paar Infos zur Entscheidungsfindung:

    - Das ist mein erster Root-Server

    - Auf der Arbeit arbeite ich überwiegend mit Apache und Debian/Ubuntu-Systemen


    Ich hoffe, dass irgendwer einen grundlegenden Fehler in meiner Herangehensweise erkennt oder mich in meinem Plan unterstützt. Bei Zweiterem ist wohl die VMX Aktivierung wohl unumgänglich?


    Vielen Dank für alle Vorschläge, Feedback oder Kritik!


    P.S.: Ich wollte eigentlich erst ins "längste Thema" posten und hatte dann sorge, dass es doch zu Umfangreich diskutiert würde.

  • Ich würde immer wieder zu Proxmox greifen.


    Das VMX-Flag brauchst du für Virtualisierung, nicht für Container. Virtualisierung macht erst dann Sinn, wenn du ganz andere Betriebssysteme benutzt. Ansonsten setze auf Container, denn bei denen entfällt die Grundlast bzgl. CPU und RAM.


    Als Storage setzte ich privat auf eine Mischung aus btrfs für alles laufenden sowie ZFS für offline Dinge wie templates oder Backups. Lass dich auch nicht vom Märchen vom hohem RAM-Verbrauch bei ZFS abschrecken. Das fällt nur bei aktiver Deduplizierung an und zwar für die dedup-Tabellen im RAM.


    Nachtrag:


    Du kannst jederzeit skalieren indem du einen weiteren RS + kostenloses VLAN dazu buchst. Du kannst deine Applikationen in Containern bzw. VMs sehr granuluar verschieben. Hättest du alles direkt auf einer VMs, müsstest du viel Zeit dafür investieren.


    Netzwerktechnisch bist du mit Proxmox auch gut aufgestellt, denn du musst jeden Port der Container/VMs einzeln nach draussen freigeben. Ich fahre meinen Setup so, dass von Proxmox selbst nur der SSH-Port für bestimmte IP-Ranges offen ist. Das Management-Interface liegt hinter http-auth und ist nicht als solches erkennbar. Zusätzlich sind die IP-Ranges für beides stark beschränkt, d.h. nur mein DSL-Provider sowie Arbeitgeber. Im Worst-Case habe ich immer noch die VNC-Console von netcup.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Sehr informativer Beitrag! Muchas gracias!


    Nutzt man dann dafür die Proxmox Distro von deren Webseite? Oder nimmt man lieber ein Debian/Ubuntu/CentOS und installiert darauf Proxmox?


    Eine "Mischung aus btrfs und zfs" bedeutet dann 50/50? Bzw... Man kann in PROXMOX ja vermutlich eh noch alle Größen anpassen, wenn es da Engpässe geben sollte.


    Gibt's irgend eine schlaue Ressource oder präzisere Schlagwörter der "MUST-KNOWS", um sich mit Proxmox und Containern auseinandersetzen zu können?


    Nochmals vielen Dank für den guten Input!

  • Ich habe mir erst Debian von der Debian-ISO installiert und dann Proxmox drüber. Beim Setup habe ich alles in ein Luks-LVM gepackt, da ich damit die größte Flexiblität habe.


    Meine Mischung ist btrfs + zstd für die root sowie Partition der laufenden Container/VMs. ZFS + zstd + größere Blocksize nutze ich für Backups. So könnte ich jederzeit z.B. btrfs oder ZFS komplett rauskicken und müsste dank LVM auch nicht viel ändern. Ich kann dank LVM auch jederzeit noch eine XFS-Partition hinzufügen um ein schlankes Dateisystem im Unterbau zu testen.


    PS: btrfs und ZFS kannst du im laufenden Betrieb in beide Richtungen resizen. Bei ZFS musst du nur etwas tricken ;)

    "Security is like an onion - the more you dig in the more you want to cry"

  • Ich bin auch absoluter Fan von Proxmox!

    In der Uni haben wir in der "DevOps-Vorlesung" mit Proxmox und Saltstack gearbeitet und so unsere eigene CD/CI Chain mit Jenkins, Nexus und Docker-Images für eine kleine Spring-Boot zum Laufen gebracht.

    Wie kann ich das verstehen? Habt ihr dann die Docker Container in einem LXC Container deployed?

  • Ich bin auch absoluter Fan von Proxmox!

    Wie kann ich das verstehen? Habt ihr dann die Docker Container in einem LXC Container deployed?

    Proxmox war für uns Studis im Prinzip nur ein Interface um das mal kennenzulernen und bissel rumzufummeln (RAM erhöhen on-the-fly und dann begeistert sein). Ich bin nicht mal sicher, ob das VMs oder Container waren, aber ich denke VMs weil die unterschiedl. Betriebssysteme hatten.

    Die hießen halt einfach nur proxmox0501 bis proxmox0506 und wir sollten dann alle per SALT anbinden, Shell-Skripte schreiben, SSH kennenlernen.

    01 war der Salt-Master
    02 hatte nen lighthttpd mit ner Hello World Webseite
    03 Nexus
    04 Jenkins
    auf 05 lief ne simple Spring-Boot Applikation die Artefakte aus nem anderen Nexus-Repository genutzt hatte.
    06 war noch irgendwie mit Grafana und so Montoring Zeugs bestückt.

  • Alles klar, ich dachte ihr hättet eine gute Lösung für CD/CI von LXC Containern. Ich suche derzeit nach einer guten Methode LXC Templates in einer CD/CI Chain zu erstellen, in einer Art "Registry" zu speichern um sie von da aus zu deployen - also ziemlich analog zu Docker Pipelines. Ich habe bereits Kontakt mit dem Debian Appliance Builder gehabt, allerdings lässt sich dieser selbst nicht in einem LXC Container ausführen... Aber das wird jetzt zu Offtopic für diesen Thread. Evtl. mache ich dafür einen eigenen Thread auf.