2016-08-15 3 views
6

Кто-нибудь когда-либо получал Windows Server для подключения к тому AWS EFS с помощью клиента Windows NFS 4.1? Я знаю, что он не поддерживается, но задается вопросом, не сделал ли это кто-либо (или через другого клиента или утилиту?)AWS EFS от Windows Server 2012

У нас есть требование, чтобы Windows Server удалял файлы на том NFS (в идеале EFS), где была папка на этом том можно опросить из приложения на основе RHEL. Это приложение оленья кожа поддержки S3 еще мы использовали бы, что

Tks

+0

Почему S3 не поддерживается? Есть ли особая причина? – error2007s

+0

Vendor не поддерживает хранение файлов на основе объектов и говорит, что у нас нет планов, несмотря на наши многочисленные протесты! – JoeShmoe

ответ

3

Нет, это не возможно. AWS конкретно заявляет, что это невозможно в их документации.

Например,

Использование Amazon EFS с экземплярами EC2 Microsoft Windows Amazon не поддерживается. AWS EFS setup docs

Более техническое объяснение того, почему это не представляется возможным здесь:

Запретить долю NFS поддерживает концепцию доли отказать, в первую очередь используется клиентами для Windows для пользователей, чтобы запретить другим пользователям доступ к определенный файл, который был открыт. Amazon EFS не поддерживает это и возвращает NFS-ошибку NFS4ERR_NOTSUPP для любых команд OPEN, определяющих значение deny share, отличное от OPEN4_SHARE_DENY_NONE. Клиенты Linux NFS не используют ничего, кроме OPEN4_SHARE_DENY_NONE. AWS document reference

Мне не удалось найти сторонних клиентов, которые будут обходить это.

+3

Это не * поддерживается * AWS. Это не значит, что это невозможно *. Фактически, я запускаю Windows Server 2012 R2 на EC2 и подключаюсь к EFS, используя версию клиента NFSv4.1, сделанную людьми из Мичиганского университета (http://citi.umich.edu/projects/nfsv4/windows /). Я обновляю свою вилку кода в Github, чтобы указать, какие изменения должны были быть сделаны (просто комментируя «# define» для обработки требования OPEN4_SHARE_DENY_NONE EFS). Это будет https://github.com/contentfree/ms-nfs41-client. (Я, конечно, пока не знаю, если это * production * grade, но ...) – davemyron

2

Я использовал обходное решение. В моем случае мне просто нужен доступ к общему ресурсу EFS в экземпляре EC2 для сервера Windows 2016. Скорость/пропускная способность были не совсем проблемой.

Я развернул экземпляр Linux/Ubuntu t2.nano, установил общий ресурс EFS в этом экземпляре, а затем установил общий ресурс SMB в экземпляре Linux, чтобы обслуживать смонтированную файловую систему EFS по сети.

После этого это было всего лишь вопросом сопоставления сетевой папки с диском на экземпляре EC2 сервера Windows 2016.

Настройка совместного использования SMB на экземпляре Linux/Ubuntu довольно прямолинейна, как описано в документах Ubuntu here.

3

Начиная с NFSv4.1 client made by folks at CITI @ University of Michigan, с некоторыми относительно незначительными изменениями, вы можете получить рабочее соединение с файловой системой AWS EFS.

Как указывает @kafka: AWS EFS запрещает/не работает, когда какой-либо клиент указывает значение запрета на акции, отличное от OPEN4_SHARE_DENY_NONE. К счастью, CITI люди обнаружили это как возможную проблему и добавили определение, которое при комментировании будет использовать только значение OPEN4_SHARE_DENY_NONE для значения deny share.

После того, как это определение закомментировано, вам необходимо перекомпилировать его для вашей системы - относительно тривиально, если вы используете версии Visual Studio и WDK, указанные в файле readme. Один из них заключался в том, что для процесса самоподписанного сертификата необходимо, чтобы не использовал устаревший сертификат Корневого агентства (так как он всего лишь 512-бит). Вместо этого используйте certreq.

Я работаю над сбором этих знаний в a fork of the CITI code at Github. (Я уверен, что вы либо решили свою проблему, либо поехали дальше, но удачи тем людям, которые приземлились здесь из Google!)

Смежные вопросы