Чтение онлайн

ЖАНРЫ

Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003

Дайлип Наик

Шрифт:

Рис. 8.2. Инкапсуляция протокола iSCSI

Рис. 8.3. Уровни протокола iSCSI

Протокол iSCSI размещен поверх существующих уровней протоколов TCP, IP и низкоуровневых аппаратных протоколов, поддерживающих TCP/IP (например, Ethernet и Gigabit Ethernet).

Как можно заметить (рис. 8.3), SCSI – это протокол уровня приложения. Протокол iSCSI предоставляет услуги протоколу приложений SCSI

и применяет TCP/IP для обеспечения гарантированной доставки, маршрутизации и т.д.

Все устройства iSCSI (целевые и устройства-инициаторы) имеют два разных имени.

Адрес iSCSI, который состоит из адреса IP, порта TCP и имени iSCSI

и имеет формат «<имя домена>: <номер порта>:<имя iSCSI>«.

Имя iSCSI, которое имеет наглядный формат, например «Hmh_FQN.

Поставщик_диска. Модель _диска. Номер».

Служба именования iSNS (Internet Storage Name Service) является общей для iSCSI, iFCP и FCP (Fibre Channel Protocol). Протоколы iFCP и FCP рассматриваются в разделе 8.1.5. Кроме использования iSNS в качестве службы именования, протокол iSCSI имеет спецификацию, в которой описана информационная база управления (Management Information Base – MIB) для управления устройствами iSCSI на основе протокола SNMP. Кроме того, протокол iSCSI определяет процесс реализации удаленной загрузки.

Протокол iSCSI устанавливает сеансы связи между инициатором и целевым устройством. Один или несколько сеансов протокола TCP могут использоваться одним или несколькими сеансами iSCSI. После установки сеанса две стороны (инициатор и целевое устройство) обмениваются такими параметрами, как безопасность, размер буфера и возможность отправки неза- прошенных данных. Сеанс iSCSI может закрываться стандартным образом: посредством завершения регистрации или в связи с возникновением ошибки. Независимо от количества использованных сессий TCP, протокол iSCSI гарантирует, что команда SCSI и ответы на нее будут доставлены в правильном порядке. Обратите внимание: протокол TCP гарантирует последовательную доставку для определенного сеанса TCP, но не обеспечивает синхронизации передаваемых данных между различными сеансами TCP. Таким образом, синхронизации сеансов TCP возлагается на протокол iSCSI. Можно перечислить ряд требований к протоколу iSCSI.

Разные команды SCSI могут передаваться через различные сеансы TCP.

Все данные и параметры, соответствующие определенной команде, должны передаваться в рамках того же сеанса TCP, по которому передавалась команда SCSI.

В протоколе iSCSI определена концепция тега-инициатора. Все ответы будут иметь соответствующий тег инициатора, который высылается вместе с первоначальной командой. Инициатор должен обеспечить уникальность тегов и исключить возможность повторного использования тега, пока инициатор не получит все ответы на соответствующую команду. Тег должен быть уникальным в рамках инициатора (операционная. система \yindows NT является многозадачной, и инициатор может работать для нескольких процессов и приложений).

Протоколом iSCSI определена концепция нумерации команд, которая обеспечивает последовательную доставку команд через несколько сеансов TCP.

Кроме того, в протоколе iSCSI определен механизм CRC типа «точка- точка». Проверка CRC на втором уровне (например, на уровне Gigabit Ethernet) или на третьем уровне (контрольные суммы TCP/IP) может оказаться ненадежной, особенно если на пути передачи пакетов размещены другие устройства IP, например трансляторы сетевых адресов, маршрутизаторы и т.д. Поставщики подсистем хранения всегда с большой осторожностью относились к методам проверки целостности данных.

Протокол iSCSI имеет свои недостатки. При его использовании возникают проблемы, связанные с безопасностью, управлением сетевыми «заторами» и качеством обслуживания. Но эти вопросы в основном касаются работы сетей на базе протоколов TCP/IP, проблемы которых уже хорошо изучены.

8.1.3
Реализация протокола iSCSI в Windows NT

Поддержка протокола iSCSI в Windows NT активно внедряется компанией Microsoft. Несмотря на это, Windows Server 2003 не обеспечена поддержкой iSCSI по умолчанию.

На рис. 8.4 показана архитектура реализации протокола iSCSI в Windows NT.

Инициатор iSCSI реализован в виде драйвера мини-порта для модели SCSIPort или Storport.

Динамически подключаемая библиотека обнаружения iSCSI отслеживает все изменения и выступает в роли единственного хранилища для всех номеров LUN, обнаруженных тем или иным способом, включая использование клиентов iSNS или уведомление портов. Библиотека обнаружения предоставляет API обнаружения новых LUN для приложений управления и, если это необходимо, методы, с помощью которых приложение управления может дать указание библиотеке обнаружения зарегистрировать новый LUN.

Рис. 8.4. Архитектура iSCSI

Рассмотрим, каковы планы компании Microsoft относительно протокола iSCSI.

Основное внимание уделяется реализации протокола iSCSI на платформе Windows Server 2003, однако рассматривается и поддержка протокола iSCSI в Windows 2000. Только объявление о выпуске финальной версии продукта можно считать достоверным источником информации о доступности этого продукта на рынке.

Основное внимание уделяется реализации протокола iSCSI на платформе Windows Server 2003. Тем не менее код поддержки iSCSI для Windows 2000 и Windows ХР также был предложен компанией Microsoft через несколько месяцев после предоставления кода поддержки iSCSI в Windows Server 2003.

Компания Microsoft предоставила код клиента и сервера службы iSNS.

В качестве механизма защиты данных и обеспечения безопасности Microsoft предполагает использование протокола IPSec.

Основное внимание уделяется реализации инициатора iSCSI, и на данный момент нет конкретных планов по реализации функциональности точки назначения iSCSI на платформе Windows NT.

Взаимодействие между библиотекой обнаружения и инициатором iSCSI будет вестись через интерфейс WMI. Библиотека обнаружения может быть преобразована в службу (точные сведения на этот счет отсутствуют).

Основная особенность поддержки iSCSI в Windows NT состоит в разделении процессов обнаружения и доступа устройств. Приложение управления инициирует доступ через динамическую библиотеку обнаружения, которая, в свою очередь, связывается с драйвером мини-порта (через интерфейс WMI). Драйвер мини-порта передает событие BusChangeDetected (описано в Windows NT SDK), запуская процедуру перечисления устройств. С этого момента перечисление устройств проводится обычным образом; например, обнаруженному устройству будет отправлена команда Report LUNs.

Настоятельно рекомендуется использовать протокол IPSec для обеспечения безопасности.

Для создания отчетов и управления ими рекомендуется применять интерфейс WMI. Ожидается, что некоторые классы WMI будут обяза

тельны для реализации, в то время как другие классы – лишь рекомендованы. Точные данные доступны только при подписании соглашения с компанией Microsoft [19] .

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

19

Для получения необходимой информации следует связаться с представителями Microsoft по электронной почте (iscsi@microsoft.com).

Поделиться с друзьями: