Direkt zum Hauptinhalt

Crushmap dekompilieren / kompilieren

Beschreibung:

Die Ceph Crushmap ist eine Konfigurationsdatei in Ceph, die beschreibt, wie Daten auf physische Speicherressourcen verteilt werden sollen. Sie definiert die Hierarchie der Speichergeräte und ihre Beziehungen zueinander, um die Ausfallsicherheit und Leistung von Ceph-Clustern zu optimieren. Die Crushmap wird von der Crush-Algorithmus-Engine verwendet, um intelligente Verteilungsentscheidungen zu treffen und sicherzustellen, dass Daten auch bei Ausfällen von Speichergeräten zugänglich bleiben.

Dekompilieren

Crushmap im Binärformat speichern.

Syntax
ceph osd getcrushmap -o <zieldatei>
ceph osd getcrushmap -o ~/crush_map_compressed_2023-03-29

Nun die Binärdatei dekompilieren. Somit haben wir auch gleichzeitig eine Sicherungskopie, nämlich die Kompilierte Datei

Sytntax
crushtool -d <binärcrushmapdatei> -o <zielcrushmapdateidecompiled>

crushtool -d ~/crush_map_compressed_2023-03-29 -o ~/crush_map_decompiled_2023-03-29

Nun kann die crushdatei mit einem ganz  normelen Texteditor wie vi,vim,nano,joe etc. bearbeitet werden.

Kompilieren und wieder injekzieren

crushtool -c <crushmapdateidecompiled> -o <neuebinärcrushmapdatei>
crushtool -c ~/crush_map_decompiled_2023-03-29 -o ~/new_crush_map_compressed_2023-03-29

Nun kann diese Datei wieder Injekziert werden

Syntax
ceph osd setcrushmap -i <neuebinärcrushmap>
ceph osd setcrushmap -i ~/new_crush_map_compressed_2023-03-29

Fertig.