New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dm.thinpooldev lacks error handling #16092
Comments
Thanks for reporting! ping @rhvgoyal do you think we can do something better with the error message? |
Information regarding my docker host
i have configured a lvm thinpool using this
which i have confirmed that is ok
but when i try to start docker as daemon to use this thinpool, i get this
how can i know that is causing this? |
We seem to have code to return right error if number of data blocks are not 0 or transaction id is not 0. I will debug it and see why it is not being returned. unc (devices *DeviceSet) checkThinPool() error { |
@docwhat @andre-freitas can you please try the patch attached to PR #16823 and see if it fixes the issue for you. |
@rhvgoyal atm i can't test it atm because my host is a coreos (and they don't have any compiler tools). I will try to see if i can build docker from source it in another linux distro... |
Hitting this with Docker version 1.8.2, build a01dc02/1.8.2 on RHEL 7.2 (latest). Ended up having to delete the docker-pool LV. Eg: systemctl stop docker |
@mglantz This got fixed in 1.9. Try it. |
I work with version 1.10 and receive a meaningful error message |
@geku there's information on configuring it in the "storage drivers" section of the documentation; https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#device-mapper-and-docker-performance |
@thaJeztah thanks a lot for the quick reply. I found this documentation already but according to the daemon flags documentation the usage of |
So far I have found the following working solution:
But then, the metadata volume is too small I think:
|
Finally I have a working solution where I can set the size of the data and metadata volume:
The Docker config is |
@geku, if you are not using docker-storage-setup, then refer to |
FYI, in my systemctl status docker, I was getting error: time="2016-06-19T05:18:17.906673293-04:00" level=fatal msg="Error starting daemon: error initializing graphdriver: Unable to take ownership of thin-pool (docker_vg-docker--pool) that already has used data blocks" running docker-storage-setup again did not fix error. I just kept getting output: I had to manually remove logical volume with then rerun docker-storage-setup, then restart docker and I am good to go. |
I created an LVM2 thin-pool. I then created a logical volume inside that pool, just to play with it.
I deleted my logical volume and then tried to use
docker daemon
with it and it would crash:After much digging around, I found the problem in the commit message for 2b10749:
I rebuilt my LVM2 thin pool and now it works.
I would expect that instead of
error initializing graphdriver: EOF
it would display a message about the LVM2 thin pool have been used already or that it was invalid or something I could use to figure out the problem.I also (stupidly, I admit) didn't understand the documentation and instead of doing a
man lvmthin
and working things out from there, I tried using/dev/sdb2
as the thinpool.I would suggest a good error message for that would be handy. :-)
The text was updated successfully, but these errors were encountered: