我遇到了虚拟机中的文件访问问题。
实际上我有两个应用程序服务(linux),它们都有一个AzureFiles的挂载点,这确实可以工作,但是我想把其中一个应用程序放在虚拟机上(ubuntu20)。
我可以使用Azure提供的脚本通过SMB协议连接AzureFiles。但我在使用应用程序(Java)时遇到一些错误:
| 拒绝访问异常|无此类文件异常|
| - ------|- ------|
| 文件. move()|//表示目录Files.delete(f)
中的f|
| 在应用服务应用程序上使用777和nogroup nobody装载文件,在Azure虚拟机上使用777 root root装载文件|for循环可以正确地检测到文件,但delete不会抛出任何此类文件。|
以下是装载点:
应用服务://mystorage.file.core.windows.net/mypath /mypath cifs rw,relatime,vers=3.1.1,cache=strict,username=myusername,uid=0,noforceuid,gid=0,noforcegid,addr=x.x.x.x,file_mode=0777,dir_mode=0777,soft,persistenthandles,nounix,serverino,mapposix,mfsymlinks,noperm,rsize=1048576,wsize=1048576,bsize=1048576,echo_interval=60,actimeo=1 0 0
虚拟机://mystorage.file.core.windows.net/mypath /mypath cifs nofail,credentials=/etc/smbcredentials/mystorage.cred,dir_mode=0777,file_mode=0777,serverino,nosharesock,actimeo=30
编辑:它似乎只卡在VM上的应用程序创建的文件上,如果我用Azure Strorage资源管理器上传文件,删除功能就起作用了。
知道为什么不管用吗?谢谢
1条答案
按热度按时间jljoyd4f1#
这是一个SMB性能问题,调整echo_interval=60、actimeo=1可解决该问题。