LINBIT / drbdmanage-docker-volume

Docker volume plugin to manage DRBD SDS volumes through docker
Apache License 2.0
6 stars 1 forks source link

Device /dev/drbd<X> isn't created #3

Open pwFoo opened 5 years ago

pwFoo commented 5 years ago

I tried to use the docker volume plugin but the needed device /dev/drbd isn't created.

# docker volume create --driver drbdmanage --name=drdbvolume1 --opt fs=xfs --opt size=20
Error response from daemon: create drdbvolume1: Could not create volume drdbvolume1
# docker volume ls | grep drdbvolume1
drbdmanage          drdbvolume1
# drbdmanage list-volumes
+------------------------------------------------------------------------------------------------------------+
| Name        | Vol ID |   Size | Minor |                                                            | State |
|------------------------------------------------------------------------------------------------------------|
| drdbvolume1 |      0 | 20 MiB |   101 |                                                            |    ok |
+------------------------------------------------------------------------------------------------------------+

Now there should be a /dev/drbd101 but it's missing!

# ls -lh /dev/drbd[0-9]*
brw-rw---- 1 root disk 147, 0 Oct 18 09:42 /dev/drbd0
brw-rw---- 1 root disk 147, 1 Oct 18 09:42 /dev/drbd1

It works fine if I create it with drbdmanage instead of the drbdmanage-docker-volume plugin.

drbdmanage add-resource web
drbdmanage add-volume web 200MB
drbdmanage deploy-resource web 1
# drbdmanage list-volumes
+------------------------------------------------------------------------------------------------------------+
| Name | Vol ID |       Size | Minor |                                                               | State |
|------------------------------------------------------------------------------------------------------------|
| web  |      0 | 190.74 MiB |   100 |                                                               |    ok |
+------------------------------------------------------------------------------------------------------------+

Device was created as should.

# ls -lh /dev/drbd100 
brw-rw---- 1 root disk 147, 100 Oct 17 15:33 /dev/drbd100

It looks like the docker volume create process doesn't fit the needed drdbmanage commands?

pwFoo commented 5 years ago

drbdmanage-docker-plugin output:

{u'Name': u'drdbvolume1'}
u - - [18/Oct/2018 09:49:35] "POST /VolumeDriver.Get HTTP/1.1" 200 -
Responding with {"Err": "Volume drdbvolume1 does not exist"}
{u'Name': u'drdbvolume1', u'Opts': {u'fs': u'xfs', u'size': u'20'}}
u - - [18/Oct/2018 09:49:35] "POST /VolumeDriver.Create HTTP/1.1" 200 -
Responding with {"Err": "Could not create volume drdbvolume1"}
rck commented 5 years ago

drbdmanage is EoL and will be replaced with LINSTOR (which already works a lot better than drbdmanage). For LINSTOR there are maintained projects that integrate DRBD/LINSTOR in the "container world" (linstor-flexvolume and linstor-external-provisioner, all hosted on this GH organization). That is the future and what we as LINBIT care about. This project (and the project it depends on) are dead and there is no interest to maintain it any longer.