Was ist die minimale Anzahl von Ceph OSD-Hosts, die für die Verwendung des Erasure-Code-Pools erforderlich sind?
Die beste Praxis bei der Verwendung von Ceph-Speicher besteht darin, die Fehlerdomäne des Pools größer als den "Host" zu setzen. Ein Datenpool, der einen Host als Fehlerdomäne verwendet, weist Ceph an, Datenstücke verteilt auf verschiedene Hosts zu schreiben, um sicherzustellen, dass Daten von anderen auf gesunden Hosts gespeicherten Datenstücken wiederhergestellt werden können. Benutzer können die Fehlerdomäne weiterhin auf "Festplattentreiber" konfigurieren, was Daten speziell gegen Festplattenausfälle schützt, ähnlich wie bei traditionellen Festplattenarrays.
Hier sind die Empfehlungen für die minimale Anzahl an Hosts, die erforderlich sind, um einen Erasure-Code-Pool zu verwenden.
Beste Konfiguration:Beste Konfiguration: Anzahl der Server ≧ K + M +1
- Diese Konfiguration ermöglicht es Ceph, jeden EC-Chunk über K+M Hosts zu verteilen.
- Wenn einer der Hosts ausfällt, haben Sie genügend Hosts, um den verlorenen Chunk wiederherzustellen.
Zweitbeste Konfiguration: Anzahl der Server = K + M
- Diese Konfiguration ermöglicht es, dass jeder EC-Chunk auf K+M Hosts verteilt wird.
- Wenn ein Host ausfällt, haben Sie keinen anderen Host, um den verlorenen EC-Chunk wiederherzustellen. Es ist entscheidend, ihn umgehend zu reparieren, um das System so schnell wie möglich wieder in einen gesunden Zustand zu versetzen.
Budgetbeschränkte Konfiguration:Anzahl der Server ≧ (K + M) / M
Diese Konfiguration weist Ceph an, mehrere Erasure-Coding (EC)-Chunks über die angegebene Anzahl von Hosts zu verteilen. Wenn ein Host ausfällt, gehen höchstens M Chunks eines Objekts verloren.
Diese Konfiguration ermöglicht
- Eine beliebige Anzahl von Festplatten kann gleichzeitig in einem Host ausfallen.
- Oder der Cluster kann höchstens einen Host verlieren.
- Oder nur eine Festplatte in jedem der M Hosts kann gleichzeitig ausfallen.
Für das Beispiel von K+M = 4+2; die minimale Anzahl an benötigten Hosts beträgt 6/2 = 3. Sie können nur einen Host verlieren, aber Sie werden nicht genügend gesunde Hosts im Cluster haben, um die verlorenen Chunks wiederherzustellen.