[DRBD-announce] linstor-proxmox v7.0.1

Roland Kammerer roland.kammerer at linbit.com
Thu Jun 15 09:41:18 CEST 2023


Dear DRBD on PVE users,

this is version 7.0.1 of the linstor-proxmox plugin. The RC phase was
exceptionally long, which was a result of public holidays and me being
on vacation. There have not been any reported bugs, the original
announcement for your convenience:

- it fixes a performance regression introduced with 7.0.0
- it requires LINSTOR 1.23.0
- all users of 7.0.0 should then upgrade to 7.0.1

The detailed version:
Long story short, PVE calls status() freaking often. Depending on if you
select the storage in the GUI, this can happen every second, otherwise
like every 10s. To accommodate for that Proxmox's status() API has a
"cache" object that is passed in for every storage type. Let's say you
have 4 'drbd' storages (as in storage.cfg), then for the first call we
get an empty cache which we can fill, and for the next 3 we can use
that.

That helps, but
- we can not make use of that for more than one iteration (remember, PVE
  calls status an awful lot), that is why we introduced a file based
  persistent cache to keep some information longer than 10 seconds.
- things get even worse if you have a distributed system where then
  every PVE node hammers the LINSTOR controller with (the same)
  questions all the time.

Do the math, the LINSTOR controller gets too many "what is the status of
my storage" calls very very quickly even in setups with a handful of
nodes.

Recently we improved how we display storage information, but that also
rendered the built in PVE cache useless as we needed to query every RG
individually. That was known, I thought we could get away with it. We
did not.

How was it fixed:
- we can now query the storage information for all RGs once. That helps
  to again use the builtin cache more effectively as we again need 1
  call for every iteration.
- The new LINSTOR API for querying all RGs at once also got a cache
  parameter which also helps a lot because it avoids the pressure on the
  controller that resulted from the distributed nature of LINSTOR/DRBD.
  The http queries were/are not the problem, the problem is that the
  controller then needs to get the state of all satellites.

Regards, rck

GIT: https://github.com/LINBIT/linstor-proxmox/commit/e72f262ca0db1f875f996c22da322c28a39d7831
TGZ: https://pkg.linbit.com//downloads/connectors/linstor-proxmox-7.0.1.tar.gz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.linbit.com/pipermail/drbd-announce/attachments/20230615/f902f29b/attachment.pgp>


More information about the drbd-announce mailing list