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
How can enable udev sync successfully in docker? #13179
Comments
Hi! We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret. If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided. Thank you. Please see: Description of problem:
`docker version`:
`docker info`:
`uname -a`:
Environment details (AWS, VirtualBox, physical, etc.):
How reproducible:
Steps to Reproduce:
1.
2.
3.
Actual Results:
Expected Results:
Additional info:
#ENEEDMOREINFO |
From poking around, this looks to be enabled via a compile-time option on the lvm2 package. Did you custom build the lvm2 package or is it the official one from the redhat repos? |
To enable udev sync, you have to use dynamic-linked docker binary |
Thanks very much for your comments firstly! After checking the disassembly code of
It is a empty function and does nothing, not mention set sync support. Does this mean this static-built docker binary is no-use? |
This is why we should use a dynamic-linked docker binary to enable udev sync |
@coolljt0725 : It seems that the static-linked binary is no-use. Why does it exist? |
@NanXiao Because most people don't use devicemapper and don't need udev sync. Closing because this is a non-issue. |
@cpuguy83 what storage backend would you recommend for RHEL / CentOS 6.X or 7? |
@NanXiao docker 1.6.0 is available from epel-testing |
Well, this is disappointing way to answer to say the least.
In my specific case, I ended up here after using BTRFS for months and recently started having Kernel Panic trouble. So I have to look for alternatives for Docker backend storage. I'm thinking to turn to Direct DataMapper with LVM (as this RedHat article suggests it as a good option), and after googling the same error reported by @NanXiao above, I hit a brickwall. I have grown accustomed to the general lack of "production responsibility" of the whole Docker development team (many interesting conversations with the Boot2Docker folks), that nowdays I don't even bother to report an issue anymore - I just rely on my trustworthy colleagues inside my own company. Next time someone raises an issue about a SUPPORTED feature of Docker, as much as most people don't use it, try to be more helpful. |
@detro My response was terse because there is a whole thread here explaining the issue... though I do see that it is a shitty response. The reality of the issue is that no one really understood the cause of the issue with devicemapper until after the 1.6.0 release. Just after the 1.7.0 release docker started providing rpms and debs with dynamically linked binaries from the main install script @ get.docker.com (and apt repos to match). Also, I totally agree, the graphdriver situation is not fantastic even today. BTRFS is not really ready for prime-time, overlay is too new (and also has lots of known issues), aufs is basically unsupported (as a project), devicemapper is slow. In any case, if you'd like to discuss feel free to ping me on IRC any time. |
@cpuguy83 I appreciate your answer. If there is a thread with more info and with detailed answers, you should always link it. As much as there is a search facility in GitHub now, it's always possible to miss topics. Plus I'd be probably right to assume that most people land on issues from a google search; probably their working hours; on a rush to get things done. Unless it's a Docker contributor, it's unlikely that such person has time or knowledge to know how deep and complex the issue with backends in docker is. Anyhow, your answer gives me some next step to take: given BTRFS and OverlayFS are both not ready for prime time, and AUFS is unsupported, I'll have to 1) move from Docker 1.5 2) try again direct devicemapper over LVM. Performance wise shouldn't be as bad as devicemapper loopback. |
I have posted the issue on SO, unfortunately, there is no any answer. So I repost here, hope can get answer.
I have downloaded and install the static-linked
docker 1.6.1
from this site, and run it onRHEL 7.1
:I can see there is a warning: "
Udev sync is not supported. This will lead to unexpected behavior, data loss and errors
", and after checking thedocker
source code, I find the warning log is from deviceset.go:The
devicemapper.UdevSetSyncSupport
is like this:I can see the reason is enabling
udev
sync failed. How can enableudev
sync successfully?The text was updated successfully, but these errors were encountered: