Network File System | это... Что такое Network File System? (original) (raw)

Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057, RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094, RFC 1813, RFC 3530 и RFC 5661.

NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время используется наиболее зрелая версия NFS v.4 (RFC 3010,RFC 3530), поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC GSS) и списков контроля доступа (как POSIX, так и Windows-типов).

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

NFS клиенты получают доступ к файлам на NFS сервере путем отправки RPC-запросов на сервер. Это может быть реализовано с использованием обычных пользовательских процессов — а именно, NFS клиент может быть пользовательским процессом, который осуществляет конкретные RPC вызовы на сервер, который так же может быть пользовательским процессом.

Важной частью последней версии стандарта NFS (v4.1) стала спецификация pNFS, нацеленная на обеспечение распараллеленной реализации общего доступа к файлам, увеличивающая скорость передачи данных пропорционально размерам и степени параллелизма системы.

Содержание

Цели разработки

Первоначальная разработка NFS имела следующие цели:

Компоненты NFS

Реализация NFS состоит из нескольких компонентов. Некоторые из них локализованы либо на сервере, либо на клиенте, а некоторые используются и тем и другим. Некоторые компоненты не требуются для обеспечения основных функциональных возможностей, но составляют часть расширенного интерфейса NFS:

Версии

Версия 1

Детали реализации определены в RFC 1094. Версия 1 была только для внутреннего пользования в экспериментальных целях. Когда команда разработчиков добавила существенные изменения в NFS версии 1, была выпущена версия 2, которая уже использовалась за пределами компании.

Версия 2

Версия 2 протокола NFS (RFC 1094, март 1989 года) первоначально полностью работала по протоколу UDP. Разработчики решили не хранить данных о внутреннем состоянии внутри протокола, как пример, блокировка, реализованная вне базового протокола. Люди, вовлечённые в создание NFS версии 2 — Расти Сендберг (Rusty Sandberg,) Боб Лайон (Bob Lyon), Билл Джой (Bill Joy) и Стив Клейман (Steve Kleiman).

Версии 3

NFSv3 (RFC 1813, июнь 1995 года). Добавлено:

На момент введения версии 3, использование разработчиками TCP как транспортного протокола начало расти. Хотя некоторые разработчики уже добавили поддержку протокола TCP для NFS версии 2 в качестве транспортного, Sun Microsystems добавили поддержку TCP в NFS версии 3. Использование TCP сделало использование NFS через глобальную сеть более осуществимым.

Версия 4

NFSv4 (RFC 3010, декабрь 2000 г., RFC 3530, пересмотренная в апреле 2003), под влиянием AFS и CIFS, включила в себя улучшение производительности, высокую безопасность, и предстала полноценным протоколом. Версия 4 стала первой версией, разработанной совместно с Internet Engineering Task Force (IETF), после того, как Sun Microsystems передала развитие протоколов NFS. NFS версии v4.1 была одобрена IESG в январе 2010 года, и получила номер RFC 5661 (новая спецификация, объёмом 612 страниц, стала известна как самый длинный документ, одобренный IETF). Важным нововведением версии 4.1 является спецификация pNFS — Parallel NFS, механизма параллельного доступа NFS-клиента к данным множества распределенных NFS-серверов. Наличие такого механизма в стандарте сетевой файловой системы поможет строить распределённые «облачные» («cloud») хранилища и информационные системы.

Другие модули

WebNFS — это расширение для NFS версий 2 и 3, которое позволяют легче интегрироваться в веб-браузеры и дает возможность работы через брандмауэр. Различные сторонние протоколы стали ассоциироваться с NFS, в том числе:

Менеджер блокировок сети (NLM — Network Lock Manager) и монитор состояния сети (NSM — Network Status Monitor) вместе обеспечивают средства для блокировки файлов в сети. Эти средства, хотя формально не связаны с NFS, можно найти в большинстве реализаций NFS. Они обеспечивают сервисы, не возможные в базовом протоколе. NLM и NSM реализуют функционирование сервера с помощью демонов lockd и statd, соответственно.

Протокол удалённой информации о квотах (RQUOTAD) (NFS позволяет пользователям просматривать дисковую квоту на удаленном NFS сервере).

Платформы

Хотя NFS чаще всего используют в UNIX-подобных системах, данный протокол можно также использовать и на других операционных системах, таких, как Mac OS Classic, OpenVMS, Microsoft Windows, Novell NetWare, и IBM AS/400. В число альтернативных протоколов удаленного доступа к файлам входят Server Message Block (SMB, также известный как CIFS) протокол, Apple Filing Protocol (AFP), NetWare Core Protocol (NCP). Под операционной системой Microsoft Windows SMB и NetWare Core Protocol (NCP) используется чаще, чем NFS; В системах Macintosh AFP встречается чаще, чем NFS.

Типичные настройки NFS клиента и NFS сервера

Стандарты

См. также

Ссылки

Просмотр этого шаблона Схемы URI
Официальные aaa: • aaas: • acap: • cap: • cid: • crid: • data: • dav: • dict: • dns: • fax: • file: • ftp: • go: • gopher: • h323: • http: • https: • im: • imap: • ldap: • mailto: • mid: • news: • nfs: • nntp: • pop: • pres: • rtsp: • sip: • sips: • snmp: • tel: • telnet: • urn: • wais: • xmpp:
Неофициальные about: • aim: • bolo: • btc: • bzr: • callto: • chrome: • cvs: • daap: • ed2k: • ed2kftp: • feed: • fish: • git: • gizmoproject: • iax2: • irc: • ircs: • lastfm: • ldaps: • magnet: • mms: • msnim: • psyc: • rsync: • secondlife: • skype: • ssh: • svn: • sftp: • smb: • sms: • soldat: • steam: • unreal: • ut2004: • view-source: • vzochat: • webcal: • xfire: • ymsgr:
Стек протоколов ONC
Sun RPCXDRNIS (YP) • NFS
Просмотр этого шаблона Файловые системы (списоксравнение)
Дисковые ADFSAdvFSBeFSBtrfsEFSextext2ext3ext3cowNext3ext4FAT • FATX • VFAT • FFS • Files-11 • GFS • HFSHFS Plus • XFSX • HPFSISO 9660JFS • LFS • MFS (Macintosh) • MFS (Tivo) • Minix • MUFS • NWFS • NILFSNSSNTFSProtogon (В разработке) • PFS • Qnx4fs • Qnx6fs • ReiserFSReiser4SFS • SpadFS • UFS • UFS2 • UDFVxFSWinFSWAFLXFSZFSБольше... Оптические диски ISO 9660UDF Флеш-память/SSD FATexFAT (FAT64) • TFAT • FFS2 • JFFS • JFFS2 • LogFS • NVFS • UDFYAFFS Кластерные Files-11 • GFS • OCFS • QFSXsanБольше...
Распределённые(сетевые) AFS • OpenAFS • AFPCephDFSGlusterFSGPFSGoogle File SystemLustreNCPNFSPOHMELFSHadoopKosmosHAMMERSMB (CIFS)Больше...
Специальные cramfsFUSESquashfsUMSDOSUnionFSБольше... Псевдо- и виртуальные configfs • devfs • procfs • specfs • sysfstmpfsWinFS Шифрованные EncFSEFS • FSFS • SSHFS • SolFS • ZFS