Наик Дайлип - Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003
Компания Microsoft дала понять, что ведется активная реализация протокола iSCSI, которая со временем станет доступной в Windows NT. Определенной даты не сообщалось; предположительно поддержка iSCSI будет обеспечена до выхода Windows Longhorn в 2005 году.
На рис. 10.10 представлена архитектура реализации протокола iSCSI в Windows NT. Инициатор iSCSI реализован в виде драйвера мини-порта, который может работать как под управлением драйвера SCSIPort, так и под управлением драйвера Storport.
Рис. 10.10. Архитектура протокола iSCSI в Windows NT
Библиотека обнаружения динамически отслеживает все изменения и работает как единый репозиторий для всех LUN, обнаруженных любым способом, включая уведомления клиента или порта службой iSNS (Internet Storage Name Service). Библиотека обнаружения предоставляет API для приложений управления, который может использоваться для обнаружения новых LUN и, если возможно, регистрации в обнаруженной LUN.
Планы Microsoft по реализации протокола iSCSI включают несколько пунктов.
Основное внимание будет уделяться реализации протокола iSCSI в Windows Server 2003. Ожидается, что iSCSI будет доступен в Windows 2000 и Windows ХР.
Будет предоставлен код для сервера и клиента iSNS.
В качестве основного механизма защиты будет использоваться протокол IPSec.
Особое внимание получит реализация инициатора iSCSI. На данный момент не существует-планов по реализации целевого устройства iSCSI для Windows NT.
Передача информации между библиотекой обнаружения и инициатором iSCSI будет осуществляться с помощью интерфейса WMI.
Кроме того, драйвер порта предоставляет маршрут взаимодействия с ми- ни-портом НСА, а также диспетчерами InfiniBand, например диспетчерами подсетей и подключений. Диспетчер подсети отвечает за управление топологией связной архитектуры через программирование коммутаторов и установку атрибутов НСА. Кроме того, диспетчер подсети предоставляет точку соединения политик управления, связанных с управлением доступом, производительностью и устойчивостью к ошибкам (групповой ввод-вывод). Диспетчер подключений реализует возможности InfiniBand, ориентированные на подключения, а также основанные на политиках методы сохранения целостности данных.
10.4.4 Групповой ввод-вывод в Windows 2000/Server 2003
Групповой ввод-вывод данных поддерживается в Windows 2000 и Windows Server 2003. Компания Microsoft предоставляет производителям инструментарий разработки, поэтому готовые системы доступны только у определенных компаний. Ожидается, что Microsoft внедрит поддержку группового ввода- вывода и для сменных носителей (на данный момент поддерживаются только жесткие диски). Поэтому часть прямоугольника группового ввода-вывода на рис. 10.5 закрашена другим цветом.
10.5 Чего не хватает?
Компания Microsoft признала необходимость добавления некоторых возможностей, но никак не обозначила намерения по их реализации. В этом разделе рассматривается ряд технологий и делается попытка прогноза их дальнейшего развития.
10.5.1 Загрузка через SAN
Операционная система Windows 2000 поддерживает загрузку через SAN, но в этом процессе существует множество «подводных камней». Компания Microsoft обеспечивает ограниченную поддержку загрузки через SAN. В частности, существуют описанные ниже проблемы.'
Все используемое программное и аппаратное обеспечение должно быть совместимо с Windows 2000.
Невозможно использовать кольцо Fibre Channel с разделением доступа (Fibre Channel Arbitrated Loop – FC-AL), так как в ядро Windows NT
не вносились изменения, позволяющие обрабатывать значительные задержки среды FC-AL при повторной инициализации кольца.
Операционная система Windows 2000 требует эксклюзивного доступа к LUN, с которого проводится загрузка. Соответствующая маскировка выполняется на коммутаторе или через управление адаптерами шины.
Поставщик оборудования сети SAN должен принимать участие в процессе планирования и гарантировать поддержку в случае возникновения каких-либо проблем.
Рекомендуется держать файл подкачки на локально^ жестком диске.
Практически все системы требуют отключения группового ввода-вывода в процессе загрузки.
Поддержка загрузки через SAN в операционной системе имеет множество преимуществ. В частности, уменьшится задержка передачи данных в сети. Использование протокола iSCSI позволит выполнять удаленную загрузку по сети хранения данных с помощью платы Gigabit Ethernet. Кроме того, неплохо бы иметь возможность маскировки LUN на ранних этапах загрузки операционной системы.
10.5.2 Сокращение количества уровней в стеке драйверов подсистемы хранения
Модель драйверов Windows NT построена на принципах модульности и использует несколько уровней, что позволяет задействовать любые необходимые драйвера. Возможно, модель слишком успешно реализует поставленную задачу. Обычный сервер под управлением Windows 2000 применяет около десятка драйверов между приложением и физическим устройством. Рассмотрим набор драйверов в стеке:
драйвер мини-порта Storport или SCSIPort;
драйвер порта Storport или SCSIPort;
драйвер класса диска;
драйвер LDM, который на самом деле включает в себя несколько драйверов;
драйвер diskperf;
драйвер фильтрации антивирусного сканера;
драйвер файловой системы;
драйвер фильтрации файловой системы, который также может состоять из нескольких драйверов, например драйверы фильтрации точек повторной обработки удаленного хранилища, SIS, символьных ссылок и EFS.
Возможно, исправить ситуацию поможет добавление функций одного драйвера в другой. В Windows ХР предоставлен ограниченный механизм обратного вызова для драйверов фильтрации. Остается лишь наблюдать за развитием этой тенденции.
10.5.3 Групповой ввод-вывод для протокола iSCSI
Набор разработки для систем группового ввода-вывода не поддерживает работу с iSCSI. С расширением сферы применения iSCSI существует вероятность, что Microsoft предоставит отказоустойчивые и высокопроизводительные модули поддержки iSCSI.
10.6 Сложности практической реализации
Компания Microsoft намерена превратить Windows в полноценную платформу для организации хранилищ данных. Возможности новых версий Windows NT ясно подчеркивают эту тенденцию. Безусловно, Microsoft будет играть важную роль в индустрии корпоративных систем хранения данных.
Менеджерам компаний, принимающим решения о закупках, стоит обратить внимание на возможности, связанные только с Windows Server 2003 и Windows 2000. Поэтому следует внимательно просмотреть планы независимых производителей аппаратного и программного обеспечения по поддержке этих операционных систем.
10.7 Резюме
С развитием платформы Windows NT существенно улучшалась поддержка подсистем хранения данных. Операционные системы Windows NT 4.0 и Windows 2000 предоставляли все больше средств для обеспечения надежности, масштабируемости и отказоустойчивости. Операционная система Windows Server 2003 предлагает новые возможности по обеспечению отказоустойчивости (групповой ввод-вывод), производительности (модель драйверов Storport) и управлению (служба виртуального диска, поддержка приложений и диспетчер монтирования SAN, интерфейс управления на основе командной строки). После выхода Windows Server 2003 компания Microsoft планирует добавить расширенную поддержку протокола iSCSI в линии операционных систем Windows NT.
Список основных источников информации
Глава 1
Nagar R. Windows NT File System Internals: A Developer's Guide. – Cambridge, England: OReilly,1997.
Oney W. Programming the Microsoft Windows Driver Model, 2nd Ed. – Redmond, WA: Microsoft Press, 2002.
Solomon D. A., Russinovich M. E.Inside Microsoft Windows 2000, 3rd Ed. – Redmond, WA: Microsoft Press, 2000.
Viscarola P., Mason W. A.Windows NT Device Driver Development. – Indianapolis, IN: MacMillan Technical Pub., 1999.
Набор разработки Windows Driver Development Kit: http://www.microsoft.com/ddk.
Набор IFS для Windows XP SP1:
http://www.microsoft.com/ddk/IFSkit.
Глава 2
Статья базы знаний Microsoft KB310072 Adding Support for More Than Eight LUNs in Windows Server: http://support. microsoft.com/default.aspx? scid=KB; EN-US; Q310072.
Web-узел ассоциации ANSI T10: http://www.tlO. org.
Данные о переносе драйверов мини-порта на модель Storport: http://www.microsoft.com/hwdev/tech/storage/default.asp.
Sawert B. The Programmer's Guide to SCSI – Reading, MA: Addison-Wesley, 1998.
Schmidt F. The SCSI Bus and IDE Interface: Protocols, Applications, and Programming. – Reading, MA: Addison-Wesley, 1995.
Web-узел торговой ассоциации SCSI: http://www.scsita.org.
Web-узел Microsoft с данными о корпоративных системах хранения, представленными на выставке WinHEC в 2001 году:
http://www.microsoft.com/winhec/winhec2001.mspx.
Глава 3
Web-узел MSDN, посвященный протоколу CIFS:
http://msdn. microsoft.com/library/default. asp? url=/dowijloads/ list/windevwin. asp.
■. Статья базы знаний Microsoft KB161372 How to Enable SMB Signing in Windows NT:
http://support. microsoft.com/support/kb/articles/Q161/3/72.asp.