ceph-crush-location hook

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

 



There is a provsion in the startup scripts that will move your osd to the 
correct position in the crush map on startup.  By default, this sets the 
host based on hostname and then pulls in any fields defined in 'osd crush 
location' in ceph.conf.

This is useful but not sufficiently flexible for users who have multiple 
types of devices and non-trivial crush trees.  I just merged a new helper 
into master called ceph-crush-location that implements the above basic 
behavior (and is now called by the sysvinit and upstart startup scripts).  
However, you can now implement your own hook by setting 'osd crush 
location hook = /path/to/my/script' and implement whatever logic you want.  
The script just needs to output an appropriate list of key/value pairs 
when called like so:

 $ ceph-crush-location --cluster ceph --id 0 --type osd
 host=vapre root=default

The other change is that the default hook checks either '$type crush 
location' (e.g. osd crush location) or, if that is empty, 'crush 
location'.  In the very near future the clients will also understand the 
'crush location' option and use that for localizing their reads when 
appropriate (e.g., for hadoop or read-only rbd images).  That means that 
updating your chef/puppet/juju or other provisioning tools to define 
'crush location' in /etc/ceph/ceph.conf will make all of this stuff Just 
Work.

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux