(4) Proxmox – hiermit geht es los, rein virtuell

Inhalt

Information:

Es gibt viele Virtualisierungssoftware auf dem Markt, ich bin in den letzten Jahren durch ioBroker und anderen Smarthome Lösungen ein Freund von linux Distributionen geworden. An dieser Stelle sei Proxmox zu empfehlen.

Vorab muss ich sagen das ich kein Profi bin, das was ich weiß hab ich durch ausprobieren und bei Problemen durch einfaches suchen im Internet gefunden. Das schwierigste war wahrscheinlich die Nomenklatur zu verinnerlichen, Proxmox ist ein sehr mächtiges Programm das beliebig weiter ausgebaut werden kann. Ich mag es sehr da man Maschinen von einer Festplatte auf einer anderen verschieben kann. Unterschiedliche Netzwerkkarten integrieren kann und vieles auch später noch ändern kann.

Für Probleme oder Anregungen gibt es hier auch viele Webseiten oder YouTube Videos bereits die einem das gut erklären können. Ich bin mit meinem Setup zufrieden und lerne immer wieder dazu, das einzige wo es bei mir ab und zu hakt sind Backups die hängen bleiben. Auch habe ich hier bereits den Proxmox Backup Server versucht, bin aber wieder auf die Boardmittel des Servers zurück gekommen. Diese sind ausreichend wenn man sie geschickt verteilt. Auch weiß ich einige Dinge noch nicht ganz sicher, aber das sind auch Teile die ich privat nicht unbedingt benötige, wie zb User Management mit Gruppen und entsprechenden Regeln wer was darf.

Hardware:

Womit fängt man an? Das hängt sicher von der Anwendung später ab, da ich nie vorhabe Betriebssysteme mit grafischer Oberfläche zu Virtualisieren reicht hier auch eine kleinere Variante. Es sollen hauptsächlich linux Server installiert werden die im Hintergrund Aufgaben erledigen. Der Rechner soll somit ja auch Tag und Nacht laufen und nicht den ganzen Strom fressen. Irgendwann kann man immer noch mal ausbauen nach oben hin, oder auch nach unten hin um den Stromhunger noch weiter einzudämmen.
Man schaut erstmal was man hat, es soll noch ein wenig Performance haben, ausreichend Speicher und natürlich eine schnelle SSD neben einer HDD als Datenspeicher.
Somit viel der Blick erst einmal auf einen vorhandenen HP Rechner mit 4gb RAM, einem i5 Prozessor mit 4 Kernen. In der Schublade lagen noch eine 256MB SSD und eine 3TB HDD, genau richtig dachte ich um es erst einmal auszuprobieren.
Mal kurz bei einem Händler rein geschaut um zu sehen was RAM so kostet und entschieden den Speicher auch noch auf 16GB aufzurüsten, man weiß ja nie wie viel das System so benötigt.

Später kam dann aus China noch eine sehr günstige Netzerkkarte mit 4 Ports hinzu. Es reicht die Hauptkarte zwar vollkommen, man kann hier schön mit virtuellen Netzwerkkarten und VLAN in jedes seiner Netzwerke gelangen, aber ich dachte mir, 4 zusätzliche Karten die fix an einem Switchport mit fest eingestellter VLAN hängt verteilt die Last und Aufgaben ein wenig und erhöht die Übersichtlichkeit. Das ist auch erst einmal so, man kann auch die Maschinen später noch mit einem Mausklick von einem Netz in ein anderes verschieben.
Nach 2-3 Monaten habe ich noch einmal ein 1TB SSD hinzugefügt, es kommen immer mehr Möglichkeiten für mich zusammen und zum testen, das der Bedarf eines schnellen Speichers größer wurde. Generell gibt es aber nicht so viele Programme die man ständig laufen lassen muss, vieles habe ich nur zum Testen installiert und ich könnte durch entfernen der Maschine auch wieder Speicher frei machen.

Update 12/2021: Nun wurde der komplette Server doch noch einmal ausgetauscht. Auch wieder nichts dolles, aber größeres. Ein Dell Precision 5810 mit 12 Core Xeon Prozessor, 3,6 ghz und 64GB ECC RAM. Dazu als Boot Platte eine 1TB M.2 SSD über den PCI Bus angebunden, eine 1TB Platte um schnelle Snapshots für ganz wichtige Systeme alle 4h  zu erstellen und 2 x 3TB für einmal tägliche Backups und einmal als Datenspeicher. Einmal pro Woche landen Backups auf der Synology per NFS.

Beim Wechsel von dem einen Proxmox auf den anderen habe ich gemerkt wie wichtig gute Backups sind, nicht alle ließen sich einwandfrei zurück spielen, große Probleme hatte ich mit meiner Docker Installation wo zahlreiche Container drauf liefen. Auf Grund der Probleme bin ich dazu über gegangen erst einmal für jeden Docher Container eine virtuelle Maschine zu nehmen. So groß sind die Datenmengen jetzt nicht dass dies ins Gewicht fällt. Die Maschinen sind dann aber kleiner und Fehler mit dem Docker wirken sich nicht direkt auf alle Container aus.

Installation:

Man muss nicht immer alles neu erfinden, auf der Webseite

https://www.proxmox.com/de/proxmox-ve/erste-schritte

und

https://www.thomas-krenn.com/de/wiki/Proxmox_VE_6.x_installieren

findet man man eine ausführliche sehr gute Erklärung und diesem YouTube Video wird es nochmal sehr gut gezeigt. (Deutsch)

Einrichtung/Mein Setup:

Für die wichtigsten Punkte während Installation und Konfiguration empfehle ich dieses Video (englisch)

Ich bevorzuge LXC Container, die kann man am einfachsten Verwalten, aus einem Template ein neues Linux erzeugen, dieses abändern wie man möchte und dann wieder in ein Template umwandeln um daraus neue Start Systeme bereits zu haben.

Nicht alle Distributionen liegen als LXC Container vor, hier muss man auf ISO Images der Hersteller zurückgreifen und eine virtuelle Maschine erst einmal installieren, aber auch das ist schnell erledigt und auch von diesen Virtuellen Maschinen kann man erst einmal Klone, also Duplizierungen, erzeugen.

Was sollte bei jedem Linux erst einmal gemacht werden bevor man dieses als Template abspeichert?

  • SSH Zugang aktivieren um auch remote drauf zugreifen zu können. Man kann zwar immer auch über Proxmox selber drauf zugreifen, aber wenn man an dem Punkt ist die Rechner remote zu steuern müsste man diesen Schritt erst in all seinen Maschinen durchführen.
  • Benutzer mit Rechten installieren -> Bei Bedarf, nicht jeder möchte seine Maschinen mit Root Zugang irgendwo liegen haben
  • Update durchführen, ich habe hier auch gleich über ein CronJob den automatischen Update installiert -> etwas was ich später mal über Ansible automatisieren möchte (und auch inzwischen über ansible umgesetzt habe)

Klone erstellen und Template

Wenn eine Maschine als Basis gut aufgesetzt wurde, Rechtsklick und erstelle Template wählen (Maschine kann danach nicht mehr direkt gestartet werden). Dies ist Vergleichbar mit einem Image einer Festplatte.

Mit Rechtsklick auf dieser Maschine und Klon kann ein Fullclon erstellt werden mit neuem Namen und einer neuen ID. Diese Maschine kann man dann starten und benutzen.

Netzwerk

Die Hardware Netzwerkschnittstellen werden in Proxmox erst einmal gar nicht konfiguriert. Man erstellt zu jeder Netzwerk Karte eine Linux Bridge und richtet sie ein. Die Hauptkarte habe ich an einem Port hängen der alle VLAN durch lässt. Hier kann man später, falls man diese Karte verwendet, ein beliebiges VLAN zuweisen.

Die anderen 4 Netzwerkkarten habe ich an speziellen Ports des Switches hängen, welche direkt nur ein VLAN durchreichen, so muss sich die Karte nicht bemühen falls man vergisst es korrekt einzustellen. Der besseren Übersicht habe ich dies in den Kommentaren versehen. z.b Mit VLAN50 für alle Proxmox Server auf denen „experimentiert“ wird. VLAN253 für alle Rechner die etwas mit dem Smarthome zu tun haben. -> So braucht man nicht seine Firewall umprogrammieren um von einem VLAN ins andere zu kommunizieren.

Speicher: NAS einbinden

Ich habe eine NFS Verzeichnis auf der Synology frei gegeben und in Proxmox eingebunden, dieses Laufwerk nutze ich nur für die Backups oder Snapshot, für eine echte virtuelle Maschine ist die Netzwerkgeschwindigkeit zu gering.

  1. In der Synology: Gemeinsames Verzeichnis z.b. PROXMOX erstellen
  2. In der Synology: NFS aktivieren, bei NFS die IP vom Proxmox Server rein, OK Klicken
  3. Unter Proxmox: Rechenzentrum wählen -> Storage
  4. Hinzufügen NFS:
  5. ID = PROXMOX (Name Ordner in Synology)
  6. Server = 192.168.x.xxx (IP der Synology)
  7. Inhalt = VZDump backup file, ISO, Disk Image
  8. NFS Version = 4.1 wählen
  9. Export auswählen = /volume1/proxmox (Name Ordner und Volume in Synology)

Die 3TB HDD nutze ich für die Ablage der ISO Dateien oder der Templates, weiter erstelle ich hier einzelne Festplatten um Daten zu speichern, welche ich in anderen Linux Maschinen mounte und damit dort als zusätzlichen Datenspeicher zur Verfügung stelle.

Mount erstellen

  1. Add Mount Point unter Ressourcen
  2. Unter Storage die HDD wählen
  3. Unter path z.b. /mnt/hdd eingeben
  4. Die Größe einstellen wie viel Speicher verwendet werden soll.
  5. in dem Linux mit ssh einloggen und einen Link des mount point zum gewünschten Verzeichnis zu erstellen
  6. ln -s /mnt/hdd/ /quelle/ordner

Die SSD nutze ich für die Maschinen selber, sie starten schnell und sind so super zu handeln, die IO Wartezeit hält sich hierbei am ehesten in Grenzen und der Speicherplatz ist entgegen der Prozessor Last der größte Flaschenhals im System.

 

 

Dieser Beitrag wurde unter HomeLab, Proxmox abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert