Azure / azurefile-dockervolumedriver

Docker Volume Driver for Azure File Service over SMB/CIFS :whale:
Apache License 2.0
169 stars 55 forks source link

azurefile is not working properly on CoreOS #31

Closed drbolsen closed 8 years ago

drbolsen commented 8 years ago

It is not an issue with azurefile per se, but I reckon it would be handy to report for someone facing similar problem.

Basically, my understanding that azurefile under the hood uses "mount" command with option "-t cifs" for mounting a remote share. Unfortunately "mount" has a hardcoded logic that searches for any corresponding helper program, e.g. "mount.cifs", in "/sbin" folder only.

The issue is that "/sbin" is read-only (actually it is a symbolic link to /usr/sbin) on CoreOS by design and surprise-surprise CoreOS does not include "mount.cifs" by default, therefore azurefile won't work. I am currently working on a little patch that will search for "mount.cifs" in path in case the initial "mount" fails.

ahmetb commented 8 years ago

CoreOS is currently not supported, pretty much due to the reasons you mentioned. We appreciate your contributions.

GuillaumeLeclerc commented 8 years ago

Hello,

It would be great for our infrastructure. We are moving from virtual machines to containers and really needs this !

ahmetb commented 8 years ago

@drbolsen have you had any luck getting mount.cifs working on CoreOS?

shanoor commented 8 years ago

For CoreOS users, I didn't try it yet but it seems good : https://github.com/coreos/bugs/issues/571#issuecomment-231646799

edit: mount -t cifs works nows, I didn't try with azurefile driver yet.

ahmetb commented 8 years ago

@shanoor thanks for letting know!

drbolsen commented 8 years ago

Apologies gentlemen, missed updates in this thread. We ended up using different solution (netshare) still with our own custom patch to discover later that the latest mount.cifs 6.5 does not support SMB3 transport encryption therefore it was useless for our use case with a mandatory requirement for traffic encryption.

The patch we created for netshare was nothing fancy - it was just an additional command option that allows to specify a direct path to mount.cifs command, e.g. -m /opt/bin/mount.cifs. If "-m" options is not present netshare falls back to using "mount -t".

I just want to stress that at this stage using mount.cifs in cloud environment is not safe as all information is transmitted in clear text.

drbolsen commented 8 years ago

Closing.