Dear list,
I've recently found it is possible to supply ceph-ansible with
information about a crush location, however I fail to understand how
this is actually used. It doesn't seem to have any effect when create a
cluster from scratch (I'm testing on a bunch of vm's generated by
vagrant and cloud-init and some custom ansible playbooks).
Then I thought I may need to add the locations to the crushmap by hand
and then rerun the site.yml, but this also doesn't update the crushmap.
Then I was looking at the documentation here:
https://docs.ceph.com/en/octopus/rados/operations/crush-map/#crush-location
And it seems ceph is able to update the osd location upon startup, if
configured to do so... I don't think this is being used in a cluster
generated by ceph-ansible though...
Would it be possible/wise to modify ceph-ansible to e.g. generate files
like /etc/ceph/crushlocation and fill that with information from the
inventory, like
---
root=default
datacenter=d1
rack=r1
---
And place a small shell script to interpret this file and return the
output like
---
#!/bin/sh
. /etc/ceph/crushlocation
echo "host=$(hostname -s) datacenter=$datacenter rack=$rack root=$root"
---
And configure /etc/ceph/ceph.conf to contain a configuration line (under
which heading?) to do this?
---
crush location hook = /path/to/customized-ceph-crush-location
---
And finally, are locations automatically defined in the crushmap when
they are invoked?
Cheers
/Simon
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx