Обзор CentOS 7. Часть 3: NFS, FedFS, pNFS
В первой части обзора CentOS 7 было рассказано о поддержке контейнеров Linux в Cent OS 7. Во второй части мы поговорили об управлении идентификацией. Третья часть обзора посвящена сетевой файловой системе NFS и файловой системе GFS2. В конце поста ссылка на бесплатное тестирование CentOS 7 в облаке InfoboxCloud.
NFSСетевая файловая система NFS позволяет удаленным хостам монтировать файловые системы по сети и взаимодействовать с этими файловыми системами так, словно они смонтированы локально.В CentOS 7 поддерживаются две версии NFS: v3 и v4. NFSv3 поддерживает безопасные асинхронные записи и более надежную обработку ошибок по сравнению с NFSv2 и поддерживает 64-разрядные размеры файлов, позволяя клиентам получать доступ более чем к двум гигабайтам данный файлов. NFSv4 поддерживает работу через файрволы в интернете, больше не требует сервиса rcpbind, поддерживает списки контроля доступа ACL и использует операции с состоянием.В CentOS 7 была добавлена поддержка сетевой файловой системы NFS 4.1 с улучшенной производительностью и безопасностью, включая поддержку Parallel NFS на клиентской стороне. NFS 4.1 больше не требует отдельного TCP соединения для обратных вызовов, что позволяет серверу NFS работать даже за NAT и файрволлами.
Новая версия включает в себя поддержку семантику 'точно один раз' (кроме операций перезагрузки), что позволяет решить проблему, когда операция могла вернуть не правильный результат, если ответ был потерян и операция была запрошена дважды (обеспечивается сессиями с состоянием).NFS 4.1 использует стандартные сетевые протоколы для лучшей производительности в перегруженных сетях. NFS поверх TCP позволяет сетевым картам последнего поколения использовать функцию TCP segmentation offload (TCO), освобождая ресурсы CPU для полезной работы. При передаче данных с использованием TCP/IP часто приходится разбивать блоки данных большого размера на несколько маленьких, это связано с ограничениями протокола. Такой процесс разбиения называется сегментацией. Обычно в процессе сегментации используется центральный процессор. Сетевой адаптер, снабженный функцией TCP Segmentation, освобождает процессор компьютера от выполнения функции сегментации и берет ее на себя.
Для развертывания и поддержки более безопасных окружений, NFSv4.2 labeled NFS позволяет использовать контексты SELinux, в том числе безопасные домашние директории виртуальных машин, хранящиеся в NFS.
CentOS 7 поддерживает клиенты NFSv3, NFSv4 и NFSv4.1. По-умолчанию клиенты пытаются смонтировать NFSv4 и переключаются на NFSv3, если попытка не удалась. NFSv4 требует TCP, в то время как NFSv3 может работать по UDP (из за возможности работы по сети без состояния). Если сервер неожиданно станет недоступен, клиенты, работающие по UDP, продолжат отправлять запросы серверу. Так же, когда фрейм теряется с UDP, весь RPC запрос должен быть передан заново, а при использовании TCP только потерянный фрейм должен быть отправлен заново. Поэтому рекомендуется использовать TCP для работы с сервером NFS.
Протоколы монтирования и блокировок были включены в протокол NFSv4. NFSv4 больше не взаимодействует с rcpbind, lockd и rpc.statd. NFS серверу по-прежнему требуется rcp.mountd для настройки экспортов, но не участвует в каких-то других операциях.
Настройки NFS сервера, разрешающие доступ клиентам, по-прежнему находятся в /etc/exports. Сервер по-прежнему слушает TCP порт 2049, поэтому не забудьте разрешить его в IPTables.
FedFS Другая интересная особенность CentOS 7 — поддержка федеративной файловой системы FedFS. FedFS предоставляет набор открытых протоколов, которые позволяют строить масштабируемые пространства имен между множеством файловых серверов с использованием системных ссылок NFSv4, доступные немодифицированным клиентам NFS.
pNFS В CentOS 7 развивается поддержка pNFS, которая позволяет масштабировать NFS на обычные NAS для обеспечения возможности клиентам читать и писать данные напрямую и параллельно на физические хранилища.Параллельная архитектура pNFS позволяет множеству серверов NFS управлять мета-данными и координировать доступ, обеспечивая предсказуемый и надежный доступ к очень большим наборам данных от многих клиентов.
pNFS layouts поддерживаются в CentOS 7.
Полноценной поддержки pNFS пока нет.
Результаты тестов pNFS. Исследование проводилось на Red Hat Enterprise Linux 7 с ядром 3.10.0.119 RC1 с OracleR2 OLTP. Для тестирования использовался кластер из 2х нод с pNFS клиентами. Достигнуто почти 250 000 транзакций в минуту со 100 пользователями.
Использованные в подготовке статьи источники: New world of NFSNFS & GFS2Oфициальный блог RedHatБаза знаний RedHatОфициальный блог CentOS
Пробная версия в облаке бесплатно Специально для наших читателей мы обеспечили возможность попробовать CentOS 7 в облаке InfoboxCloud. Регистрируйте пробную версию на 15 дней по этой ссылке. Если вам нужно больше ресурсов для тестирования, чем в пробной версии — напишите на trukhinyuri@infoboxcloud.com