Современные системы хранения данных. Часть 2
Страница 4. Интерфейс iSCSI


 

Интерфейс iSCSI

Обычно представлен внешним разъёмом RJ-45 для подключения в сеть Ethernet – всем нам известный разъём:

…и собственно самим протоколом iSCSI (Internet Small Computer System Interface). По определению SNIA: «iSCSI — это протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами». На этом интерфейсе остановимся немножко подробней, хотя бы в силу того, что каждый пользователь способен использовать iSCSI даже в обычной «домашней» сети.

Необходимо знать, что протокол iSCSI определяет, как минимум, транспортный протокол для SCSI, который работает поверх TCP, и технологию инкапсуляции SCSI-команд в сеть на базе IP. Проще говоря, iSCSI – это протокол, позволяющий получить блочный доступ к данным с помощью команд SCSI, пересылаемых через сеть со стеком TCP/IP. iSCSI появился как замена FibreChannel и в современных СХД имеет перед ним несколько преимуществ – способность объединять устройства на огромных расстояниях (используя существующие сети IP), возможность обеспечивать заданный уровень QoS (Quality of Service, качество обслуживания), более низкую стоимость connectivity. Однако основная проблема использования iSCSI как замены FibreChannel – большое время задержек, возникающих в сети из-за особенностей реализации стека TCP/IP – это время может приближаться к 80 микросекундам, что сводит на нет одно из важных преимуществ использования СХД – скорость доступа к информации и низкую латентность. Это серьёзный минус.

Маленькое замечание по поводу хостов – они могут использовать как обычные сетевые карты (тогда обработка стека iSCSI и инкапсуляция команд будет осуществляться программными средствами), так и специализированные карты с поддержкой технологий аналогичных TOE (TCP/IP Offload Engines). Такая технология обеспечивает аппаратную обработку соответствующей части стека протокола iSCSI. Программный метод дешевле, однако больше загружает центральный процессор сервера и в теории может приводить к бОльшим задержкам, чем аппаратный обработчик. При современной скорости сетей Ethernet в 1 Гбит/с можно предположить, что iSCSI будет работать ровно в два раза медленнее FibreChannel со скоростью 2 Гбит, однако в реальном применении разница будет ещё заметнее.

Адресация iSCSI-устройств многим покажется слишком сложной, но это итог формирования стандартов эпохи расцвета IT. Существуют два типа адресации – EUI-based и IQN, просто приведу примеры записи адресов двумя различными методами адресации (они не эквивалентны друг другу – это лишь пример):

• eui.5a1b375297690100;
• iqn.1979-07.ivs.home:winxp.

Желающие могут ознакомиться с RFC 3720 и 3721 для более полной информации, а также найти более свежие документы, определяющие структуру iSCSI в целом.

Однако возможность организовать SAN на базе iSCSI проще, чем вам кажется. Что необходимо для сети данных? Устройства хранения, компоненты коммутации (connectivity) и хосты. Хостами могут быть обычные компьютеры, компоненты коммутации – это ваша локальная IP-сеть, сложнее с системой хранения, но и это решаемо. В терминологии iSCSI принято различать два типа устройств – Initiator и Target. Как вы уже догадались: Initiator – это хост, а Target – это система хранения данных. Для того чтобы ваш хост с операционной системой Windows смог подключиться к хранилищу с интерфейсом iSCSI, достаточно лишь иметь установленный на машине Software Initiator, на данный момент актуальная версия – «Microsoft iSCSI Software Initiator Version 2.01 (build 1748)». По этой ссылке можно ознакомиться с продуктом и при желании скачать (его использование абсолютно бесплатно). Что интересно, в новой версии ОС от Microsoft, Windows Vista, Microsoft iSCSI Software Initiator встроен по умолчанию даже в «домашнюю» версию операционной системы:


Мы видим стандартные пункты панели управления и настройку iSCSI для этой машины. Выделен адрес этого хоста как iSCSI-инициатора, используется уже знакомая нам адресация IQN. После того, как мы имеем iSCSI-инициатор, компоненты коммутации, нам необходима iSCSI-target, то есть наша СХД. Естественно, первый и самый простой вариант – аппаратное устройство, система хранения данных с интерфейсом iSCSI. Второй вариант – опять же программно реализованный iSCSI-target. На базе всеми любимой операционной системы Windows его можно получить, используя стороннее ПО компании «String Bean Software», к примеру. Такое ПО называется «WinTarget» и может быть опробовано в виде бесплатной 14-дневной испытательной версии, хотя сам продукт платный. С помощью Wintarget вы можете создать на целевом хосте (компьютере, выступающем в роли iSCSI-target) виртуальные логические тома (LUN, хотя правильнее их всё же называть LU – logical unit), которые и будут доступны хостам-инициаторам, хотя на целевой машине эти логические тома будут представлен в виде обычных файлов соответствующей длины. В отличие от обычного файлового доступа к компьютеру по сети, при использовании iSCSI мы получаем блочный доступ. Наш LUN, физически размещённый на инициаторе (который, в свою очередь, может находиться за тысячи километров – подключение через Интернет), видится нашей машиной как обычный «логический диск» (в терминологии Windows). Мы можем присвоить ему «букву диска», отформатировать и использовать в нашей системе так же, как разделы локального жёсткого диска. Ведь забавно выглядит работа с домашнего компьютера с подключённым к нему десятком LUN’ов, которые физически разнесены по всему земному шару – когда загружаетесь вы, к примеру, с СD, а жёсткого диска в вашей системе и вовсе нет! Пока проблема только в «ширине каналов».

При желании каждый может найти дополнительную информацию по iSCSI и поставить собственные эксперименты, однако упомяну ещё одну функциональность, которая становится доступна домашним пользователям – это построение кластеров на базе стандартного аппаратного обеспечения. Необходимы лишь кластерная ОС да грамотно настроенный iSCSI-target, тогда необходимое число LUN видно сразу всем узлам кластера. Скажу более – кластер вида active-active был мной построен и опробован на базе обычной домашней машины (XP Professional), которая выступала в роли iSCSI-target. Хосты (iSCSI-initiator’ы) были установлены в виртуальной машине VMware Workstation на базе Windows 2003 Server с установленным поверх «Microsoft iSCSI Software Initiator». Все желающие могут повторить эти эксперименты.

И кратко упомянем ещё пару протоколов, которые встречаются более редко и предназначены для предоставления дополнительных сервисов уже существующим сетям хранения данных (SAN):

  • FCIP (Fibre Channel over IP) – туннельный протокол, построенный на TCP/IP и предназначенный для соединения географически разнесённых сетей SAN через стандартную среду IP. Например, можно объединить две сети SAN в одну через Интернет. Достигается это использованием FCIP-шлюза, который прозрачен для всех устройств в SAN.
  • iFCP (Internet Fibre Channel Protocol) – протокол, позволяющий объединять устройства с интерфейсами FC через IP-сети. Важное отличие от FCIP в том, что возможно объединять именно FC-устройства через IP-сеть, что позволяет для разной пары соединений иметь разный уровень QoS, что невозможно при туннелировании через FCIP.

 

 
« Предыдущая статья   Следующая статья »