Мегаобучалка Главная | О нас | Обратная связь


Модель сетевой файловой системы



2015-11-27 1391 Обсуждений (0)
Модель сетевой файловой системы 0.00 из 5.00 0 оценок




Лекция №24

Тема. Мережеві файлові системи. Принципи побудови. Модель мережної файлової системи.

Цель. Объяснить принципы построения на примере модели сетевой файловой системы.

1. Учебная.Пояснить принцип работы файловых служб и файлового сервера.

2. Развивающая.Развивать логическое мышление и естественное - научное мировоззрение.

3. Воспитательная. Воспитывать интерес к научным достижением и открытиям.

Межпредметные связи:

· Обеспечивающие: информатика, математика, вычислительная техника и МП, системы программирования.

· Обеспечиваемые:Стажерская практика

Методическое обеспечение и оборудование:

1. Методическая разработка к занятию.

2. Учебный план.

3. Учебная программа

4. Рабочая программа.

5. Инструктаж по технике безопасности.

Технические средства обучения: персональный компьютер.

Обеспечение рабочих мест:

· Рабочие тетради

Ход лекции.

Организационный момент.

Анализ и проверка домашней работы

3. Ответьте на вопросы:

1. Как может быть построен процесс обнару­жения требуемого сервера в сети в случае, когда для клиента важен только тип интерфейса? Чем характерны эти способы?

2. Перечислите недостатки динамического связывания

3. Назовите характерные черты вызова локальных процедур вызова.

4. В чем состоит идея вызова удаленных процедур?

5. Какие могут возникнуть ситуации когда произойдет аварийное завершение одного из участвующих процессов при реализации RPC?

6. Как достигает прозрачности механизм действия RPC?

7. Поясните способ генерации стабов.

8. Какими типами сообщений оперирует механизм RPC ?

9. Как клиент узнает место расположения сервера, кото­рому необходимо послать сообщение-вызов?

10. Поясните принцип динамического связывания.

11. Какими способами быть построен процесс обнару­жения требуемого сервера в сети?

Сетевые службы

Практически все современные операционные системы являются сетевыми, то есть позволяют своим пользователям получать доступ не только к локальным ресур­сам их собственных компьютеров, но и к ресурсам других компьютеров, подклю­ченных к сети (конечно, только в том случае, если удаленные ресурсы объявле­ны разделяемыми и у пользователя есть соответствующие права на доступ к ним).

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

Сетевые файловые системы

Принципы построения

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

С программной точки зрения распределенная файловая система — это сетевая служба, имеющая типичную структуру. Файловая служба включает программы-серверы и программы-клиенты, взаимодействующие с помощью определенного протокола по сети между собой.Таким образом, файловым сервером называют не только компьютер, на котором хранятся предоставляемые в совместный до­ступ файлы, но и программу (или процесс, в рамках которого выполняется данная программа), которая работает на этом компьютере и обеспечивает совокупность услуг по доступу к файлам и каталогам на удаленном компьютере. Соответствен­но программу, работающую на клиентском компьютере и обращающуюся к фай­ловому серверу с запросами, называют клиентом файловой системы, как и ком­пьютер, на котором она работает. Такая неоднозначность терминов «файловый сервер» и «клиент» обычно не вызывает затруднений, так как из контекста, как пра­вило, понятно, о каком программном или аппаратном компоненте сети идет речь.

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

Файловая служба в распределенных файловых системах (впрочем, как и в цен­трализованных) имеет две функционально различные части: собственно файло­вую службу и службу каталогов файловой системы. Первая имеет дело с опера­циями над отдельными файлами, такими как чтение, запись или добавление, а вторая — с созданием каталогов и управлением ими, добавлением и удалением файлов из каталогов и т. п.

В хорошо организованной распределенной системе пользователи не знают, как реализована файловая система. В частности, они не знают количество файловых серверов, их месторасположение и функции. Они только знают, что если проце­дура определена в файловой службе, то требуемая работа каким-то образом вы­полняется, возвращая им результаты. Более того, пользователи даже не должны знать, что файловая система является распределенной. В идеале для пользовате­ля она должна выглядеть так же, как и централизованная файловая система.

Современные сетевые файловые системы пока еще не полиостью соответствуют идеалу. В большинстве коммерческих ОС (таких, как ОС семейств UNIX, Win­dows NT/2000, NetWare) пользователь должен явно указать имя файлового сер­вера при доступе к его ресурсам. Большую степень прозрачности демонстрируют сетевые файловые системы экспериментальных операционных систем — Amoe­ba, Mach и Chorus. Тем не менее работы в этом направлении продолжаются и сетевые файловые системы постепенно приближаются к истинно распределенным.

Модель сетевой файловой системы

Сетевая файловая система (ФС) в общем случае включает следующие элементы (рис. 1):

□ локальная файловая система;

□ интерфейс локальной файловой системы;

□ сервер сетевой файловой системы;

□ клиент сетевой файловой системы;

□ интерфейс сетевой файловой системы;

□ протокол клиент-сервер сетевой файловой системы.

Клиенты сетевой ФСэто программы, которые работают на многочисленных компьютерах, подключенных к сети. Эти программы обслуживают запросы при­ложений на доступ к файлам, хранящимся на удаленном компьютере. В качестве таких приложений часто выступают графические или символьные оболочки ОС, такие как Windows Explorer или UNIX shell, а также любые другие пользова­тельские программы.

Клиент сетевой ФС передает по сети запросы другому программному компонен­ту — серверу сетевой ФС, работающему на удаленном компьютере. Сервер, по­лучив запрос, может выполнить его либо самостоятельно, либо, что является бо­лее распространенным вариантом, передать запрос локальной файловой системе для отработки. После получения ответа от локальной файловой системы сервер передает его по сети клиенту, а тот, в свою очередь, — приложению, обративше­муся с запросом.

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

 

Рис. 1. Модель сетевой файловой системы

 

При полном совпадении интерфейсов приложение может обращаться к локальным и удаленным файлам и каталогам с помощью одних и тех же сис­темных вызовов, совершенно не принимая во внимание места хранения данных. Например, если на серверах сети используются локальные файловые системы FAT, то интерфейс сетевой файловой системы повторяет системные вызовы FAT.

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

Сетевая файловая система, построенная на базе локальной файло­вой системы FAT и использующая в качестве протокола клиент-сервер прото­кол SMB (Server Message Block), который был совместно разработан компания­ми Microsoft, Intel и IBM и до сих пор является основой сетевой файловой службы в операционных системах семейства Windows (его последние расширен­ные версии получили название Common Internet File System, CIFS).

Как и все протоколы файловых служб, этот протокол работает на прикладном уровне модели OSI. Для передачи по сети своих сообщений протокол SMB ис­пользует различные транспортные протоколы. Исторически основным протоко­лом передачи сообщений SMB был протокол NetBIOS (и его более поздняя реа­лизация NetBEUI), но сейчас сообщения SMB могут передаваться и с помощью других протоколов, например TCP/UDP и IPX.

SMB относится к классу протоколов, ориентированных на соединение. Работа протокола начинается с того, что клиент отправляет серверу специальное сооб­щение с запросом на установление соединения. В процессе установления соеди­нения клиент и сервер обмениваются информацией о себе: они сообщают друг другу, какой диалект протокола SMB они будут использовать в этом соединении (диалект здесь — определенное подмножество функций протокола, так как кро­ме файловых функций SMB поддерживает также доступ к принтерам, управле­ние внешними устройствами и некоторые другие). Если сервер готов к установ­лению соединения, он отвечает сообщением-подтверждением.

После установления соединения клиент может обращаться к серверу, передавая ему в сообщениях SMB команды манипулирования файлами и каталогами. Кли­ент может попросить сервер создать и удалить каталог, предоставить содержи­мое каталога, создать и удалить файл, прочитать и записать содержимое файла, установить атрибуты файла и т. п.

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


Рассмотрим несколько ситуаций, в которых протокол взаимодействия клиента и сервера файловой системы может повлиять на эффективность удаленного досту­па к файлам.

Отказ компьютера, па котором выполняется сервер сетевой файловой систе­мы, во время сеанса связи с клиентом. Локальная файловая система запоминает состояние последовательных операций, которые приложение выполняет с одним и тем же файлом, за счет ведения внутренней системной таблицы от­крытых файлов (системные вызовы open, read, write изменяют состояние этой
таблицы). Если таблица открытых файлов хранится на серверном компьютере, то после его перезагрузки, вызванной крахом системы, содержимое этой таблицы теряется, так что приложение, работающее на клиентском компьюте­ре, не может продолжить нормальную работу с открытыми до краха файлами. Протокол должен позволять приложениям выйти из такой ситуации с наи­меньшими потерями. Одно из решений этой проблемы основано на передаче функции ведения и хранения таблицы открытых файлов от сервера клиенту. Файловый сервер в этом варианте получил название «stateless», то есть «не запоминающий состояния». Протокол клиент-сервер при такой организации
упрощается, так как перезагрузка сервера приводит только к паузе в обслу­живании, но работа с файлами может быть после этого продолжена безболезненно для клиента.

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

Потери данных и разрушение целостности файловой системы при сбоях и от­казах компьютеров, играющих роль файловых серверов. Для повышения от­казоустойчивости файловой системы в сети можно хранить несколько копий каждого файла (или целиком локальной файловой системы), причем каждую копию — на отдельном компьютере. Такие копии файлов называются репликами (replica). Протокол сетевого доступа к файлам должен учитывать такую организацию файловой службы, например, обращаясь в случае отказа одного файлового сервера к другому, работоспособному и поддерживающему репли­ку требуемого файла. Репликация файлов не только повышает отказоустой­чивость, но решает также и проблему перегрузки файловых серверов, так как
запросы к файлам распределяются между несколькими серверами и повыша­ют производительность сетевой файловой системы. Репликация в некоторых аспектах похожа на кэширование — в том и другом случаях в сети создается несколько копий одного и того же файла, при этом повышается скорость до­ступа к данным. Основным отличием репликации от кэширования является
то, что реплики хранятся на файловых серверах, а кэшированные файлы — на клиентах.

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

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

Поэтому для одной и той же локальной файловой системы могут существовать различные протоколы сетевой файловой системы. Так, к файловой системе NTFS сегодня можно получить доступ с помощью различных протоколов (рис. 2), в том числе таких распространенных, как SMB, NCP (NetWare Control Protocol — основной протокол доступа к файлам и принтерам сетевой ОС NetWare компа­нии Novell) и NFS (Network File System — протокол сетевой файловой системы компании Sun Microsystems, чрезвычайно популярный в различных вариантах ОС семейства UNIX).

С другой стороны, помощью одного и того же протокола может реализовываться удаленный доступ к локальным файловым системам разного типа. Например, протокол SMB используется для доступа не только к файловой системе FAT, но и к файловым системам NTFS и HPFS (рис. 10.3). Эти файловые системы могут располагаться как на разных, так и на одном компьютере.


 

Рис. 2. Доступ к одной локальной файловой системе с помощью нескольких протоколов клиент-сервер

Рис. 3. Доступ к локальным файловым системам различного типа с помощью одного протокола клиент-сервер

За достаточно долгий срок развития сетей в них утвердилось несколько сетевых файловых систем. В локальных сетях на протяжении многих лет доминировала сетевая операционная система NetWare которая использовала на файловых сер­верах оригинальную локальную файловую систему, также носящую имя NetWare, и уже упомянутый протокол NCR Клиенты этой сетевой файловой системы обес­печивали приложениям расширенный интерфейс файловой системы FAT — рас­ширения включали в основном поддержку разграничения прав доступа к фай­лам и каталогам. Интерфейс FAT был выбран как наиболее распространенный локальный интерфейс для приложений и пользователей персональных компью­теров, работающих под управлением MS-DOS или Windows 3.x и поддерживаю­щих только FAT в качестве локальной файловой системы. Сетевая файловая система NetWare является хорошим примером зависимости между свойствами интерфейса, предоставляемого приложениям на клиентских машинах, и свойст­вами локальной файловой системы сервера. Требования к поддержке прав до­ступа пользователей сети к удаленным файлам (помимо других существенных соображений) привели к разработке новой локальной файловой системы NetWare, так как FAT не храпит в своих служебных структурах данных о правах пользо­вателей.

Другим популярным типом сетевых файловых систем стали системы компаний Microsoft и IBM, которые также были первоначально разработаны для локаль­ных сетей на основе персональных компьютеров под управлением MS-DOS и Windows 3.x. Общим для этих сетевых файловых систем стало использование FAT в качестве локальной файловой системы, протокола SMB и интерфейса FAT с расширениями для клиентов. Для разграничения прав доступа здесь был при­менен другой прием — файловая система FAT была оставлена в качестве локаль­ной системы серверов, но сами серверы стали хранить в ней дополнительные служебные файлы с указанием прав пользователей на доступ к разделяемым ка­талогам. Эти права проверялись сервером при поступлении запроса из сети, ло­кальные же запросы обслуживались в FAT по-прежнему без проверки прав до­ступа. Естественно, средства защиты каталогов нашли отражение в командах и ответах протокола SMB, а также в расширениях интерфейса FAT на стороне кли­ентов. Позже протокол SMB был применен и для доступа к локальным файло­вым системам HPFS и NTFS.

В среде операционной системы UNIX наибольшее распространение получили две сетевые файловые системы — FTP (File Transfer Protocol) и NFS (Network File System). Они первоначально разрабатывались для доступа к локальной фай­ловой системе s5/ufs, являющейся основной для большинства ОС семейства UNIX. Эти сетевые файловые системы используют собственные протоколы кли­ент-сервер FTP и NFS, предоставляя интерфейс s5/ufs своим клиентам.

Со временем в крупных сетях стали одновременно применяться несколько сете­вых файловых систем разных типов, например NetWare и SMB или NetWare и NFS. Это часто происходило при объединении нескольких сетей в одну. Для пользователей каждой из сетей, привыкших к определенному интерфейсу и ра­ботающих с приложениями, рассчитанными на интерфейс FAT или s5/ufs, тре­бовалось сохранить удобную среду. В результате в сети появились различные файловые серверы, поддерживающие различные локальные файловые системы и протоколы клиент-сервер, а также клиенты, обеспечивающие приложениям и пользователям различные интерфейсы. Возникла проблема — как обеспечить доступ клиента любого типа к файловому серверу любого типа? Рассмотренные выше принципы организации сетевой файловой системы и ее основных компо­нентов подсказывают, что существует несколько вариантов решения этой про­блемы, основанных на комбинировании локальных файловых систем, протоко­лов клиент-сервер и интерфейсов, поддерживаемых клиентами файловой системы.

На рис. 4 показан вариант организации неоднородной сетевой файловой сис­темы, в которой на компьютере с локальной файловой системой NTFS работает несколько файловых серверов, поддерживающих различные протоколы клиент-сервер. Каждый файловый сервер обеспечивает доступ к одним и тем же данным всем клиентам, работающим по протоколу данного сервера, например протоколу NFS. Клиенты, в свою очередь, поддерживают для приложений и пользователей интерфейс s5/ufs, для которого разрабатывался протокол NFS.

Рис. 4 Неоднородная сетевая файловая система



2015-11-27 1391 Обсуждений (0)
Модель сетевой файловой системы 0.00 из 5.00 0 оценок









Обсуждение в статье: Модель сетевой файловой системы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1391)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)