Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003
Шрифт:
Маскировка LUN в Windows NT может выполняться драйвером адаптера шины, который предоставляется производителем.
В Windows Server 2003 внедрена новая модель драйверов Storport, предназначенная для замены старой модели SCSIPort. Более новый драйвер Storport ориентирован на поддержку высокопроизводительных интеллектуальных устройств SCSI-3 и Fibre Channel. По сравнению с драйвером SCSI- Port драйвер Storport обеспечивает повышенное быстродействие, расширенные функции по управлению и обработке ошибок. Поставщики устройств могут максимально использовать возможности Storport, переписав драйверы для использования новой модели. И даже обычная перекомпоновка драйвера с библиотекой новой модели Storport дает
Индустрия хранилищ данных развивается от серверов с непосредственно подключенными устройствами в сторону архитектуры клиент/сервер, в которой применяется несколько серверов в локальной сети. При таком подходе одни серверы предназначены для приложений, управляющих базами данных, а другие выделяются исключительно для хранения данных. Выделенные серверы для хранения данных и называются хранилищами, подключенными к сети (NAS), чему посвящена следующая глава.
Глава 3. Сетевые хранилища данных
В предыдущей «главе описаны хранилища данных, подключаемые к серверу. Вне зависимости от размещения устройств (внутри сервера или во внешних стойках), только один сервер имеет к ним доступ. В этой главе рассматривается следующее поколение систем хранения данных: хранилища, подключенные к сети (Network Attached Storage – NAS).
Сначала обратимся к истории N AS, после чего рассмотрим стек сетевых протоколов семейства операционных систем Windows Server и архитектуру файловых систем CIFS (Common Internet File System) и NFS (Network File System). Далее вкратце обсуждаются технические аспекты, связанные с необходимостью обслуживания клиентских систем, работающих под управлением различных операционных систем с отличающимися файловыми системами. И в завершение описывается роль Windows в реализации устройств NAS.
3.1 Появление NAS
После появления серверных хранилищ данных по разным причинам возникла необходимость установки нескольких серверов с непосредственно подключенными к ним устройствами хранения данных. Доступ к хранилищам осуществлялся с помощью сетевой файловой системы (обычно в середине 1980-х годов для этого использовалась NFS). Возникновение и развитие архитектуры клиент/сервер, в частности мэйнфреймов и клиентских терминалов, привело к всеобщей реализации данной архитектуры в коммерческих приложениях уровня предприятия.
–
Устройства хранения данных оставались достаточно дорогими, а потребность в объемах хранимых данных постоянно возрастала. Возможность установки большего количества устройств ограничивалась количеством жестких дисков, подключаемых к одному серверу (обычно поддерживалось семь или восемь адресов, причем адаптеру шины также требовался один из адресов; развитие стандарта SCSI привело к отмене этого ограничения). В результате приходилось устанавливать множество однотипных серверов. Наконец, операции ввода-вывода были ограничены пропускной способностью шины ввода- вывода. Только установка большего количества серверов позволяло снизить нагрузку на шину каждого сервера.
Производители воспользовались сложившейся ситуацией и приступили к развитию концепции сетевых хранилищ данных. Как отмечает Том Кларк (Tom Clark) в книге Designing Storage Area Networks, NAS представляет собой скорее маркетинговый, чем технический термин. Устройства NAS разрабатывались как простые в использовании, управлении и развертывании. Кроме того, устройства NAS представлялись в качестве специализированных устройств хранения данных, обеспечивающих оптимальную пропускную способность операций ввода-вывода. Хотя в некоторых случаях это соответствовало истине, т.е. операционные системы NAS
5
Обратите внимание, что локальное хранилище данных, подключенное к устройству NAS, обычно представляет собой устройство типа DAS (см. главу 2).
Устройство NAS включает в себя серверное программное обеспечение, которое работает под управлением определенной операционной системы. Более того, стек программного обеспечения NAS основан на стандартной серверной файловой системе с добавлением стека ввода-вывода, основанного на коде сетевого сервера, стеках сетевого протокола и сетевой файловой системы (рис. 3.1). Последняя предоставляет такие возможности распределенной файловой системы, как кэширование и синхронизация. Три дополнительных элемента на рис. 3.1 обозначены серым цветом.
В целом сетевые особенности устройства NAS показаны на рис. 3.1 слева, а стек локальной файловой системь! и подсистемы хранения – справа. Чтобы упростить изложение, рассмотрим только стек протоколов TCP/IP, хотя иногда применяются другие сетевые протоколы, такие, как UDP/IP или устаревший Netware IPX/SPX.
На рис. 3.1 программное обеспечение сервера NAS отправляет запрос ожидания TCP/IP и ожидает входящего запроса от клиента. После того как клиент отправит запрос, ожидание сервера завершается и начинается сеанс TCP/IP. Как только сеанс TCP/IP будет установлен, клиент может пройти аутентификацию и отправить запрос на открытие, чтение или запись файлов по протоколам CIFS/SMB или NES (эти протоколы рассматриваются далее в главе). Как только программное обеспечение NAS получает запрос на ввод- вывод данных файла, сервер NAS использует локальную файловую систему для выполнения операции ввода-вывода. Результат операции (считанные данные или статус после записи) отправляется клиенту с помощью сетевой файловой системы и стека протоколов сетевого устройства.
Рис. 3.1. Стек ввода-вывода устройства NAS
Производители устройств NAS придерживаются разных стратегий при разработке операционных и файловых систем, применяемых в устройствах NAS:
использование стандартной операционной системы, например Windows NT или UNIX;
разработка собственных операционной и файловой систем, например Network Appliance;
приобретение операционной и файловой систем у другого производителя.
3.2 Сетевой стек Windows NT
Разобраться в особенностях стека сетевого ввода-вывода Windows NT важно по нескольким причинам. Клиент Windows NT использует стек сетевого ввода-вывода для получения доступа к ресурсам, которые находятся под управлением сервера, а также для передачи данных. Кроме того, при использовании сетевого хранилища часто возникает ситуация, когда один сервер получает доступ к ресурсам, которыми управляет другой сервер. Хорошим примером будет Wob-сервер под управлением Windows NT, который для ответа на запрос клиента запрашивает базу данных, размещенную на отдельном сервере SQL под управлением Windows NT. Web-сервер получает доступ к серверу SQL средствами стека сетевого ввода-вывода Windows NT.