Назад | Перейти на главную страницу

Разумно ли использовать NFS на рабочем веб-сервере?

Можно ли разумно использовать NFS на производственных серверах в качестве средства подключения вычислительного сервера к серверу хранения, при условии, что соединение осуществляется через соединение LAN 1 Гбит / с или 10 Гбит / с?

Очевидно, есть некоторые накладные расходы на сеть, и NFS кажется особенно медленнее с записью, если у вас включен режим синхронизации. В остальном он кажется достаточно легким и масштабируемым, насколько я могу судить, но лично у меня мало опыта. Я ошибся?

Проблема в том, что у меня есть сервер прямо сейчас, который действует как хранилище и как веб-сервер, но в конечном итоге мне придется разделить два, вероятно, в будущем, и учитывая, что некоторые запросы должны проходить через уровень веб-приложения для аутентификации. перед инициализацией передачи файлов с этим программным обеспечением могут возникнуть сложности. Сетевое монтирование fs - это самый простой вариант, я просто ... не знаю, подходит ли он.

Я также планирую попробовать использовать локальное кеширование с NFS, что должно немного улучшить производительность, но я не уверен, достаточно ли этого.

Что касается альтернатив, то есть только iSCSI, о котором я знаю как о реальном конкуренте, и большинство людей, похоже, рекомендуют NFS по сравнению с другими менее известными.

NFS в порядке, за исключением некоторых других критериев, а именно:

  • Обе задействованные системы могут изначально использовать NFS. Windows здесь не в счет, это вид работает, но у него много причуд, и с ним часто сложно работать при работе с NFS в кроссплатформенной среде (и если это просто Windows, используйте SMB3, это устраняет большинство других проблем с NFS). Обратите внимание, что на стороне клиента это означает поддержку на уровне ядра, поскольку реализация на уровне пользователя либо должна иметь дело с проблемами эффективности, присущими использованию чего-то вроде FUSE, либо она должна быть напрямую связана с приложением, которому требуется доступ к Поделиться.
  • Вы правильно проверили, как клиент NFS обрабатывает перезапуск сервера NFS. Сюда входит как сама ОС (которая должен в большинстве случаев все будет в порядке) и программное обеспечение, которое будет обращаться к общему ресурсу. В частности, на некоторых клиентских платформах требуется особая осторожность, когда программное обеспечение, использующее общий ресурс, удерживает файлы открытыми в течение длительных периодов времени, поскольку не все клиентские реализации NFS корректно обрабатывают перезапуски сервера путем явного повторного монтирования и повторной проверки блокировок и дескрипторов файлов, как они должны (что приводит к всевозможным проблемам с клиентским программным обеспечением). Обратите внимание, что вам следует повторно проверять это каждый раз, когда какая-либо часть стека обновляется или перенастраивается.
  • Вы хотите настроить правильное сопоставление идентификаторов пользователей и групп. Это много, потому что без него вам либо нужно отразить сопоставления UID / GID между системами (выполнимо, но я бы с осторожностью настраивал SSO для внутренней сети для системы, выходящей в Интернет), либо вы получите потенциально серьезную последствия для безопасности (а именно, то, что вы видите в одной системе для разрешений, не совпадает с тем, что вы видите в других).
  • Вы используете защищенное сетевое соединение или хотите правильно настроить аутентификацию для общего ресурса. Без аутентификации любой пользователь по ссылке может получить к ней доступ (и злонамеренный клиент может легко обойти основные средства управления дискреционным доступом UNIX).

Если вы соответствуете всем этим критериям и у вас достаточно быстрая сеть, все будет в порядке. Кроме того, если вы можете запускать jumbo-кадры, сделайте это, они очень помогают для любой сетевой файловой системы или сетевого блочного хранилища.

NFS абсолютно нормален и предпочтительнее iSCSI, поскольку NFS намного проще в управлении, совместном использовании и резервном копировании.

Мы уже много лет используем NFS для подключения нашей SAN к нашим серверам VMware ESXi, на которых работают сотни виртуальных машин. Не беда, вообще.

Узким местом является скорее система хранения, чем сетевой протокол.

Конечно, сетевое соединение должно быть достаточно быстрым, то есть Ethernet 10 Гбит или оптоволокно. Мы даже больше не заморачиваемся с отдельной сетью хранения.

iSCSI может быть немного быстрее ...

https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/storage_protocol_comparison-white-paper.pdf

https://www.hyper-v.io/whos-got-bigger-balls-testing-nfs-vs-iscsi-performance-part-3-test-results/

... но NFS, как и любой другой сетевой перенаправитель (SMB3, AFS / AFP и т. д.), допускает одновременный множественный доступ, что сложно с iSCSI или другими блочными протоколами.

https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392