I was wondering, has anybody worked on adding Linstor as a storage backend for lxd?
I’ve written up a brief overview of Linstor here:
In that article I used lxd VM’s to create a demo storage cluster, but lxd itself can’t consume that cluster.
I think Linstor conceptually maps quite closely to lxd’s “LVM” storage backend, except that it supports VolumeMultiNode (and volumes can be replicated with DRBD). It would need a small amount of configuration: basically the address of the controller node, and creds to authenticate to the API (key+certificate).
In order to support Linstor in lxd, I can see two ways of approaching it:
- add a native Linstor driver to lxd, alongside LVM, ceph etc. There is a go client available.
- add a generic storage plugin mechanism which invokes an external script. I expect it would need a few general operations such as create volume, delete volume, attach volume, detach volume - perhaps like ganeti extstorage.
Any thoughts or comments?