nerdporn-blog

Übrigens.

Auch dieser Blog hier läuft auf unserer NAS. Als Caching kommt eine Standardlösung zum Einsatz „WP Super Cache“ und im Backend nutze ich einen Redis-Object-Cache – unnötigerweise eigentlich, da hier im Prinzip ein nacktes WordPress läuft.

CNAME für die Massen

Da ich natürlich kein Provider/Hoster bin und keinen direkten Zugang zu den Registrierungsstellen des Internets habe, bekomme ich auch keinen Domainnamen direkt zugeteilt. Das muss ich über meinen Hoster machen.

Mein Hoster ist aber so lieb und steuert für mich auch die DNS-Einträge der Domains. Also kann ich mir für meine Domainnamen einen passenden Eintrag setzen lassen, damit der eigentliche Webserver meine NAS ist, die selbstredend nicht über eine Standleitung oder gar über eine feste IP verfügt.

Das geht dank des CNAMEs. Es wird quasi ein Aliasname vergeben, der für den Domainnamen steht. Meinen verrate ich hier mal nicht, aber unter diesem Aliasnamen ist unsere NAS über ein paar Ecken erreichbar und für euch Besucher sieht es so aus, als ob das hier eine ganz normale Webseite ist, die klassisch in einem Rechenzentrum in Frankfurt gehostet wird.

Umleitungskaskade

Bedauerlicherweise muss man dafür heute aber einen nicht unerheblichen Aufwand betreiben.

Neben dem CNAME muss auch die eigene NAS über eine feste IP-Adresse erreichbar sein. Dank IPv6 wäre das ja kein Thema, da hat jeder Teilnehmer eine feste Adresse und das unsägliche NAT und anderes ist unnötig geworden.

Leider aber sehen das noch lange nicht alle Teilnehmer im Netz so. Es fahren einfach noch viele mit einem Benziner ohne Kat durch die Gegend – es gibt mehr als genug Gegenstellen, die nur IPv4 sprechen.

Sooo… und dann bekomm‘ das mal hin, dass deine IPv6-NAS über IPv4-Netze erreichbar ist, wenn du keine eigene IPv4-Adresse mehr hast – sondern der gesamte Stadtteil sich eine teilen darf (DSlite sei „Dank“).

Freunde, ich erklär das hier nicht ausführlich. Aber ich bezahle einen Stapel Dienstleister dafür, dass die mir diverse Infrastruktur zur Verfügung stellen, damit das alles hinhaut.

Ok du Sparfuchs

Hmpf – ja, man möchte meinen, dass ich damit echt billig fahre. Tue ich aber nicht, da ich alle Beteiligten für ihre Dienstleistung bezahle.

Ich betreibe dieses Konstrukt eigentlich nur aus zwei Gründen:

  • weil ich es kann 😀
  • weil ich so 100% alles in der Hand habe und automatisieren und verknüpfen und steuern kann, was der Server und meine Skills so hergeben (mehr darüber im Nerdpornblog)

Sitorix

Mein größter Dank gilt natürlich dem bisher besten Hoster, mit dem ich gearbeitet habe, Sitorix. Die dortigen Ansprechpartner stehen quasi rund um die Uhr (und am Wochenende und Feiertagen) in Bereitschaft (wichtig für mich, der ich gerne mal Nachtschichten einlege – wörtlich gemeint) und arbeiten zuverlässig und serviceorientiert auf den Punkt.

Bei denen habe ich einen mittelgroßen Managed Server gemietet, ich könnte also von jetzt auf gleich wieder zurück auf einen zentralen Server umziehen – inklusive meiner ganzen Basteleien. Denn die Jungs von Sitorix wissen, was sie tun und wissen auch, wie man mit Spinnern wie mir umgeht 🙂

Messen, messen, messen – riesiger Bildschim muss her

Unsere NAS ist nicht gerade das Monsterteil schlechthin, aber auch nicht gerade die kleinste, die man bekommen kann.

Unsere NAS
Unsere NAS

Insgesamt hängen bei uns nutzbare 8TB Plattenplatz in einem RAID5 Verbund mit Datenschutz ähm Dingens, also eine Platte kann ausfallen und im laufenden Betrieb ersetzt werden und das RAID-System stellt dann die Daten wieder her.

Die Sicherungen laufen täglich in ein Amazon Glacier Becken und zusätzlich stündlich auf externe Festplatten. Wir selbst sichern unsere Macs per Time Machine dort und betreiben dort unsere Webseite, die Yellowstone Australian Shepherds.

Natürlich laufen dort auch noch andere für uns wichtige Dienste, wie IMAP-Server, CRM-System, lokaler DNS, Datenbankserver und so weiter und so fort.

Überwachung – das A & O

Damit das ganze Geraffel auch tatsächlich tut, für was es da ist, muss der Betrieb natürlich überwacht werden. Auch wenn das für Normalsterbliche ans Lächerliche grenzt, ich hasse es, wenn aus 24/7-Betrieb plötzlich 20/7 wird oder von Betrieb keinen Rede mehr sein kann, weil irgendein amoklaufender PHP-FPM-Prozess die CPU einschmelzen möchte.

Also habe ich meinen Arbeitsplatz ein bisschen aufgemöbelt – auf einem egal wie großen Monitor bekommt man einfach nicht alles gleichzeitig vor Augen.

mac links
mac links
mac rechts
mac rechts

Das wichtigste Instrument für den Serverbetrieb ist aber das Monitoring, also das beobachten und überwachen des Betriebs. Das erledige ich per SSH-Verbindung und einer tmux-Session, die alle für mich wichtigen Monitoring-Tools zusammenfasst.

Da wäre zum Einen die Prozessliste – momentan schläft der Server quasi, ist ja auch schon 23:16 und kaum noch Action auf der Webseite – und die automatisierten Wartungsscripte laufen erst weit nach Mitternacht.

htop server liegt im Koma
htop server liegt im Koma

Naja und zum anderen natürlich das obligatorische Webserver-Log, das per multitail und einem Filter in eine halbwegs lesbare Form gebracht wurde (ich hasse das Apachelogformat… und bin zu blöd oder unwissend das so anzupassen, dass es nutzbar ist… was interessiert mich, dass das immer ein php-fpm-Prozess ist, der da was zu quasseln hat… und dank der unsäglichen Pseudo-IP-Anschlüsse von Unitymedia muss ich eine Krücke über feste-ip, CNAME-Bastelei und anderes fahren, damit der Webserver überhaupt bei uns gehostet werden kann und dadurch ist der Referer immer nutzlos… aber ich schweife ab).

winnetou log
winnetou log

Ich sitze öfter mal Abends einfach nur vor den Monitoren und beobachte, was sich tut und wo ich was basteln kann/muss/darf/möchte.

Load Average

Jetzt könnte ich ja noch erzählen, wie lange ich gebraucht habe zu verstehen, was mir dieses „load average“ bei einem Unixsystem sagen möchte – ein System, dass ich in der einen oder anderen Form seit den ersten Slackware-Distributionen genutzt habe (also irgendwas mit 199x und nur mit lauffähiger xclock und xterm – mit ekligblankem X ohne… anderes Thema, irgendwann mal). Vielleicht bin ich ja nicht der einzige, also:

Load average 1 bei einer 1-Kern-CPU = 100% Auslastung
Load average 4 bei einer 4-Kern-CPU = 100% Auslastung
Load average 8 bei einer 4-Kern-CPU = 200% Auslastung 

Erste Zahl im Load Average = jetzt
Zweite Zahl im Load Average = voll komplex gerechneter Durchschnitt über 
die letzten 5min
Dritte Zahl im Load Average = Mathestudium nötig, Durchschnitt der letzten 15min

Aufgefallen? 400% Auslastung, wie soll das gehen? Tja. Gar nicht. Es bedeutet aber: doppelt so viel wäre zu machen gewesen als machbar war – gleichbedeutend mit mehr oder weniger nutzloser Maschine, weil sie aus dem letzten Loch pfeift. Gegen so etwas hilft nur ein ssh-Prozess, der derartige stark geniced wurde, dass man wenigstens noch die Serverdaemons abschießen kann.

Geil finde ich ja, dass bei einem Unixsystem nie wirklich Speicher frei ist. Der Speicher, der grad nicht für Anwendungen und Daten gebraucht wird, wird halt vom System für Buffering und sonstwas genutzt. Ok – auch anderes Thema, sorry.

Jetzt hoffe ich, dass ich das richtig zusammenbekommen habe. Wenn nicht, klärt mich bitte auf.