2016-08-15 99 views
6

有沒有人有Windows Server使用Windows NFS 4.1客戶端連接到AWS EFS卷?我知道這是不支持的,但想知道是否有人(或通過另一個客戶端或實用程序?)來自Windows Server 2012的AWS EFS

我們有一個要求Windows服務器將文件放到NFS卷(理想情況下是EFS)上,卷可以從基於RHEL的應用程序中查詢。犯規支持S3該應用,否則我們會使用

韓國社交協會

+0

爲什麼不支持S3?有特別的原因嗎? – error2007s

+0

廠商不支持基於對象的文件存儲,並表示儘管我們有很多抗議活動,但並沒有計劃! – JoeShmoe

回答

3

不,這是不可能的。 AWS特別聲明,在他們的文檔中是不可能的。

例如,

使用亞馬遜EFS與Microsoft Windows亞馬遜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

AWS不支持*。這並不意味着它不可能*。事實上,我在EC2上運行Windows Server 2012 R2,並使用由密歇根大學的人們製作的NFSv4.1客戶端版本連接到EFS(http://citi.umich.edu/projects/nfsv4/windows /)。我正在更新我在Github上的代碼分支,以包含必須做出的更改(只是註釋掉一個'#define'來處理EFS的OPEN4_SHARE_DENY_NONE需求)。它將在https://github.com/contentfree/ms-nfs41-client。 (我當然不知道,如果它是*生產*等級,但...) – davemyron

2

我使用了一種解決方法。就我而言,我只需要訪問Windows 2016 Server EC2實例上的EFS共享。速度/吞吐量不完全是一個問題。

我創建了一個t2.nano Linux/Ubuntu實例,在該實例上掛載了EFS共享,然後在Linux實例上設置了一個SMB共享以通過網絡爲掛載的EFS文件系統提供服務。

之後,它只是一個將網絡文件夾映射到Windows 2016服務器EC2實例上的驅動器的問題。

在Linux/Ubuntu實例上設置SMB共享非常直接,如Ubuntu文檔here中所述。

3

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降落在這裏的人們幸運!)