
Gibt es empfohlene Werte für „mon osd down out“? Der Cluster hat 15 Knoten und 300 OSDs. Es läuft Ceph Jewl.
Der Standardwert in Jewel beträgt 300 Sekunden. Ich habe mich gefragt, ob es Vorteile oder Nachteile hat, den Standardwert zu ändern?
Antwort1
Der Standardwert wurde auf 600 Sekunden erhöht, ich weiß nur nicht, seit welcher Version. Eine Änderung des Wertes ist nur sinnvoll, wenn Sie Probleme mit der aktuellen Konfiguration haben. Neben einer geplanten Wartung, bei der Sie das noout
Flag setzen (sollten), um eine Neuverteilung zu verhindern, wenn ein Server ausgefallen ist (oder einzelne OSDs), können viele Dinge mit einem Server passieren. Beispielsweise kann ein OSD aus irgendeinem Grund ausfallen und wird markiert down
. Dann hat es mit Ihrer aktuellen Konfiguration 5 Minuten Zeit, um wieder hochzufahren, oder es wird ebenfalls markiert, out
was eine Neuzuordnung der PGs von diesem OSD aus auslöst, es wird entleert. Nun klingt es nicht so schlimm, einen einzelnen Dienst innerhalb von 5 Minuten wieder hochzufahren, aber wenn Sie einen ganzen Server mit mehreren OSDs hochfahren müssen, kann es viel länger dauern. Bei einem niedrigen mon_osd_down_out_interval
Wert kann dies jedoch zu „flackernden OSDs“ führen, die viel mehr Probleme im Cluster verursachen. Ich nehme an, dies war der Hauptgrund, den Standardwert auf 10 Minuten zu erhöhen.
Wenn Ihr Cluster hingegen groß genug ist und die Crush-Regeln und Replikate angemessen konfiguriert sind, sollten Sie in der Lage sein, einige OSDs zu verlieren, ohne dass die Clients es bemerken. Es liegt im Grunde am Cluster-Administrator, ein Gefühl für die möglichen Szenarien zu bekommen, da dies auch von der tatsächlichen Hardware abhängt. Ich habe einen Kunden, dessen Server 15 oder mehr Minuten zum Neustarten benötigen. Stellen Sie sich nun einen Kernel-Absturz oder etwas vor, das einen Neustart auslöst. Der Server würde innerhalb des Intervalls nicht wiederhergestellt, was zu massivem Remapping führen würde. Diese Fälle können mit einem angepassten mon_osd_down_out_interval besser kontrolliert werden.