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
graphdriver: promote overlay driver to first #12354
Conversation
Upgrade overlayfs to first place, now that this will not break driver usage on existing installs. Signed-off-by: Vincent Batts <vbatts@redhat.com>
@vbatts should we also update install.sh? # aufs is preferred over devicemapper; try to ensure the driver is available.
if ! grep -q aufs /proc/filesystems && ! $sh_c 'modprobe aufs'; then
kern_extras="linux-image-extra-$(uname -r)"
apt_get_update
( set -x; $sh_c 'sleep 3; apt-get install -y -q '"$kern_extras" ) || true
if ! grep -q aufs /proc/filesystems && ! $sh_c 'modprobe aufs'; then
echo >&2 'Warning: tried to install '"$kern_extras"' (for AUFS)'
echo >&2 ' but we still have no AUFS. Docker may not work. Proceeding anyways!'
( set -x; sleep 10 )
fi
fi |
@ahmetalpbalkan i don't think so.
to my knowledge kernels that are supporting overlay are not packaging it into a module to ship separately. (but i've been wrong before) |
ah ok we're cool then |
The code LGTM and I'm 👍 on having overlay as first option. @vbatts is this PR ready to ship as it is? Do we need to update some documentation to reflect this change? |
@calavera I'm ready for overlay to get promoted, though there are a couple of outstanding questions about it before bumping it to first choice for general consumption. |
Should this be added to the 1.7 milestone, to try and get all outstanding questions resolved before 1.7 (don't know if that's general practice this early)? |
Would love to.
|
@vbatts oh! Just noticed something, hint: 💯 🍰 |
I don't follow.
|
@vbatts it's your 100th PR 😄 |
Oh! Cute.
|
Oh, shucks had the sort order wrong;12814 is the actual 100th (sorry for the off-topic noise) |
@vbatts We're waiting for something fixed before merging this? |
@LK4D4 I don't think overlay is ready for first position... from the /system/overlay labeled issues, I've been working to get concise preproductions to get upstream traction on fixes. I think we should hold on this for a bit. |
@vbatts Thanks for answer! |
+1 on not doing this now. We've had a lot of activity regarding overlay problems and making this change would only increase the number of reports for those issues (and, perhaps, others). |
If the "experimental builds" materialize, perhaps make it the default for those builds; that will give a bigger audience for testing it, and those running "experimental" should be aware of possible risks. |
well, users have the option (and do) pass On Mon, May 18, 2015 at 4:12 PM, Sebastiaan van Stijn <
|
@vbatts what are the plans with respect to high inode usage? 😢 |
(I had to reformat my partition with less "bytes per inode" to stop exhausting them -- you can't even runtime change that, it has to be reformat, so is really disruptive.) |
@tianon is there a bug open regarding the high inode usage? |
"High inode usage with overlay" isn't going to be a very actionable issue, though, to be fair. 😄 |
we are adding it to the docs as a known issue, its not really something we On Thu, May 28, 2015 at 5:16 PM, Tianon Gravi notifications@github.com
|
@jfrazelle docker could potentially warn if bytes per inode is too high, probably the simplest actionable item short term. |
How many "bytes per inode" is too high though? It depends pretty heavily not just on the number of images you use, but even which images you use, so it's going to vary pretty wildly. |
Docker itself can be helpful here, if it notices you are using say 80% of Resizing is a huge pita though, I guess if you are on overlay you best be Found this writeup kind of interesting On Tue, Jun 9, 2015 at 8:03 AM, Tianon Gravi notifications@github.com
|
@rhvgoyal https://github.com/docker/docker/labels/%2Fsystem%2Foverlay There are still a lot of issues that are open. |
@unclejack @jfrazelle I just don't get how device mapper is before overlay in the list. device mapper is 100% broken for Discourse installs as it is, you can not bootstrap, overlay works, inode count is solvable (with warnings from Docker ideally) boot time of our rails app goes down from 4.3 seconds to 3.2 using overlay. |
What's broken about device mapper? What do you mean by you can not bootstrap? |
@SamSaffron Devicemapper requires a dynamically linked Docker binary in order to have a stable environment. Devicemapper should also not be used with loopback mounted files, otherwise you run into all sorts of weird things. Overlay isn't particularly stable right now. There are multiple rather severe bugs and I wouldn't recommend it to be used in production. |
https://meta.discourse.org/t/cannot-start-container/16049/4 https://meta.discourse.org/t/discourse-docker-installation-without-aufs/15639/6 https://meta.discourse.org/t/discourse-on-centos-7/20701/4 https://meta.discourse.org/t/cant-bootstrap-discourse-docker-on-digitalocean-arch-linux/20541/5 we still get these reports on a regular basis, probably one every few On Mon, Jun 15, 2015 at 11:18 PM, Vivek Goyal notifications@github.com
|
@unclejack perhaps devicemapper should require "-s devicemapper" same as On Mon, Jun 15, 2015 at 11:26 PM, unclejack notifications@github.com
|
In above links, I can't see where is the issue with devicemapper. Instead you somehow seems to be little adamant to prove devicemapper is the issue. aufs is not the solution as it is not upstream and all the distributions don't support it. If you have a dynamically built docker binary, devicemapper works very well and is a stable solution. |
Stop making assertion that devicemapper is unstable hence should require -s. it is not unstable. If you want to make that assertion, back it up with some data and analysis. |
But you don't ship a dynamically built docker binary, I can repro this On Mon, Jun 15, 2015 at 11:45 PM, Vivek Goyal notifications@github.com
|
Tomorrow, its getting late today, will open a ticket with a repro and ping On Mon, Jun 15, 2015 at 11:46 PM, Vivek Goyal notifications@github.com
|
@SamSaffron Static docker binary does not work well with devicemapper. That's a known issue. Dynamic binary works just fine. And distributions are shipping dynamic binary which works well with devicemapper graph driver. |
@SamSaffron Docker 1.7 will refuse to start if it's statically compiled and devicemapper is selected. |
@vivek I stand corrected I am not able to trivially crash devicemapper on on ubuntu 14.04 with latest docker I can not seem to trivially crash this On Mon, Jun 15, 2015 at 11:53 PM, Vivek Goyal notifications@github.com
|
@brian awesome, that is a good change I still think the inode warning would be super cool for overlay ... once On Tue, Jun 16, 2015 at 12:17 AM, Sam Saffron sam.saffron@gmail.com wrote:
|
I think we have made lot of progress on improving devicemapper graph driver. Lot of issues are because of static binary and I think many of the issues are configuration issues. Based on configuraiton, one can easily switch between loop based thin pool, or thin pool on block devices or To make things little better and detect configuation issues early, I have created following PR. This should help a bit I think. |
@vbatts Considering the comments here, WDYT: too soon, close it? |
too soon |
@rhatdan can you pop in here: https://forums.docker.com/t/unable-to-pull-image/2353/4 |
Red Hat kernel engineers have been working hard on Overlayfs, (Perhaps others on the outside, but I am not familiar). We hope to turn it on for docker in rhel7.2 BUT their are many concerns around it.
I agree that it is too soon for default. |
Upgrade overlayfs to first place, now that this will not break driver
usage on existing installs.
Splitting this PR out from #11999 (comment)
Issue #12327 and #12080 flagged
overlay
for further review.Notable
overlay
issues to sort out:open("foo.txt", O_RDONLY); open("foo.txt", O_RDWR)
@LK4D4 @jfrazelle @crosbymichael
Signed-off-by: Vincent Batts vbatts@redhat.com