来自Windows Server 2012的AWS EFS

时间:2016-08-15 13:36:36

标签: amazon-web-services amazon-ec2

有没有人让Windows Server使用Windows NFS 4.1客户端连接到AWS EFS卷?我知道它不受支持,但想知道是否有人做过(或通过其他客户端或实用程序?)

我们要求Windows Server将文件放到NFS卷(理想情况下为EFS)上,从该卷上可以从基于RHEL的应用程序轮询该卷上的文件夹。该应用程序不支持S3,否则我们会使用

韩国社交协会

4 个答案:

答案 0 :(得分:4)

我使用了一种解决方法。在我的情况下,我只需要访问Windows 2016 Server EC2实例上的EFS共享。速度/吞吐量并不是一个问题。

我启动了一个t2.nano Linux / Ubuntu实例,在该实例上安装了EFS共享,然后在linux实例上设置了一个SMB共享,​​以便通过网络为挂载的EFS文件系统提供服务。

之后,只需将网络文件夹映射到Windows 2016服务器EC2实例上的驱动器即可。

在Linux / Ubuntu实例上设置SMB共享非常简单,如Ubuntu文档here中所述。

答案 1 :(得分:4)

NFSv4.1 client made by folks at CITI @ University of Michigan开始,通过一些相对较小的更改,您可以获得与AWS EFS文件系统的有效连接。

正如@kafka所指出的:当任何客户端指定除OPEN4_SHARE_DENY_NONE之外的共享拒绝值时,AWS EFS将禁止/失败。幸运的是,CITI人员发现这是一个可能的问题,并添加了一个定义,当被注释掉时,只会使用OPEN4_SHARE_DENY_NONE作为共享拒绝值。

一旦这个定义被注释掉,那么你需要为你的系统重新编译它 - 如果你使用自述文件指定的Visual Studio和WDK版本,则相对微不足道。一个问题是,自签名证书过程需要使用过时的Root Agency证书(因为它只有512位)。请改用certreq

我正在努力将这些知识收集到a fork of the CITI code at Github中。 (我相信你要么解决了你的问题,要么继续前进,但祝那些从Google登陆的人好运!)

答案 2 :(得分:3)

不,不可能。 AWS特别声明其文档中不可能。

例如,

  

将Amazon EFS与Microsoft Windows结合使用不支持Amazon EC2实例。AWS EFS setup docs

更为技术性的解释为什么在这里不可能:

  

拒绝分享   NFS支持共享拒绝的概念,主要由Windows客户端用于用户拒绝其他人访问已打开的特定文件。 Amazon EFS不支持此操作,并为指定除OPEN4_SHARE_DENY_NONE之外的共享拒绝值的任何OPEN命令返回NFS错误NFS4ERR_NOTSUPP。 Linux NFS客户端不使用OPEN4_SHARE_DENY_NONE以外的任何其他内容。 AWS document reference

我没有设法找到任何可以解决此问题的第三方客户。

答案 3 :(得分:0)

亚马逊最近(2018年11月)推出了:Amazon FSx for Windows File Server

您可以将Fsx用于Windows文件系统。