[pve-devel] [PATCH manager 1/2] api: osd: return block devices instead of dm node

Aaron Lauterer a.lauterer at proxmox.com
Wed Mar 30 10:19:13 CEST 2022



On 3/29/22 18:05, Thomas Lamprecht wrote:
> On 28.03.22 13:10, Aaron Lauterer wrote:
>> Returning the block devices is more useful than the device node. The
>> device node usually points to the DM device for bluestore OSDs:
>> /dev/dm-x
>>
>> In almost all situations one will be interested in the physical device
>> underneath, /dev/sdX or /dev/nvmeXnY. In the rare case that someone
>> isn't, then one can get a lot of more information by running
>> `ceph osd metadata <osd nr>`.
>>
>> Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
>> ---
>>   PVE/API2/Ceph/OSD.pm | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/PVE/API2/Ceph/OSD.pm b/PVE/API2/Ceph/OSD.pm
>> index 93433b3a..c3d1384e 100644
>> --- a/PVE/API2/Ceph/OSD.pm
>> +++ b/PVE/API2/Ceph/OSD.pm
>> @@ -143,9 +143,9 @@ __PACKAGE__->register_method ({
>>   	    if ($e->{type} eq 'osd' && $osdmd) {
>>   		if ($osdmd->{bluefs}) {
>>   		    $new->{osdtype} = 'bluestore';
>> -		    $new->{blfsdev} = $osdmd->{bluestore_bdev_dev_node};
>> -		    $new->{dbdev} = $osdmd->{bluefs_db_dev_node};
>> -		    $new->{waldev} = $osdmd->{bluefs_wal_dev_node};
>> +		    $new->{blfsdev} = $osdmd->{bluestore_bdev_devices};
>> +		    $new->{dbdev} = $osdmd->{bluefs_db_devices};
>> +		    $new->{waldev} = $osdmd->{bluefs_wal_devices};
>>   		} else {
>>   		    $new->{osdtype} = 'filestore';
>>   		}
> 
> 
> "device_ids" (e.g.:  "sdb=HGST_HDN724040ALE640_PK2334PEGNVD6T") could be also interesting,
> but probably separately as its a bit longer but still, could avoid a extra shell lookup.

"device_ids" will contain a list of all devices used. With a bit of additional logic we could match that against the different devices to determine which is the bluestore, db and wal device and show the second identifier in a tooltip or so.

I would add that as new return values, keeping in mind your other response about changing that one property too much.

> 
> For the UI patch: do we want to hint when the db/wal is on the OSD itself as fallback?

Hmm, let me think and try it out how we can not clutter up that view but still convey the info.

There are a few ways this could be in reality.
If no DB or WAL is set, both are on the bluestore/OSD dev. If a DB dev is set, but no WAL, then the WAL is on the DB dev. If no DB dev is set, but a WAL, then the DB should be on the OSD.





More information about the pve-devel mailing list