-
Notifications
You must be signed in to change notification settings - Fork 86
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
no devicemapper support in 18.09.x on ubuntu and debian #452
Comments
Have the same problem. Is there a reason why devicemapper is excluded? |
docker/cli#1424 |
Same here devicemapper is excluded on debian stretch starting from 18.09 |
ping @andrewhsu |
This is being tracked internally; opened an issue for the packaging team. |
Same here devicemapper is excluded on debian buster starting from Docker version 18.09.0, build 4d60db4 |
i got this:
|
Hi @thaJeztah, what's the status on this issue? Is this resolved now? |
@thaJeztah We rely on the block storage provided by devicemapper storage driver, so would really like to see this resolved. |
Also, are you planning to support any alternative to |
I'm not sure what the current status is; I know this was something that was being looked into, but no details yet if they found a solution.
The current roadmap is to complete the migration to using containerd as a runtime, and for image management (see moby/moby#38043). Currently, the functionality of containerd and dockerd overlaps (as in; they both are capable of image-management, and both implement storage drivers). The goal is to hand over the overlapping parts to containerd. Currently containerd has support for overlay, zfs, btrfs, and aufs as storage drivers ("snapshotters") but additional storage drivers could be added upstream in the containerd project. t.b.h., I'm not sure if devicemapper would find its way in there. Maintenance of devicemapper was largely driven by Red Hat (as it was the only option for their kernels), but now that overlay has become mainstream, focus has shifted in that direction.
Do you have more information about your use-case? Is this for writes or reads ? (for writes, the general recommendation is to use a volume, to skip the CoW performance penalty) |
In our case, we get better performance with block device rootfs. This means that we're not strongly attached to
Because Kata Containers runtime spawn a VM, and because the rootfs needs to be passed inside this VM, we are limited by the device model exposed by QEMU. And in this case, using |
Gotcha, thanks for the extra info. /cc @dmcgowan @crosbymichael |
Did anyone get rid from this issue? After upgrading the docker system we had faced the same and downgraded the version. Switch to the overlay2 is the only option? |
that is the only option, i rollback to previous version just for export a docker image, them upgrade again and import the docker image... |
This is not a "one-stop-shop" solution, but might help anyone looking for migrating to overlay2. https://github.com/nextcloud/vm/blob/master/static/docker_overlay2.sh |
This is a wreckless upgrade, how on earth. I had to downgrade too. |
I would pin the package to 18.06 until this issue has been resolved.
I posted this a suggested solution on askubuntu: https://askubuntu.com/a/1111895/24580. |
the upgrade's inevitable, the simplest option is a rollback, export, upgrade and import. |
So, break existing users for a feature that nobody is using? 👻 |
FWIW, it's still in the |
That just makes no sense to me. Are these new features not supported on CentOS/Fedora/RHEL? This is a pretty clear cut break with no explanation at all, not even "oh we messed up but aren't going to fix it either", just silence. |
Docker CE 18.09.x works with CentOS and Fedora configured with devicemapper. Docker does not qualify Docker CE on RHEL before release, but it is likely to work based on how RHEL is related to CentOS. We intended to have Docker CE 18.09.x work with Ubuntu and Debian configured with devicemapper as well, but we have encountered complications with the way we build the binaries for the packages that was discovered after release. This is because we did not qualify Docker CE 18.09.x on devicemapper, but on the newer-supported overlay2 which we intend to have as the default, hence the deprecation notice for devicemapper. Apologies for the problem this has caused existing devicemapper users on Ubuntu and Debian. This is not the way we intend to phase out support for something we know as common use. This is a bug that has definitely slipped through the cracks after the initial 18.09.0 release. I'll circle back around with the team on what we gotta do to get the devicemapper support back in for 18.09.x on Ubuntu and Debian. In the meantime, if migration is an option, there are instructions for howto convert devicemapper to overlay2, to be performed on your system before upgrade to 18.09.x obviously. |
Thanks for taking a look, @andrewhsu. |
I hope you realize that there are a lot of layman users like me out there, I just use Docker when the app developers recommend as a preferred method. I do not do Docker dev or Linux system configurations. I am just a basic user who needs to use Docker because it is recommended. When the system breaks like this in the middle of nothing, it is very hard to make sense of what is going on in these situations. I did not know that my Docker appps all were down, until when I realized that all my web apps were down. If the migration is the only option then please provide a way to automatically migrate all this stuff. |
@andrewhsu there are reasons as a non-layman user I explicitly CHOSE to use devicemapper rather than overlay2. None of the documentation I've seen has stated WHY overlay2 is better than devicemapper, or refutes the reasons that I and many thousands of others chose devicemapper. My reasons? Once configured properly (which isn't that hard, and is easily automated with ansible), the devicemapper thinpool provides what I believe to be the fastest-possible performance. And it enables automatic LVM volume-size extension; I can allocate (say) 10GB on a terabyte physical volume in set-and-forget fashion. The volume might grow to 50GB or 100GB but I can still use the rest for purposes other than docker images. In a nutshell: I went through the list of available storage drivers circa Feb 2017, chose devicemapper, and have had no reason to reconsider that choice--until the snafu with your company's CI failure in the 18.09 release cycle. And now I have to assume that your managers are busily reprioritizing engineering tasks and aren't likely to ever revisit devicemapper. In any event, before closing this ticket out as won't-fix, please have someone document the advantages of overlay2 better and explain the disadvantages of devicemapper (if any). Because I still don't see why I'm forced to make this change, and I'm concerned about suddenly losing autoextend or I/O performance afterward. |
The referenced procedure doesn't lay out how to migrate an existing devicemapper install. It basically just tells you to scratch your existing storage and create a new one, which I dont think is an acceptable migration procedure in any case. |
Also an issue on Xenial. |
With docker 18.09 using containerd as the runtime handler, is there a way to docker use a storage-driver that exists in containerd? There are multiple efforts to add block device support to containerd here, here and here. It will be nice to allow one of these to be the default storage driver for docker. |
Not possible yet, as those parts are not yet integrated with the docker daemon (storage-drivers are still handled by dockerd). Work is in progress to integrate those parts; see moby/moby#38738 and moby/moby#38925) |
Hey guys! The latest nightly builds after docker/docker-ce-packaging#314 was merged should contain You can install the latest nightly builds with get.docker.com using:
Ran a quick test with Ubuntu 18.04 to verify:
Keep in mind that |
@seemethere - can the deprecation be held off until #452 (comment) is addressed? For some users, overlay2 isn't an option. Once above is addressed, they'll have a viable and supported option. @thaJeztah WDYT? |
Devicemapper will still be there in the upcoming (19.03) release. In addition, work is in progress in containerd to provide block-device snapshotters;
|
Yep - I just want to make sure containerd snapshotters work with docker (see Ganesh’s prior comment). |
Even though docker/docker-ce-packaging#314 has been released, this issue is still present for 18.09.5 for yum repositories |
I don't understand how a company with as reputable a name as Docker allows an issue this disruptive, first, to happen, or worse, to continue effectively unaddressed and untreated for over six months, despite the caliber of professionals which continue to (for all intents and purposes) politely petition an appropriate and open-minded response or set of solutions. Attempting to use the "supported" and functional ZFS driver, which unfortunately no longer works due to this change. Use Overlay2? No! And my reasons are just as valid as the infinitely diverse other reasons had and given by other sysadmins here and elsewhere. |
Not sure if you read the prior comments, this was addressed and taken seriously. If you are continuing to have a problem after the proposed solution, please highlight what steps you tried and how they have failed.
No one is forcing anyone to use overlay2. The devicemapper driver in Docker is being deprecated due to lack of maintenance, it is not being immediately removed. Rather devicemapper support will be done through containerd in the future and in the long term replaces the deprecated graphdriver implementation. I think this wasn't communicated well and the unintentional package breakage gave the impression that they could not longer use devicemapper with Docker anymore. That is not the case, please see the work being done in containerd to support for block device snapshotters. @thaJeztah @seemethere if this issue has been fixed can you close this issue? |
@dmcgowan as noted above already, the issue hasn't been fixed in a way that we users have access to. Until a 19.x version comes out, we're having to run back-ported updates of 18.06.x. |
This issue has been resolved in 19.03.X, will close this issue once a GA version of that package is available. |
https://github.com/docker/docker-ce/releases/tag/v19.03.1 19.03 has been released. Should we close this issue? |
centos 8.5
|
I don't think it's part of the static binaries (which are mostly intended for testing purposes); for CentOS, install the dynamically linked packages (RPMs); https://docs.docker.com/engine/install/centos/ |
Thank you very much, it has been verified that the static build version does not support devicemapper |
I found that last nightly build from this repo https://download.docker.com/linux/ubuntu/dists/xenial/pool/nightly/amd64/ fails with error, when i'm trying to run it with devicemapper:
Error message:
The text was updated successfully, but these errors were encountered: