Linux Kernel first meta block group too large

Das Thema von Spectre und Meltdown hat uns ebenfalls gut beschäftigt, aber heute wollen wir nicht darüber reden. Viel mehr gehen wir auf einen Bug im Linux Kernel ein, welcher uns bei den Upgrade-Aktionen über den Weg gelaufen ist und zuerst für Verwirrung sorgte.

Im Detail betrifft es den Mount Vorgang von Ext4 Filesystemen, welche in der Vergangenheit vergrößert oder verkleinert wurden. Dies quittiert sich mit der Fehlermeldung ‘first meta block group too large’. Das Ganze trat im Kernel 4.4.48 das erste mal auf und zieht sich leider durch die Reihe. ( z.B. hier und hier ). Die Behebung ist für Stable Releases geplant, aber unsere Tests mit einem recht aktuellen 4.13er Kernel zeigten noch das gleiche Verhalten. In den genannten Links existiert auch schon ein Patch für einen manuellen Kernel Build, falls Bedarf besteht.

Die Lösung des Problems lässt sich leider nur mit einem neueren/selbst gebauten Kernel oder einer Portierung der Daten mittels altem Mount und neuem Filesystem beheben. Wir hoffen Euch mit dieser Information ein paar graue Haare und Zeit zu ersparen.

Und wem all das Ganze zu viel wird, der kann sich von uns gern unterstützen lassen.

Ronny Biering

Autor: Ronny Biering

Vor NETWAYS arbeitete Ronny bei einem der großen deutschen Internet- und Hosting Provider. Hier betreut er zusammen mit seinen Kollegen aus dem Bereich Managed Services die Plattformen unserer Kunden. Im Gegensatz zu dem üblichen Admin-Cliche, gehört Fitness zu einer seiner Lieblingsfreizeitbeschäftigung.

Graphite vs. IOPS – experience exchange

Last year, Blerim told us how to benchmark a Graphite and now we want to share some experience on how to handle the emerging IOPS with its pro and contra. It is important to know that Graphite can store its metrics in 3 different ways (CACHE_WRITE_STRATEGY). Each one of them influences another system resource like CPU, RAM or IO. Let us start with an overview about each option and its function.

max

The cache will keep almost all the metrics in memory and only writes the one with the most datapoints. Sounds nice and helps a lot to reduce the general and random io. But this option should never be used without the WHISPER_AUTOFLUSH flag, because most of your metrics are only available in memory. Otherwise you have a high risk of losing your metrics in cases of unclean shutdown or system breaks.

The disadvantage here is that you need a strong CPU, because the cache must sort all the metrics. The required CPU usage increases with the amount of cached metrics and it is important to keep an eye on enough free capacity. Otherwise it will slow down the processing time for new metrics and dramatically reduce the rendering performance of the graphite-web app.

naive

This is the counterpart to the max option and writes the metrics randomly to the disk. It can be used if you need to save CPU power or have fast storage like solid state disk, but be aware that it generates a large amount of IOPS !

sorted

With this option the cache will sort all metrics according to the number of datapoints and write the list to the disk. It works similar to max, but writes all metrics, so the cache will not get to big. This helps to keep the CPU usage low while getting the benefit of caching the metrics in RAM.

All the mentioned options can be controlled with the MAX_UPDATES_PER_SECOND, but each one will be affected in its own way.

Summary

At the end, we made use of the sorted option and spread the workload to multiple cache instances. With this we reduced the amount of different metrics each cache has to process (consistent-hashing relay) and find the best solution in the mix of MAX_UPDATES_PER_SECOND per instance to the related IOPS and CPU/RAM usage. It may sound really low, but currently we are running 15 updates per second for each instance and could increase the in-memory-cache with a low CPU impact. So we have enough resources for fast rendering within graphite-web.

I hope this post can help you in understanding how the cache works and generates the IOPS and system requirements.

Ronny Biering

Autor: Ronny Biering

Vor NETWAYS arbeitete Ronny bei einem der großen deutschen Internet- und Hosting Provider. Hier betreut er zusammen mit seinen Kollegen aus dem Bereich Managed Services die Plattformen unserer Kunden. Im Gegensatz zu dem üblichen Admin-Cliche, gehört Fitness zu einer seiner Lieblingsfreizeitbeschäftigung.

Puppet 5 – how new is that!

This entry is part 1 of 1 in the series Puppet 5


Have you heard? In July this year Puppet released its’ new software stack of the agent, server and db package to manage, control and orchestrate your IT infrastructure. Enough time has passed for us to test, upgrade and implement it in our environment. With this series we want to introduce some of the new features and inform you about the tasks you need to know or be aware of should you wish to upgrade.

Let us start with the basic changes in the new version. These are for example the switch from PSON to JSON encoding if the agent downloads his information, catalogues or metadata. This will help you to better integrate Puppet in your setup when it needs to communicate with other tools. You can also see an improved performance in handling facts and reports, especially when it matters to process larger quantities.

Another point to mention is the usage of the newer Ruby in version 2.4. Since version 4, Puppet ships all it needs in its’ packages, so you need to reinstall your manually added Puppet agent gems.

And the last point for today should be the version numbering of the new packages. Puppet focuses on keeping all major versions of agent, server and db in one counter and follows the Semantic Versioning as closely as possible. Which is one of the reason for the huge jump in the Puppet server version.

Stay tuned to learn more. And if you need further help or want to learn more about Puppet take a look at our products or training course .

Ronny Biering

Autor: Ronny Biering

Vor NETWAYS arbeitete Ronny bei einem der großen deutschen Internet- und Hosting Provider. Hier betreut er zusammen mit seinen Kollegen aus dem Bereich Managed Services die Plattformen unserer Kunden. Im Gegensatz zu dem üblichen Admin-Cliche, gehört Fitness zu einer seiner Lieblingsfreizeitbeschäftigung.

Icinga 2 – Multi-Zonen Notifications

Komplexe Monitoring Umgebungen mit Icinga 2 kennt man ja schon und auch was sich alles mit den Satelliten und zus. Zonen-Mastern anstellen lässt. Aber wisst ihr auch, dass sich gezielte Benachrichtigungen für einzelne Zonen definieren lassen? Die meisten nutzen wahrscheinlich schlicht nur die Haupt/Master Zone für Notifications; aber gehen wir doch von einem nicht unüblichen Beispiel aus : Der externen Überwachung des eigenen Monitorings.

Wir wollen, dass der externer Satellit uns autark kontaktiert sobald das Monitoring ausfällt und im Sinne des Directors, ebenso wenig eine manuell Konfiguration pflegen. Jetzt muss er die Benachrichtigung nur irgend wie zu uns bekommen. Das Wissen über die Objekte sollte bei solchen Setups vorhanden sein, daher werde ich keine Screens oder Config-Auszüge einfügen, sondern nur das Vorgehen beschreiben.

Wie einfach das Ganze mit Zonen-Verzeichnissen und einem Parameter realisiert werden kann, zeigt sich wie folgt. Wir generieren das entsprechende Notification-Command für den Satelliten und stellen sicher, das er es, sowie die betreffenden Kontakte, in seiner Zone finden kann. Anschließend folgt auch schon das Notification Objekt, welches a.) einfach mit in das Zonen-Verzeichnis des Satelliten geschoben, oder b.) global um den Parameter “zone” erweitert wird. Und schon kann es los gehen.

All das lässt sich übrigens auch wunderbar in einem NWS Satelliten abbilden. Probiert es einfach mal aus.

Ronny Biering

Autor: Ronny Biering

Vor NETWAYS arbeitete Ronny bei einem der großen deutschen Internet- und Hosting Provider. Hier betreut er zusammen mit seinen Kollegen aus dem Bereich Managed Services die Plattformen unserer Kunden. Im Gegensatz zu dem üblichen Admin-Cliche, gehört Fitness zu einer seiner Lieblingsfreizeitbeschäftigung.

WLAN in deutschen ICEs

WIFIinICE

WLAN im Zug

Seit Anfang diesen Jahres wurde die Angebotspalette in den deutschen ICE Zügen um ein kostenloses WLAN in allen Klassen erweitert. Das kommt den viel reisenden Kollegen von Netways zu gute, welche oft im Zug unterwegs sind. Sei es jetzt unser Consulting Team, der Vertrieb auf dem Weg zum Kundentermin oder unsere Event Abteilung unterwegs zum nächsten Highlight.

Wir wollen das Ganze aber mal etwas genauer unter die Lupe nehmen und schauen, warum es besser ist als ein Hotspot per Handy oder Tablet mit seinem eigenen Mobil-Provider. Hintergrund ist die Technik, welche mit dem Partner Icomera aus Schweden zum Einsatz kommt. Sie koppelt sich parallel zu den 3 großen Anbietern (Telekom, Vodafone, Telefónica) um eine stabile und dauerhafte Verbindung herzustellen und zu gewährleisten. Damit werden Unterbrechungen auf ein Minimum reduziert und treten meist nur in langen Tunnelfahrten auf. Man bleibt aber verbunden und kann im Anschluss sofort weiter surfen.

Zu erwähnen ist noch ein Datenvolumen von 200 MB pro Tag in der 2. Klasse. Ist das Volumen aufgebraucht, wird die Geschwindigkeit reduziert, damit alle Passagiere eine gleichbleibenden Qualität nutzen können. Die Geschwindigkeit nach der Drosselung ist aber noch höher als man sie von Mobilanbietern kennt. Jedoch sollten 200 MB in den meisten Fällen pro Fahrt für eine normale Nutzung ausreichen. Es ist daher zu empfehlen, die WLAN Verbindung als ‘getaktet’ zu markieren um Hintergrundaktivitäten seiner Geräte zu mindern. Unnötige Downloads, Updates oder Streams sollten ebenfalls vermieden werden.

Werfen wir noch einen Blick auf die Sicherheit. Dabei kommen viele moderne Umsetzungen und bekannte Technologien wie z.B. die Client Isolation zum Einsatz. Jedoch ist das ganze immer noch ein HotSpot Angebot und ein Abfangen von Informationen kann nicht grundsätzlich ausgeschlossen werden. Nutzern mit sensiblen Daten wird daher die Verwendung einer VPN Verbindung und das surfen per HTTPS empfohlen.

Als Schlusswort kann ich die Nutzung nur empfehlen und begrüße das neue WLAN in den ICEs. Da ich selbst jede Woche sehr oft 5-6 Stunden pro Fahrt unterwegs bin, kann ich so mein Büro mitnehmen und die Zeit sinnvoll nutzen.

Bei weiterem Interesse, kann man sich auf den Portalen der Deutschen Bahn informieren (hier und hier)

Ronny Biering

Autor: Ronny Biering

Vor NETWAYS arbeitete Ronny bei einem der großen deutschen Internet- und Hosting Provider. Hier betreut er zusammen mit seinen Kollegen aus dem Bereich Managed Services die Plattformen unserer Kunden. Im Gegensatz zu dem üblichen Admin-Cliche, gehört Fitness zu einer seiner Lieblingsfreizeitbeschäftigung.