Hallo zusammen,
ich nutze PVE seit über 5 Jahren zu Hause für etliche VMs, bisher mit ZFS. Als Host läuft ein HP DL380P Gen8 mit 56GB RAM.
Das funktioniert soweit einwandfrei.
Nun zu meinem Vorhaben:
Ich habe mich nun etwas in Ceph eingelesen und wollte mal testen ob das als Storage Pool bei mir herhalten könnte. Ich weiß dass ein einzelner Node nicht ideal ist für Ceph aber mir gefällt die Flexibilität was das Erweitern von Pools oder die Änderung der Anzahl der Replica angeht. Die CRUSH Map habe ich dahingehend abgeändert dass die PGs auf die OSDs verteilt werden anstatt Hosts. Soweit funktioniert alles.
Da ich nun gerne noch SSDs als WAL/DB einsetzen würde wollte ich die OSDs in der CRUSH Map gruppieren und für jeweils eine Gruppe dann eine OSD als WAL/DB einsetzen.
Hier die abgeänderte CRUSH Map:
Auch das hat noch funktioniert, die PGS wurden jeweils auf die groups verteilt wie ich das erwartet habe.
Bis ich den Host mal neustarten musste. Dann bin ich erst mal erschrocken weil ich eine Menge "unknown" PGs hatte. Habe dann relativ schnell den Fehler bemerkt:
Die OSDs wurden nach dem Neustart in das bucket des Hosts gepackt. Nachdem aber in der replicated_rule noch "step chooseleaf firstn 0 type group" steht kann das dann nicht mehr funktionieren.
Kann man dieses Verhalten irgendwie verhindern oder gibt es eine andere Lösung dafür?
Ich komme hier im Moment nicht mehr weiter und würde um eure Hilfe bitten.
ich nutze PVE seit über 5 Jahren zu Hause für etliche VMs, bisher mit ZFS. Als Host läuft ein HP DL380P Gen8 mit 56GB RAM.
Das funktioniert soweit einwandfrei.
Nun zu meinem Vorhaben:
Ich habe mich nun etwas in Ceph eingelesen und wollte mal testen ob das als Storage Pool bei mir herhalten könnte. Ich weiß dass ein einzelner Node nicht ideal ist für Ceph aber mir gefällt die Flexibilität was das Erweitern von Pools oder die Änderung der Anzahl der Replica angeht. Die CRUSH Map habe ich dahingehend abgeändert dass die PGs auf die OSDs verteilt werden anstatt Hosts. Soweit funktioniert alles.
Da ich nun gerne noch SSDs als WAL/DB einsetzen würde wollte ich die OSDs in der CRUSH Map gruppieren und für jeweils eine Gruppe dann eine OSD als WAL/DB einsetzen.
Hier die abgeänderte CRUSH Map:
Code:
# begin crush map
tunable choose_local_tries 0
tunable choose_local_fallback_tries 0
tunable choose_total_tries 50
tunable chooseleaf_descend_once 1
tunable chooseleaf_vary_r 1
tunable chooseleaf_stable 1
tunable straw_calc_version 1
tunable allowed_bucket_algs 54
# devices
device 0 osd.0 class hdd
device 1 osd.1 class hdd
device 2 osd.2 class hdd
device 3 osd.3 class hdd
device 4 osd.4 class hdd
device 5 osd.5 class hdd
device 6 osd.6 class hdd
device 7 osd.7 class hdd
device 8 osd.8 class hdd
# types
type 0 osd
type 1 group
type 2 host
type 3 rack
type 4 row
type 5 pdu
type 6 pod
type 7 room
type 8 datacenter
type 9 zone
type 10 region
type 11 root
# buckets
group group2 {
id -7 # do not change unnecessarily
id -8 class hdd # do not change unnecessarily
# weight 12.372
alg straw2
hash 0 # rjenkins1
item osd.0
item osd.2
item osd.3
}
group group1 {
id -5 # do not change unnecessarily
id -6 class hdd # do not change unnecessarily
# weight 12.372
alg straw2
hash 0 # rjenkins1
item osd.1 weight
item osd.4 weight
item osd.6 weight
}
group group0 {
id -3 # do not change unnecessarily
id -4 class hdd # do not change unnecessarily
# weight 12.372
alg straw2
hash 0 # rjenkins1
item osd.5 weight
item osd.7 weight
item osd.8 weight
}
root default {
id -1 # do not change unnecessarily
id -2 class hdd # do not change unnecessarily
# weight 12.372
alg straw2
hash 0 # rjenkins1
item group0
item group1
item group2
}
# rules
rule replicated_rule {
id 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type group
step emit
}
# end crush map
Auch das hat noch funktioniert, die PGS wurden jeweils auf die groups verteilt wie ich das erwartet habe.
Bis ich den Host mal neustarten musste. Dann bin ich erst mal erschrocken weil ich eine Menge "unknown" PGs hatte. Habe dann relativ schnell den Fehler bemerkt:
Die OSDs wurden nach dem Neustart in das bucket des Hosts gepackt. Nachdem aber in der replicated_rule noch "step chooseleaf firstn 0 type group" steht kann das dann nicht mehr funktionieren.
Kann man dieses Verhalten irgendwie verhindern oder gibt es eine andere Lösung dafür?
Ich komme hier im Moment nicht mehr weiter und würde um eure Hilfe bitten.