Re: OSD creation and device class

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

 




On 04/10/2017 03:32 PM, Sage Weil wrote:
> On Mon, 10 Apr 2017, Loic Dachary wrote:
>> Hi Sage,
>>
>> When the OSD is prepared, we add a --device-class option to ceph-disk 
>> that creates a device_class file and activate can use it use when 
>> creating the the OSD[1]. The ceph osd create command is given an 
>> additional optional argument (device class). If the device class 
>> argument is present, ceph osd create[2] creates a device entry in the 
>> crushmap (it currently does nothing with the crushmap) so that the 
>> corresponding device class can be preserved. This happens before 
>> update_crush_location[3] is called and since the device is not included 
>> in any crush tree it won't be used.
>>
>> I'm not happy about adding an argument to osd create. We could instead 
>> have a new dedicated command create-with-device-class but I like that 
>> even less. We could also add a "ceph osd crush create-device" and have 
>> ceph-disk call it right after "ceph osd create", followed by "ceph osd 
>> crush set-device-class". That would be my second favorite: the only 
>> drawback is having a multi-step device creation during activation but 
>> all steps are idempotents that should not be a problem.
>>
>> What do you think ?
> 
> We're aiming toward a new osd create command anyway that does all of this 
> stuff at once (create osd id and set uuid, set cephx key, set lockbox key 
> for dmcrypt, add to crush map).  Having it also set the device class seems 
> like an easy addition.  I believe Joao has started or is about to start 
> work on this?
> 
> In the meantime, I would do the simplest thing, which is probably just 
> calling 'ceph osd crush set-device-class'.  It could be done before the 
> 'osd crush create-or-move' in OSD::update_crush_location(), 

Does that mean we should have a --device-class argument to ceph-osd --mkfs ? Or is there another way I'm not seeing ?

> but then we'd 
> probably want to make it only set it if a device class isn't already set 
> (i.e., don't change it if the admin set it to something else).  Or at some 
> convenient point during the initial activation that similarly avoids 
> clobbering the value if the admin set it...
> 
> sage
> 

-- 
Loïc Dachary, Artisan Logiciel Libre
--
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