Компания Microsoft в свое время указала, что в неопределенном будущем семейство операционных систем Microsoft Windows будет поддерживать технологию InfiniBand. В третьем квартале 2002 года Microsoft и другие лидеры индустрии информационных технологий сообщили о пересмотре своих планов подцержки технологии InfiniBand; в частности, Microsoft сообщила о перераспределении ресурсов, направленных ранее на поддержку технологии InfiniBand, на другие области, включая IP Storage поверх Gigabit Ethernet. Таким образом, данный раздел может показаться неполным, поскольку не существует конкретной реализации InfiniBand от Microsoft, которую можно было бы описать в полной мере.
8.3 Сложности практической реализации
Администраторы и руководители отделов информационных технологий должны обратить внимание на то, ч; го поддержка протокола iSCSI не обеспечена в базовой версии Windows Server 2003. Таким образом, все системы на базе iSCSI, которые будут использоваться в Windows до выхода официальной поддержки, должны полностью проектироваться производителем. Заранее невозможно сказать, насколько успешно такие системы будут взаимодействовать с реализацией протокола iSCSI в Windows.
Производители, стремящиеся реализовать системы iSCSI для платформы Windows, оказываются в запутанной ситуации. Рекомендуется связаться с компанией Microsoft (iscsi®microsoft.com) и принять участие в разработке реализации протокола iSCSI. На данный момент существует мнение, что проектируемый стек iSCSI будет поддерживаться как в Windows 2000, так и в Windows Server 2003. Поскольку для работы некоторых систем от производителей потребуется создание драйвера мини-порта, следует обратить внимание на то, что модель драйверов Storport в Windows Server 2000 не поддерживается (модель драйверов Storport рассматривается в главе 2). Таким образом, производителю придется принимать решение о разработке драйвера на основе модели SCSIPort или о создании двух драйверов для моделей Storport и SCSIPort.
Высока вероятность быстрого развития технологии IP Storage, после того как будет предоставлена широкая поддержка со стороны операционных систем. Некоторые версии Linux уже поддерживают iSCSI, т.е. в данном случае Windows придется уже наверстывать упущенное. Новые возможности, предоставляемые IP Storage, с высокой долей вероятности окажутся весьма привлекательными и потребуют значительных ресурсов.
Набор технологий IP Storage предназначен для доступа к устройствам хранения по сетям на основе протокола IP. Важность этой технологии растет вместе с определением стандартов и появлением готовых решений. Компания Microsoft сообщила, что операционная система Windows NT будет поддерживать, как минимум, протокол iSCSI, который представляет собой один из ключевых компонентов IP Storage.
С ростом систем на базе IP Storage повышается необходимость создания еще более эффективной реализации стека протоколов TCP/IP (и смежных с ним протоколов). Один из способов состоит в обработке данных TCP/IP на уровне аппаратного обеспечения. С выходом стандарта NDIS 5.1 компания Microsoft сообщила о поддержке в Windows NT сетевых адаптеров с частичной аппаратной реализацией протокола TCP.
Технология InfiniBand – это новый стандарт, с помощью которого коммутируемая связная архитектура предназначается для соединения центральных процессоров узлов и периферийных устройств хранения данных. Хотя некоторые компании продолжают разработку InfiniBand, компания Microsoft решила отказаться от ее поддержки в Windows NT. Таким образом, будущее InfiniBand находится под большим вопросом, поэтому имеет смысл обратить более пристальное внимание на реализацию технологии IP Storage поверх Gigabit Ethernet, активно продвигаемой Microsoft.
Глава 9 Построение отказоустойчивых систем
Увеличение объема хранилищ данных требует усиления мер по защите информации и уменьшения периодов ее недоступности. Это означает, что данные необходимо защищать от повреждения, одновременно стремясь избежать значительных потерь производительности. Массивы RAID представляют собой один из методов достижения баланса между надежностью и производительностью и подробно описываются в первой части главы.
Для обеспечения надежности и восстановления после сбоев данные хранятся в различных местах и постоянно обновляются, благодаря чему изменение в одной реплике данных отражается и на других репликах. Именно эта идея лежит в основе схем зеркального отражения и репликации, разработанных, в частности, для платформы Windows Server.
На пути передачи данных от сервера к устройству хранения не должно быть единственной точки отказа, для чего понадобится технология группового ввода-вывода. Методы группового ввода-вывода для семейства Windows Server рассматриваются в разделе 9.3.
Аббревиатура RAID расшифровывается как. Redundant Лггау of independent Disks – избыточный массив независимых дисков. Массивы RAID были разработаны в Калифорнийском университете и описаны в знаменитом документе The Berkeley Paper в 1988 году. Сейчас системы RAID предлагаются многими производителями. В 1993 году организация RAID Advisory Group сформировала программу RAID Conformance, которая позволяла производителям тестировать аппаратное обеспечение для прохождения сертификации RAID Advisory Board. После успешной сертификации производитель получал возможность использовать официальный логотип RAID. Разные версии RAID предоставляют различные уровни производительности и защиты данных, поэтому реализация выбирается в зависимости от конкретных требований.
Практически для всех реализаций массивов RAID общей является идея чередования (striping). Чередование состоит из определения базовой единицы ввода-вывода (обычно она имеет размер от 512 байт до 4 или 8 Мбайт)[21]и метода физического размещения этих единиц на различных дисках. Таким образом, формируются логические блоки для кластеров более высокого уровня. Первая единица может находиться на диске 1, вторая – на диске 2 и т.д.
Массив RAID может быть реализован аппаратно или программно:
в программном обеспечении узла (сервера);
в адаптере шины, подключенном к узлу (серверу);
в устройстве хранения.
В некоторых случаях используется сразу несколько методов, например реализация массива RAID как для узла, так и для устройств хранения.
Диспетчер логических дисков (LDM) в Windows NT служит одним из примеров программной реализации массива RAID. Массив RAID, реализованный на узле (host-based RAID), иногда называетсяпрограммным RAID и обладает преимуществами, описанными ниже.
Стоимость аппаратного обеспечения ниже, так как устройствам хранения не требуется высокоэффективная аппаратная логика.
Существует возможность использования дисков от различных поставщиков.
При реализации системы, аналогичной диспетчеру томов, предоставленные службы виртуализации используются для преодоления ограничений аппаратного обеспечения; например, несколько небольших дисков могут комбинироваться для формирования большого логического тома.
Программный массив RAID обладает гибкой конфигурацией; например, может обеспечивать зеркальное отражение с помощью двух независимых систем RAID, объединять несколько номеров LUN в один более крупный номер LUN или разделить один LUN на несколько меньших логических томов.
В то же время программному массиву RAID присущи определенные недостатки.
Вычисление четности и других данных, необходимых для работы массива, требует значительных затрат времени центрального процессора. Для некоторых приложений Microsoft не рекомендуется использование
программного массива RAID, который чрезмерно нагружает ресурсы процессора.
Для каждой операции записи по шине ввода-вывода передается две операции записи, одна для данных, вторая для четности.
При использовании программных массивов RAID два уровня абстракции могут значительно повысить сложность и накладные расходы.
Файловая система добавляет уровень абстракции, осуществляя преобразование данных файлового ввода-вывода в данные блочного ввод-вывода на уровне тома.
Диспетчер тома (внедряющий программный массив RAID) добавляет, еще один уровень абстракции, выполняя преобразование блоков тома в дисковые блоки. В контексте распределенной файловой системы (DFS) это означает необходимость получения двухуровневых блокировок – физических или виртуальных (т.е. файл, открытый в эксклюзивном режиме, может обрабатываться как виртуально заблокированный).
Существует несколько типов реализаций массива RAID, которые рассматриваются в разделах 9.1.1–9.1.7.
9.1.1 Массив RAID 0
В массиве RAID 0 данные расслаиваются на несколько жестких дисков. Таким образом, массив RAID 0 выигрывает в производительности, но не предоставляет избыточности или защиты данных.
Как показано на рис. 9.1, при использовании массива RAID 0 данные по очереди записываются на разные диски. Приложение выдает несколько запросов на запись. В данном случае предполагается, что приложение всегда выдает запрос на запись с фиксированным буфером и размер буфера совпадает с размером единицы записи в массиве RAID. Данные на рис. 9.1 распределены по нескольким дискам поочередно (каждое число в прямоугольнике представляет собой запрос на запись).