ceph-ansible and crush location

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux