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

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Mar 30 11:46:49 CEST 2022


On 30.03.22 10:19, Aaron Lauterer wrote:
> 
> 
> 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.

summarizing a short off-list discussion that happened before I could read this mail:
Plan is to add an OSD info window (including matching API endpoint) that shows a nice
overview of the status and backing device details, memory usage, I though also that
OSD creation time would be cool, but this doesn't seem to be recorded, at least not
in the metadata tree, but that's already details anyway.

This has better visibility for in-depth info without cluttering the tree view and is
something that I thought of as "nice to have" already in the past.





More information about the pve-devel mailing list