5.7.4. Сетевые файловые системы
Клиент сетевой ФС передает по сети запросы другому программному компоненту — серверу сетевой ФС, работающему на удаленном компьютере. Сервер, получив запрос, может выполнить его самостоятельно либо, что является более распространенным вариантом, передать запрос для обработки локальной файловой системе. После получения ответа от локальной ФС сервер передает его по сети клиенту, а тот, в свою очередь, — приложению, обратившемуся с запросом.
5.7.4. Сетевые файловые системы
Клиент и сервер сетевой файловой системы взаимодействуют друг с другом по сети по определенному протоколу. В случае совпадения интерфейсов локальной и сетевой файловых систем этот протокол будет достаточно простым (ретрансляция серверу запросов , принятых клиентом от приложения, например, с использованием механизма RPC).
Приложения
Интерфейс сетевой ФС Клиент сетевой ФС
Приложения | е | н | т | — | Ф | С |
л | и | й | ||||
к | в | о | ||||
л | е | |||||
о | т | |||||
к | е | |||||
о | с | |||||
о т | ||||||
е | р | |||||
Интерфейс сетевой ФС | р | в | ||||
П | е | р | ||||
с | ||||||
Клиент | ||||||
сетевой ФС |
5.7.4. Сетевые файловые системы
В операционных системах Windows основной сетевой файловой службы является протокол SMB (Server Message Block), который был совместно разработан компаниями Microsoft, Intel и IBM. Его последние расширенные версии получили название Common Internet File System, CIFS. Протокол работает на прикладном уровне модели OSI. Для передачи по сети своих сообщений SMB использует различные транспортные протоколы. Исторически первым таким протоколом был NetBIOS (и его более поздняя версия NetBEUI), но сейчас сообщения SMB могут передаваться и с помощью других протоколов (TCP/UDP и IPX). SMB относится к классу протоколов, ориентированных на соединение. Его работа начинается с того, что клиент отправляет серверу специальное сообщение с запросом на установление соединения. Если сервер готов к установлению
5.7.4. Сетевые файловые системы
После установления соединения клиент может обращаться к серверу, передавая ему в сообщениях SMB команды манипулирования файлами и каталогами. В процессе работы возможно возникновение ряда ситуаций, которые могут повлиять на эффективность удаленного доступа к файлам: 1. Отказ компьютера, на котором выполняется сервер сетевой файловой системы, во время сеанса связи с клиентом. Локальная ФС запоминает состояние последовательных операций, которые приложение выполняет с одним и тем же файлом, за счет ведения внутренней таблицы открытых файлов (системные вызовы open, read, write изменяют состояние этой таблицы). При крахе системы таблица открытых файлов теряется после перезагрузки серверного компьютера. В этом случае приложение, работающее на клиентском компьютере, не может продолжить работу с файлами, открытыми до краха. Операционные сист 125 емы
5.7.4. Сетевые файловые системы
Одно из решений проблемы основано на передаче функции ведения и хранения таблицы открытых файлов от сервера клиенту. При такой организации протокол клиент-сервер упрощается, так как перезагрузка сервера приводит только к паузе в обслуживании. 2. Большие задержки в обслуживании из-за запросов в сети и перезагрузки файлового сервера при подключении большого числа клиентов. Решением проблемы может быть кэширование файлов (частично или целиком) на стороне клиента. Однако в этом случае протокол должен учитывать возможность образования нескольких копий одного и того же файла, которые могут независимо модифицироваться разными пользователями, т. е. протокол должен обеспечивать согласованность копий файлов, имеющихся на разных компьютерах.
Операционные сист | 126 |
емы |
5.7.4. Сетевые файловые системы
3. Потери данных и разрушение целостности файловой системы при сбоях и отказах компьютеров, играющих роль файловых серверов. Для повышения отказоустойчивости сетевой ФС можно хранить несколько копий каждого файла (или целиком всей ФС) на нескольких серверах. Такие копии файла называются репликами (replica). Репликация файлов не только повышает отказоустойчивость, но и решает проблему перегрузки файловых серверов, так как запросы к файлам распределяются между несколькими серверами, что повышает производительность файловой системы. 4. Аутентификация выполняется на одном компьютере, например на клиентском, а авторизация, т. е. проверка прав доступа к каталогам или файлам, — на другом, выполняющем роль файлового сервера. Эта общая проблема всех сетевых служб должна учитываться протоколом взаимодействия
5.7.4. Сетевые файловые системы
Перечисленные проблемы решаются комплексно путем создания службы централизованной аутентификации, репликации, кэширования и др. Эти дополнительные службы находят свое отражение в протоколе взаимодействия клиентов и серверов, в результате чего создаются различные протоколы этого типа, поддерживающие тот или иной набор дополнительных функций. Поэтому для одной и той же локальной ФС могут существовать различные протоколы сетевой ФС. Так, к файловой системе NTFS сегодня можно получить доступ с помощью протоколов SMB, NCP (NetWare Control Protocol) и NFS (Network File System — протокол сетевой ФС компании Sun Microsystems, используемой в различных вариантах ОС семейства UNIX).
Операционные сист | 128 |
емы |
5.7.4. Сетевые файловые системы
С другой стороны, с помощью одного и того же протокола может реализоваться удаленный доступ к локальным ФС разного типа. Например, протокол SMB используется для доступа не только к ФС типа FAT, но и ФС NTFS, HPFS. Эти ФС могут располагаться как на разных, так и на одном компьютере.
Протокол SMB (Server Message Block – MS, Intel, IBM). Работает на прикладном уровне, используя TCP/IP (NetBIOS, NetBEUI), IPX.
Клиент | Сообщение с запросом на установление соединения | |||
Подтверждение. Команды манипулирования файлами. | ||||
SMB | ||||
NCP – NetWare Control Protocol | ||||
Приложение | FAT | Сервер | Сервер | Сервер |
Клиент | NFS | NCP | SMB | |
NCP | ||||
NetWare Control Protocol | Интерфейс локальной файловой системы |
Локальная файловая система NTFS Клиент NFS Протокол NFS (UNIX) Network File System
Доступ к одной локальной файловой системе с | RAID-массивы | Проблемы: |
помощью нескольких протоколов клиент-сервер |
1. Отказ сервера сетевой ФС (локальные табл. открытых файлов). 2. Перегрузка сервера СФС (кэширование у клиента). 3. Нарушение целостности СФС (избыточность и репликация). 4. Аутентификация у клиента, емы авторизация на сервере.