Update: Ryzen 9 3900x + 10GBit
Im Februar 2020 habe ich fleissig meine Rechner durchgetauscht und aufgerüstet. Eine spannende Arbeit. Ein kleiner Bericht.
AMD Ryzen 9 3900x
Eigentlich sollte der Server im Keller ausgewechselt werden. Ein alter HP-Rechner mit Intel i7-Prozessor, 4 Kerne/ 8 Threads und 32GB RAM unter Ubuntu Linux.
Das System war leider etwas zu schwach. Die Rechenleistung des i7 würde zwar reichen, aber für die vielen virtuellen Maschinen wären mehr Kerne von Vorteil. Die nötige Speicheraufrüstung wäre aber nur durch einen Austausch aller Module möglich.
Daher entschied ich mich dafür, den Server-PC als Ganzes auszumustern, alternative Einsatzzwecke dafür habe ich genug.
Neuer Server wird mein bisheriger Büro-PC mit AMD Ryzen 5 2600 und 64GB RAM. Der Prozessor ist zwar Tests aus dem Internet nach nur ca. 20% schneller als der i7, dafür hat er 6 Kerne / 12 Threads, also 50% mehr. Das wiegt bei virtuellen Maschinen schwer. Ausserdem sind bereits 64GB RAM verbaut.
Büro-PC
Den Büro-PC habe ich komplett neu zusammengebaut.
AMD Ryzen 9 3900x mit 12 Kernen / 24 Threads, eine heftige Power-Maschine. Das ganze aufgebaut auf einem MS X570-A4 Pro Board und dazu 64GB RAM. Für die Daten habe ich eine Samsung 970EVO Plus M.2-SSD spendiert, als Grafikkarte habe ich eine alte Geforce 1070TI recycled. Da ich nur Büroarbeit erledige und nicht spiele, reicht die noch vollkommen.
Zuerst hatte ich versehentlich die langsamere Geforce 1060 eingebaut, die man auf dem Foto sieht. Bei 2 herumliegenden Karten besteht leider die 50% Wahrscheinlichkeit, dass man die falsche einbaut.
Das war aber schnell behoben.
Der Zusammenbau ging flott von der Hand und Linux Ubuntu 19.3 war von USB-Stick bereits 5 Minuten nach dem ersten Booten komplett installiert. Das sollte man mal mit Windows 10 ausprobieren.
Die Kiste geht ab wie Schmidts Katze. Eine Hammer-Maschine, in der Systemüberwachung ist bald kein Platz mehr für die Prozessorkerne.
Thunderbird, Virtualbox und die übrigen Linux-Programme waren in kürzester Zeit installiert. Meine virtuelle Windows10-Maschine habe ich einfach vom alten Rechner auf den neuen kopiert. Wider Erwarten wollte Windows KEINE Neuregistrierung, sondern lief sofort in Virtualbox an, als hätte sich nichts geändert – nur war eben alles schneller, als auf dem Ryzen 5.
Für die Installation des Büro-PCs habe ich inklusive Zusammenbau und Einspielung aller Programme nur knapp eine Stunde benötigt. Da zahlt es sich aus, dass die Daten auf dem Server und nicht auf dem PC liegen und Windows in einer virtuellen Maschine liegt, die man einfach kopieren kann.
VM-Server
Weiter ging es mit dem VM-Server. (Server für die Virtuellen Maschinen (VM))
Auch hier ging die Installation recht flott. 2 neue M.2 SSD-Laufwerke Samsung SSD 970EVO+ mit je 1 TB habe ich eingebaut, das reicht aktuell für 6 virtuelle Maschinen.
Nachdem das Grundsystem lief, habe ich die virtuellen Maschinen auf dem alten PC nacheinander abgeschalten und auf den neuen Server überspielt. Zuerst die 2 virtuellen Windows 10 – Maschinen für meine Drucksysteme. Virtuelle Systeme sind einfach was Feines. Einfach auf einen anderen PC kopieren und neu starten. Fertig.
Trotz Wechsel von i7 auf AMD Ryzen 5 gab es keine Probleme.
Nach den Windows-Maschinen wollte ich die Linux-VM für meine Webseite (www.bastel-bastel.de) auf den neuen PC kopieren und kam auf die dumme Idee, das Ding im laufenden Betrieb zu kopieren.
Eigentlich sollte ich es besser wissen, offene Datenbanken kann und darf man nicht einfach kopieren, das macht Probleme.
Manchmal denkt man aber nicht richtig nach.
Die Virtuelle Maschine (VM) war schnell kopiert und ich konnte ohne Unterbrechung die Webseite auf dem neuen PC weiterbetreiben.
Na ja, kurz darauf stürzte die Webseite ab. In den nächsten 2 Stunden gab es 4 Abstürze, irgendwann war dann keine Verbindung zwischen WordPress (der Webseiten-Software) und der Datenbank mehr möglich.
Und da ist mir wieder eingefallen, was ich eigentlich vorher schon hätte wissen müssen: Kopiere keine geöffneten Datenbanken, das führt zu Inkonsistenzen.
Nachdem ich meine eigene Dummheit erkannt und die geschlossene VM nochmal kopiert hatte, lief dann auch die Webseite wieder stabil. Seither gab es auch keine weiteren Probleme.
Damit liefen auf dem neuen Server 4 virtuelle Maschinen:
2x Windows 10 für meine Drucksysteme, 1x Windows 7 für diverse Zwecke und 1x Linux Ubuntu für meine Webseite.
Alles war deutlich schneller, als auf meinem alten Server. Ich war zufrieden.
Kleinzeug
2 Dinge liefen aber noch nicht, der Radioaktivitätssensor und meine Solaranlage. Für beide war die zugehörige Software in der virtuellen Windows 7-Maschine installiert. Die Sensoren waren via USB angeschlossen und wurden von Linux an Windows durchgereicht, allerdings im Keller.
Ich kam aber auf die Idee, das Netzwerk auf 10GBit hochzurüsten und daher sollte der Server zukünftig im Büro stehen. Sonst hätte ich 3 Switches austauschen müssen, so reichte einer.
Die Lösung war ein Silex DS-510 USB-Device-Server.
Das Teil hat 2 USB-Ports und einen LAN-Anschluss. Mit den passenden Treibern kann man die an USB angeschlossenen Geräte im Netzwerk verteilen.
Kurz bestellt und eingebaut und alles lief auf Anhieb. Dabei liegen da durchaus Fallstricke, die Verbindungsstrecke ist nicht trivial:
Radioaktivitätssensor bzw. SMA 5000TL Wechselrichter mit uralter Seriell-Schnittstelle (RS-232!), eingesteckt an einen Seriell-USB-Adapter. Die beiden USB-Adapter in den Silex DS-5100 USB-Device-Server und ab ins LAN. Auf dem Linux-Server in der virtuellen Maschine ein Windows 7 mit Treibern für den USB-Server, dort werden mit der Software für den USB-Seriell-Adapter 2 virtuelle serielle Schnittstellen zur Verfügung gestellt und darauf greifen 2 uralte Programme zu.
Aber alles läuft soweit problemlos.
10GbE – 10GBit LAN – Netzwerk in einer neuen Dimension!
100MBit gibt es schon seit Jahrzehnten, 1GBit gefühlt auch schon ewig. Seit mindestens 15 Jahren setze ich hier schon 1GBit-Netzwerk ein. Seither haben sich die Computer rapide weiterentwickelt. Nur das Netzwerk ist bei 1GBit stehengeblieben. Damit sind im Idealfall um die 120 MByte pro Sekunde übertragbar, in der Regel liegen die Übertragungswerte bei 100MByte bis hinab zu 30MByte pro Sekunde, je nachdem was sonst noch im Netzwerk läuft.
Zum Vergleich: Das Umkopieren der virtuellen Maschinen von M.2-SSD auf M.2-SSD lief mit 1.600MByte/s.
Einzelne Festplatten bringen zwar kaum mehr, als ein 1-Gigabit-LAN verarbeiten kann, aber schon ein kleines RAID im Server oder gar SSD werden durch 1GBit/s-LAN ausgebremst. Neue WLAN-Standards liegen in der Theorie auch schon über 1GBit/s. Es wird also Zeit für 10GBit-LAN.
Leidersind die benötigten Komponenten noch sauteuer und nicht besonders weit verbreitet. Zudem sind die benötigten Switches auf den gewerblichen Einsatz in Serverschränken ausgerichet und erzeugen eine heftige Geräuschkulisse.
Netgear MS510TX 10-Port Multi-Gigabit/10G Switch
Nach langer Suche und viel Überlegung, habe ich mich für den Netgear MS510TX entschieden. Der hat zwar auch einen Lüfter, der ist aber in meinem Büro kaum zu hören.
Der Switch hat 2x 10G-Anschluss, davon 1x direkt für Kupferkabel und einmal für SFP+. Dazu noch 2x Ports mit 1G/2,5G/5G und 2 Ports 1G/2,5G, also Zwischenstufen zu 10G.
Der Switch soll erst mal Erfahrungswerte erzeugen. Es muss ja nicht alles mit 10GBit angeschlossen werden,
SFP+ ist ein Steckplatz, an dem man Adapter anschliesst. Da gibt es Glasfaser oder Kupfer-Adapter.
Ich habe mich direkt für ein passendes 3m-Kabel 10Gtek SFP+ mit festen Adaptern auf beiden Seiten entschieden, da der VM-Server direkt neben dem Switch steht, passt das.
Der Switch arbeitet unauffällig und recht leise. Für den Anfang sollte der reichen. Der Rest des Netzwerks läuft weiterhin mit 1G.
Netzwerk-Karten-Spiel
Die verfügbaren bezahlbaren Netzwerkkarten kann man an 3 Fingern abzählen. Ich habe 3 Stück Asus XG-C100 mit Aquantia AQtion AQC107-Chipsatz (noch nie gehört) bestellt, 2x mit Kupfer für die normalen, „alten“ Anschlüsse und einmal mit SFP+ für dieses spezielle Kabel. Da kamen natürlich zuerst mal 3 Stück mit RJ45-Anschluss, das hat die Sache um 2 Tage verzögert, die Ersatzlieferung hat dann aber gepasst. Die Karten wurden eingebaut und auch direkt von Linux erkannt. Alles lief schön, bis ich die virtuellen Windows-Maschinen getestet habe. Die sind laufend abgestürzt und haben teilweise den Netzwerkanschluss der Linux-Maschine so weit gestört, dass ich neu Booten musste. Das war ziemlich frustig. Wenn es mal lief, dann lag die Übertragung bei lächerlichen 20-300Kilobyte/s.
Darauf habe ich mir die 10Gtek 10GBe-Karte mit Intel Chipsatz bestellt. Der Chipsatz ist schon etwas älter, aber leider wird er von Linux nicht direkt unterstützt. Der Treiber musste erst kompiliert werden, das hat leider nicht funktioniert. Laut Datenblatt werden Linux Kernel 2 und 3 unterstützt, das ist uraltes Zeug. Im Web habe ich einige Beiträge gefunden, die dieselben Probleme hatten, nur gab es keine Lösungen. Anscheinend benötigt man einen speziellen Kernel, der stand bei meinem Linux Mint 19.3 aber nicht zur Verfügung. Ausserdem wollte ich nicht das ganze System nur wegen der Netzwerkkarte verbieten. Also weg mit der Karte. Unter Windows wäre es vielleicht einfacher gewesen. Aber wer will das schon.
Zurück zu den Asus-Karten. Virtualbox hat leider nur wenig virtuelle Netzwerkkarten zur Auswahl und nur die Intel-Karte funktioniert überhaupt. Also habe ich alle Einstellungen Stück für Stück durchprobiert. Trial and Error. Tatsächlich – nachdem ich die Verbindungsgeschwindigkeit fix auf 1000MBit Duplex gestellt und die Puffer für Senden und Empfangen auf 512 verdoppelt hatte, liefen die virtuellen Maschinen absturzfrei. Die angezeigte 1000Mbit sind dabei egal, es ist ja nur eine virtuelle Schnittstelle.
Seither läuft alles mit vollen 10GBit, das macht richtig Spass!
Naja, alles ist übertrieben – der Büro-PC und der Server für die virtuellen Maschinen. Immerhin ist das Netzwerk hier spürbar schneller.
Als Datenserver verwende ich eine Synology DS918+, die kann leider nur 1GbE, da warte ich dringend auf ein Nachfolgegerät. Alternativen wie Eigenbau oder andere Anbieter wären mit sehr viel Arbeit verbunden, das will ich mir nicht antun. Größere Synology-Geräte sind zu groß und zu teuer. Bis dahin sind die Arbeitsdateien auf den VM-Server ausgelagert. Umständlich aber schnell. Als Zwischenlösung OK.
Das Überwiegende Netz läuft natürlich noch auf 1GbE, das ist für die meisten Anwendungen schnell genug, es soll ja auch nur zur Übung sein. Nach und Nach kommen dann weitere schnelle Geräte dazu.
Noch mehr Virtualisierung
Der neue VM-Server stand also im Büro und daneben mein (uralter) Wetter-PC mit AMD E-350. Das Ding läuft seit Jahren problemlos für meine Wetterstation. Sollte man an einem funktionierenden System etwas ändern? Eigentlich nicht. Andererseits: 35W im Dauerbetrieb läppern sich.
Also auf zur Virtualisierung: Veeam-Backup angeworfen, Sicherung auf meine Raspberry-Backupkiste mit Open-Media-Vault, dann eine virtuelle Maschine erzeugt und das Backup zurückgespielt – naja, versucht.
Für das Restore wird ein rudimentäres Windows gestartet und damit haben wir das Treiberproblem mit den zu kleinen Puffern. Das lässt sich hier aber nicht ändern. Abhilfe: Bastel-PC mit 1GbE, Virtualbox gestartet, Virtuelle Maschine erzeugt und dann diese Maschine auf den VM-Server kopiert. Umständlich über 3 Ecken, aber es ging.
Maschine gestartet und „Windows ist nicht aktiviert, vielleicht sind Sie einer Softwarefälschung zum Opfer gefallen…“ – Hilfe, ich bin ein Opfer! Naja, nur ein Opfer von Microsoft. Den Wechsel vom PC in die virtuelle Maschine mag Windows einfach nicht. Einfach neu aktivieren? Geht nicht, anscheinend sind die Aktivierungsserver abgeschalten, Win7 wird ja nicht mehr unterstützt. Also die Aktivierungshotline angerufen und den gefühlt Tausendstelligen Code eingetippt. Schlappe 10 Minuten dauert sowas, der Telefoncomputer spricht gefühlt deutlich langsamer als früher. Bin ich froh, dass Windows hier nur noch für Nischenanwendungen läuft.
Die Aktivierung lief problemlos, dann die Wetterstation an USB angesteckt und zum Einstellungsmenü zur Portweitergabe an das virtuelle Windows, wie ich es früher schon gemacht hatte: Kein Gerät gefunden – Ooops?!
Nach kurzem Pulsrasen und etwas längerer Prüfung hat sich dann die Lösung gefunden. Linux hat für den USB-Adapter bereits einen Treiber im Lieferumfang. Es handelt sich auch hier eigentlich um einen Seriell-Anschluss mit Seriell-USB-Adapter. Statt USB steht hier also eine Serielle Schnittstelle zur Verfügung.
Das ist natürlich fein, spart es doch einen Windows-Treiber.
Also Seriell der Wetterstation durch USB-Seriell-Adapter an den USB-Port des PC, von Linux wieder von USB auf Seriell umgewandelt ergibt einen Port auf /tty/USB0
Den kann man dann an das virtuelle Windows weiterleiten und dort wurde es als COM4 wie gewohnt von meiner Wetter-Software erkannt.
Perfekt.
Seither läuft die Wetterstation für www.ingersheimwetter.de in einer virtuellen Maschine und spart die 35W, die bisher für den extra PC benötigt wurden.
Damit laufen auf dem VM-Server jetzt 5 virtuelle Maschinen.
Die erste Woche ohne Absturz ist vorbei, ich hoffe, das bleibt so.