Consumerhardware als Server....
Homebereich:
Um hochwertige Hardware geht kein weg vorbei bei einem Server, welcher dauerhaft Produktiv und Zuverlässig laufen muss.
Für den Heimbereich fahre ich Persönlich noch mit einer Mischung aus Prosumer/Workstation und Server Komponenten.
z.B. ein Hochwertigs Prosumer Netzteil, Noctua Prosumer Fans, SATA HDDs. Ein hochwertigs Supermicro Workstation Mainboard mit Epyc CPU....
Hier ist es wichtig, dass man auf 2 Faktoren aufpasst.
1. Man willst zuverlässige Hardware welche stabil rennt.
2. Man will eine hohe Verfügbarkeit.
3. Man will dort wo es notwendig ist Servergrade Hardware haben.
z.b. ist ECC Speicher und RAID bei einem HomeServer ein Muss, Redundante Netzteile, SAS, IPMI, USV etc ein wäre schön. Wenn die Kiste mal 1-2 Stunden steht, ist dies vollkommen Irrelevant.
Will man hingegen ein Testnetzwerk / Testsystem hochnehmen um z.b. etwas mit Ansible oder so zu Spielen, wo nix PRODUKTIVES sondern nur LERNEN drauf passiert, reicht normale Hardware. Wenn hier was schief geht ---> Egal.
Industriebereich:
Hier wird es schon Interessanter. Da die Server Hardware Auswahl nach Anwendung ausgelegt werden sollte.
Werkeranzeigen/Werbetafeln/Werkeranzeigen/Speisekarten etc:
Hier hast du eine Umgebung wo das Gerät etwas dem Kunden / Werker / Vorbeigehenden Zeigen soll. Es soll nach Möglichkeit nicht Ausfallen, aber wenn doch ist nicht wild.
Hier sind z.b. Raspberry Pis sehr gut geeignet. Sie sind klein, ausreichend schnell, passiv kühlbar, billig, lange garantierte Verfügbarkeit.
Du brauchst keine Hochverfügbarkeit, wenn etwas ist, kann man das System schnell tauschen, Anzeige / Berechnungsfehler sind nicht tragisch.
Ok die Produktion steht evlt 5 Minuten aber hey, es ist eher unwahrscheinlich, wenn keine Lüfter ausfallen können. ...
Datenbanken / Webforen / Webshops etc
Das ist Zeug, welches zuverlässig und schnell laufen MUSS! Hier will man die höchste Vorsicht walten lassen, die geht.
Stellt euch mal ein Bitflip auf einer Datenbank vor. Dies hört sich erst einmal harmlos an. Allerdings kann das Kritische Konsequenzen haben.
Nehmen wir als (unrealistisches) Beispiel einen Brückenbau (hier wird ehh noch Papier und Brief genutzt... wobei Xerox Kopierer lassen wir das aber mal außen vor.).
Die Anforderungen vom Bauherren sind:
30 Meter, 240 Tonnen Nutzlast.
Die Bestellung für passende Schilder, etc funktioniert normal, allerdings hat die Datenbank vom Brückenbauer nun einen Bitflip.
In deren Datenbank steht:
30 Meter, 176 Tonnen Nutzlast.
Der Brückenbauer baut nun eine Brücke mit einigen Tonnen an Reserve:
30 Meter 210 Tonnen.
Ich denke jeder von euch der BridgeBuilder/Pontifex gespielt hat damals, weis was passiert wenn die LKWs losfahren
Also will man solide Server.
Man will:
Zuverlässigkeit (im Sinne von Datenkorrektheit)
Zuverlässigkeit (im Sinne von Uptime/Erreichbarkeit)
Zuverlässigkeit (im Sinne von Wartbarkeit)
Zuverlässigkeit (im Sinne von Verfügbarkeit von Ersatzteilen)
Und genau hier ist der Unterschied zwischen Serverhardware und Prosumer Hardware zu finden.
z.b. Wenn man durch Afghanistan wandern will, ist es schlauer eine AK-47 mitzunehmen, als eine hochmodernes Scharfschützen Gewähr....
Die AK-47 welche leicht zu reparieren, robust und zuverlässig ist aber nicht so zielgenau ist hier deutlich vom Vorteil....
Genauso ist es bei Servern. Du willst den Server nach Möglichkeit bei dir im Zugriff haben. In mehrfacherer Ausführung.
Bei 19" Systemen hast du solche Dinge wie Lüfter / Festplatten / Netzteile / PCI-E Komponenten, welche im laufenden Betrieb getauscht werden können.
Weiterhin ist Server Hardware im ganzen so ausgelegt, dass sie unter den schlechtesten Bedingungen solide Läuft.
10 Jahre Dreck im System? Ja und?
Heiser Raum? Interessiert mich wenig.
24/7 Betrieb seit 25 Jahren? Wen Interessiert es? (solange es ab und mal bisschen Pflege und 1-2 Ersatzteile gibt) (
http://www.xin.at/xin/sysinfo/sysinfo.htm)
Auch wenn du CPUs nimmst wie die kleinen XEONs und den entsprechenden I7/I5 CPUs, welche auf den Desktop Sockeln laufen, hast du dennoch sowohl bei den Mainboards als auch den CPUs ein anderes Feintuning.
Die Xeon Bretter sind auf Stabilität getrimmt. Die Spannungsversorgung wird mehr auf Zuverlässigkeit aufgebaut als auf Aussehen. Du kannst ECC Speicher nutzen, es wird auf Teile, welche kaputtgehen können verzichtet, es wird ein kleiner On bord Grafikchip verbaut etc.
Genauso ist es bei den CPUs. Diese werden für zuverlässiges arbeiten getrimmt. z.b. niedrigere Taktraten bei gleicher Spannung / Cache mit ECC usw.
Online Video Plattformen wie You*/P*rn Seiten
Dies ist ein interessanter Fall. Hier wird nur teilweise zu Server Hardware greifen.
Bei einem P°rn° ist es nur halb so schlimm, wenn ein Bitfehler im Video vorhanden ist. Dies bekommt der Consumer eher weniger mit....
Allerdings sollten Kommentare, Kundendaten, Kreditkarten Daten, je nach Seite auch Video Uploads zuverlässig gespeichert werden.
Daher wird man hier eine Mischung aufstellen. Nehmen wir mal einen kleinen P°rn Hoster.
Wir möchten zum einen viel Videomaterial schnell liefern können, weiterhin wollen wir einen zuverlässigen Service bieten und wir wollen möglichst Geld sparen bei unserem Setup.
Was machen wir also?
Wir bauen ein kleines Netz auf.
Als erstes brauchen wir einen Datenspeicher sowie unsere Datenbank in zweifacher Ausführung.
Hier setzen wir 2 Server Systeme ein. (will man Sichergehen 3 dann kann man einen zum Updaten / im Fehlerfall offline nehmen und in ruhe ersetzen)
Auf diesen beiden Systemen rennt jeweils eine Datenbank und ein Datenspeicher.
diese beiden Systeme werden gegeneinander Synchronisiert und die Daten werden Extern gesichert.
Hier liegen alle hoch geladenen Videos (ohne Bearbeitung), alle Kundendaten, alle Kommentare etc.
Als nächstes brauchen wir die Webserver. Hier setzen wir tendenziell Server Hardware ein.
Auf diesen Webservern liegt nichts an relevanten Daten. Hier rennt jeweils PHP und Apache sowie alles andere was man braucht um eine Website anzuzeigen
Tendenziell haben diese Systeme sehr viel RAM und kein Storage. Wir starten diese Systeme per PXE und laden alles was gebraucht wird beim Start in den RAM.
Warum kein eigenes Storage?
Wir müssen ehh mit den Fileservern reden, wenn Daten hochgeladen werden. Oder sich ein User einloggt.
Ram ist schneller als SSD Speicher / HDD Speicher.
Die Server brauchen für ein Update nur einmal neu durchzustarten.
Auch hier wieder 2-3 Systeme.
Nun wird es Interessant. Weil ab hier Setzen wir Consumer Hardware ein.
Re-Encoding Systeme. 2 ---> N
Diese Systeme laden die neu hoch geladenen Videos und konvertieren diese in alle von uns ausgelieferten Formate.
Je nachdem was wir zum Re-Encodieren benutzen sitzen hier entsprechend billige Grafikkarten oder ähnliches drin.
Hiervon sind im Normalfall 2 Online. Sobald die Warteschlage zu lang wird, fährt das dritte System hoch etc...
Sekundäre Fileserver. Hiervon setzen wir so viele ein wie wir brauchen. z.b. 10 - 20 Stk
Wir haben hier billige Consumer Hardware am laufen sowie gosse preiswerte HDDs. Diese Systeme sind Quasi unsere Medienlieferungen.
Wir haben in jedem System einen fetten SSD Cache, sowie ein dickes Storage. Auf diesen Systemen rennt z.b. ein ZFS RAID 0
Diese Systeme tragen den Hauptteil der Last. Sie haben genau eine Funktion, sie müssen Videos SCHNELL zum Kunden senden können.
genau wie die Re-Encoding Systeme werden diese Server OnDemand hochgeschossen. Auch haben alle Systeme nicht umbedingt den gleichen Datenbestand. Populäre Videos z.b. werden auf allen Systemen gespeichert. Nie gesehene nur auf 4-5 Systemen, welche grade online sind. Es wird regelmäßig ein Datenabgleich zwischen den Systemen gemacht um festzustellen ob irgendetwas fehlt.
Wenn ein System Stirbt, fährt das nächste hoch etc.