andrew pantyukhin p nf sv4
TRANSCRIPT
SAN - Storage Area Network
NAS - Network Attached Storage
DAS - Direct Attached Storage
SAN - FC, FCoE, iSCSI, AoE, ...
NAS - NFS, SMB/CIFS, AFP, ...
DAS - SAS/SATA, IDE, USB, ...
SAN - low latency, простые протоколы,
дорогое и сложное FC-железо
NAS - high latency, сложные протоколы,
работает по сети
SAN low latency теряется на логике FS
NAS high latency сглаживается
кэшированием с обеих сторон
NFS отстаёт от FCP на 10-15%¹
NFS быстрее iSCSI на 5-10%¹
¹⁾отчёт NetApp tr-3581
FC обычно в пределах ЦОД, редко до 100
км
NFS, SMB и iSCSI работают по IP, но не
любят большие RTT
NFSv4 подходит для любых RTT
SAN: Oracle Exadata, … - сыровато, фокус
на надёжности
NAS: Lustre, NetApp GX, Isilon, Panasas -
проверено, фокус на скорости
тесно интегрированные решения
pNFS = NAS + SAN
NFS - Unix
SMB/CIFS - Windows
AFP - Apple
Lustre, GPFS, … - Linux, proprietary
поддерживается всеми Unix
отлично работает на всех Mac OS X
работает даже на экзотике типа z/OS
сносно работает под Windows, есть
хорошее коммерческое ПО
обрастает возможностями Lustre и GPFS
v1 - 1984 (Sun)
v2 - 1989 (Sun)
v3 - 1995 (Sun)
v4 - 2000, 2003 (IETF)
v4.1 - 2010 (IETF)
лёгкость восстановления
независимость от транспорта, ОС и
файловых систем
простота
хорошая скорость
работает по TCP и UDP
на основе протоколов ONC RPC и XDR
аутентификация и шифрование через GSS
(Kerberos)
авторизация через политики exports, ACL
advisory locking (в v4 - mandatory)
лучшая доступность и скорость over Internet
обязательная безопасность, negotiation
настоящая кросс-платформенность
лёгкость расширений
перешёл из Sun в IETF
RPCSEC_GSS, Kerberos security schemes
stateful-архитектура
compound RPC
сделан глядя на CIFS и AFS
RPCSEC_GSS (RFC2203)
authentication, integrity, privacy
Kerberos V5 (RFC1964)
LIPKEY (RFC2874)
in-band negotiation
чтение файла с нового сервера одним
запросом
эффективность HTTP
кэширование двух filehandles в "регистрах"
только UTF-8
монтирования нет, сервер отдаёт один
ROOT FH
все экспортируемые фс склеиваются в одну
иерархию
гибкие, расширяемые атрибуты, включая
ACL и locations
именованные owner, group
атрибут locations может сообщать клиенту о
других серверах
клиент мигрирует при отключении текущего
сервера
клиент может балансировать нагрузку
между репликами
встроенный byte-range locking
lease-модель обеспечивает быстрое
восстановление
вечно подвисших locks больше нет
кэширование директорий и атрибутов
определяется клиентом
кэши данных валидируются при открытии
делегирование - разрешение на локальную
обработку запросов
позволяет работать с активными
NFS-файлами на локальном диске
первый шаг к настоящей распределённости
Solaris - самая полная поддержка
Linux - широкая поддержка, есть баги
FreeBSD - поддержка сыровата, есть баги
NetApp - широкая поддержка, есть
ограничения
Isilon, Panasas, AIX, z/OS - есть поддержка в
разном состоянии
RFC5661 - самый длинный RFC-документ в
истории
исправление структурных недостатков NFS
дополнение v4 на основе опыта
промышленного использования
поддержка кластеров и параллельного
доступа (pNFS)
атрибут locations в роли referrals
первый шаг к FedFS
+-----------+
|+-----------+ +-----------+
||+-----------+ | |
||| | NFSv4.1 + pNFS | |
+|| Clients |<------------------------------>| Server |
+| | | |
+-----------+ | |
||| +-----------+
||| |
||| |
||| Storage +-----------+ |
||| Protocol |+-----------+ |
||+----------------||+-----------+ Control |
|+-----------------||| | Protocol|
+------------------+|| Storage |------------+
+| Devices |
+-----------+
EMC, IBM, LSI, NetApp, Panasas, Google,
Sun, …
промышленный опыт: NetApp, Panasas,
Isilon, …
в открытой разработке с 2003 года, релиз в
январе 2010
NFSv4.1, block pNFS (RFC5663), object pNFS
(RFC5664)
уровни: файлы, объекты или блоки
сервера делятся на metadata servers и
storage devices
клиент производит I/O напрямую
клиент отдаёт серверу новый layout
клиент может всегда выбрать обычный
NFSv4.1 I/O
даёт клиенту layout и доступ к storage
клиент производит I/O напрямую
клиент отдаёт серверу новый layout
клиент может всегда выбрать обычный v4.1
I/O
file - другой NFSv4.1 сервер
block - блочное хранилище (SAN)
object - объектное хранилище (OSD)
что-то ещё, поддерживающее NFSv4.1
storage protocol
идеальная основа для cluster storage
объект - как inode: данные и атрибуты
OSDv1/v2 - стандартные наборы команд
SCSI
аппаратная поддержка объектов
клиенты: Linux, Solaris, …
серверы: NetApp, Panasas, Linux, Solaris,
IBM, EMC, …
FreeBSD - ?
NetApp, Panasas, Isilon, IBM Series N -
FreeBSD!
RDMA - не только InfiniBand/iWARP/Myrinet,
но и 10GbE
скоростной доступ к удалённой памяти без
CPU
RPCRDMA - скоростная работа RPC по
RDMA
NFS over RDMA - NFS любых версий по
RPCRDMA
набор протоколов для федеративных
файловых систем
доступен для обычных клиентов NFSv4 и
NFSv4.1
участники сохраняют контроль над своими
системами
масштабируемость по географии, числу
клиентов, файлов, серверов
NSDB - DNS для файлов на основе LDAP
Junction admin - управление разделами по
ONC RPC
Namespace discovery - на базе DNS SRV
упрощает администрирование
разделяет физическое местонахождение
данных от логического
упрощает миграцию и HA/LB-репликацию
данных
существенно упрощает облачное хранение
данных
AIX - 2004
HPUX - 2008
Linux - 2006
OpenSolaris - 2010
о чём был доклад?
что такое NFS?
а обед уже был?
когда докладчик последний раз брился?
www.NFSv4.org
www.pNFS.com
IETF NFSv4 WG