Подсистемы хранения данных

Интерфейс 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.


  • Мы кратко рассмотрели физические интерфейсы, протоколы, типы коммутации и адресацию для систем хранения данных, не останавливаясь на перечислении всех возможных вариантов. Теперь попытаемся представить эти технологии в реальных системах, поставляемых на наш рынок различными производителям. Сначала, просто для примера, приведу имеющийся у меня итоговый отчёт одной из ведущих аналитических компании мира – IDC. В таблице видны финансовые результаты 2 квартала 2005 года на мировом рынке внешних (именно они нас интересуют) дисковых систем хранения:



    Думаю, кое-кому может быть не известно о лидере – EMC Corporation. Всё дело в том, что EMC специализируется именно на оборудовании для хранения данных, программных продуктах для обеспечения управления информацией и сервисе, предоставляемом клиентам, использующим это оборудование и ПО. Как мы понимаем, такие продукты – это сфера высоких технологий, а вот HP, IBM, Dell и Hitachi производят также широкий спектр другой продукции (часто даже не компьютерной), посему эти названия, как мне кажется, ни у кого не вызовут вопросов.


    Что интересно, ПО, поставляемое EMC, настолько актуально, что это позволило компании занять 7 место в мировом рейтинге «софтовых компаний» по объёмам поставок. Между прочим, известная всем специалистам компания VMWare также принадлежит корпорации EMC.

    В приведенном списке есть две компании, которые сами производят весь спектр поставляемых ими дисковых систем хранения – это EMC Corp. и Hitachi (HDS, Hitachi Data Systems), также оборудование этих компаний поставляют другие производители под своей собственной маркой. Компания HP использует системы хранения от Hitachi как свои старшие модели (HP XP), а компания Dell – системы хранения от EMC (DELL|EMC). IBM же использует в качестве OEM-производителей для своих младших моделей СХД продукты от Adaptec и Engenio (подразделение LSI Logic, занимающееся направлением компонент систем хранения данных). Конечно, в лидеры не попали множество более мелких компаний, производящих свои собственные системы хранения, а их немало, и о них мы поговорим.

    Если перечислить основных значимых производителей рынка внешних систем хранения данных, то список будет примерно таков: EMC, HP, IBM, Dell, Hitachi, NetApps, Dothill, Engenio, Adaptec, Raidtec и другие. Конечно, ещё есть имена, которые на слуху, но отношение к системам хранения данных имеют второстепенное, хотя их и выпускают – например, D-Link.

    Какие же параметры характеризуют системы хранения данных? Некоторые из них были перечислены в прошлой статье – это тип внешних интерфейсов подключения и типы внутренних накопителей (жёстких дисков). Следующий параметр, который есть смысл рассматривать после двух вышеперечисленных при выборе дисковой системы хранения, – её надёжность. Надёжность можно оценить не по банальному времени наработки на отказ каких-то отдельных компонент (факт, что это время примерно равно у всех производителей), а по внутренней архитектуре. «Обычная» система хранения часто «внешне» представляет собой дисковую полку (для монтажа в 19-дюймовый шкаф) с жёсткими дисками, внешними интерфейсами для подключения хостов, несколькими блоками питания.


    Внутри обычно установлено всё то, что обеспечивает работу системы хранения – процессорные блоки, контроллеры дисков, портов ввода-вывода, кэш-память и так далее. Обычно управление стойкой осуществляется из командной строки или по web-интерфейсу через любой браузер, начальная конфигурация часто требует подключения по последовательному интерфейсу. Пользователь может «разбить» имеющиеся в системе диски на группы и объединить их в RAID (различных уровней), получившееся дисковое пространство разделяется на один или несколько логических блоков (LUN), к которым и имеют доступ хосты (серверы) и «видят» их как локальные жёсткие диски. Количество RAID-групп, LUN-ов, логика работы кэша, доступность LUN-ов конкретным серверам и всё остальное настраивается администратором системы. Обычно СХД предназначены для подключения к ним не одного, а нескольких (вплоть до сотен, в теории) серверов – посему такая система должна обладать высокой производительностью, гибкой системой управления и мониторинга, продуманными средствами защиты данных. Защита данных обеспечивается многими способами, самый простой из которых вы уже знаете – объединение дисков в RAID. Однако данные должны быть ещё и постоянно доступны – ведь остановка одной системы хранения данных, центральной на предприятии, способна нанести ощутимые убытки. Чем больше систем хранит данные на СХД, тем более надёжный доступ к системе должен быть обеспечен – потому что при аварии СХД останавливается работа сразу всех серверов, хранящих там данные. Высокая доступность стойки обеспечивается полным внутренним дублированием всех компонент системы – путей доступа к стойке (портов FibreChannel), процессорных модулей, кэш-памяти, блоков питания и т.д. Попытаемся принцип 100%-го резервирования (дублирования) объяснить следующим рисунком:



    ...цифрами здесь обозначены:

  • Контроллер (процессорный модуль) СХД, включающий в себя:

  • центральный процессор (или процессоры) – обычно на системе работает специальное ПО, выполняющее роль «операционной системы»;




  • интерфейсы для коммутации с жёсткими дисками – в нашем случае это платы, обеспечивающие подключение дисков FibreChannel по схеме петли с арбитражным доступом (FC-AL);


  • кэш-память;


  • контроллеры внешних портов FibreChannel.


  • Внешний интерфейс FC; как мы видим, тут их по 2 штуки на каждый процессорный модуль;


  • Жёсткие диски – ёмкость расширяется дополнительными дисковыми полками;


  • Кэш-память в такой схеме обычно зеркалируется, чтобы не потерять сохранённые там данные при выходе любого модуля из строя.


  • Касательно аппаратной части – дисковые стойки могут иметь различные интерфейсы для подключения хостов, различные интерфейсы жёстких дисков, различные схемы подключения дополнительных полок, служащих для увеличения числа дисков в системе, а также другие чисто «железные параметры». Попытаемся понять, какие же параметры характерны для самых ходовых СХД, которые производитель относит к разряду midrange, на примере системы хранения данных EMC Clariion CX500/CX500i. Отличие моделей с буквой «i» и без неё – в реализации внешних интерфейсов: FibreChannel и iSCSI, соответственно. Clariion CX500 – это средняя модель линейки EMC Clariion, которая обладает 100% резервом всех компонент, её внутренняя архитектура соответствует приведённому выше рисунку «Структурная схема системы хранения данных». Краткие параметры CX500 таковы:

  • два независимых процессорных блока (storage processor), обеспечивающих резервирование;


  • внешний интерфейс подключения – 4 порта FibreChannel 2Gb (LC-коннекторы);


  • кэш-память – 4GB с поддержкой зеркалирования;


  • RAID уровней 0, 1, 3, 5, 10. Возможность создавать множество RAID-групп внутри одного массива;


  • поддержка дисков HotSpare, возможность назначать hs-диски для всего массива – так называемые global hot spare;


  • до 120 жёстких дисков «горячей замены» на массив, поддержка технологии верификации целостности данных (EMC SNiiFFER);


  • жёсткие диски, могут быть как с интерфейсом FibreChannel, так и SATA;


  • производительность системы – до 120000 IOPS (операций в секунду);




  • пропускная способность – до 760 Мбайт/с;


  • возможность создания до 1024 LUN;


  • возможность подключения до 256 серверов или до 128 серверов в конфигурации «высокой доступности» – когда каждый сервер подключён к СХД двумя логическими каналами (в каждый сервер устанавливается по 2 HBA);


  • поддерживаемые ОС – Windows, Linux, NetWare, Solaris, IBM AIX, HP-UX, VMWare и другие.


  • Два независимых ввода питания для двух блоков питания;


  • Фирменные аккумуляторные модули SPS, обеспечивающие сохранение кэш-памяти на жёсткие диски при аварийном отключении питания вместо батарей, которые поддерживают сохранениё данных в самом кэше (обычно это небольшой срок – до 72 часов).


  • Внешний вид EMC Clariion CX500:



    Первая дисковая полка (нижняя на фото, под которой установлены SPS) содержит процессорные модули с портами ввода-вывода и первые 15 жёстких дисков. Остальные полки служат для расширения дисковой ёмкости дисками FibreChannel или SATA – на рисунке мы видим 8 полок, которые и содержат максимальный объём в 8*15=120 дисков.

    Следующие модели от известных производителей можно условно отнести к одной «весовой» категории:

  • EMC Clariion CX500;


  • HP EVA3000;


  • IBM DS4400 / DS4300 Turbo;


  • HDS 9570V;


  • NetApp FAS940c;


  • Sun StorEdge 6130 / 6120;


  • Примечание:

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

    Подробно о конкретных системах ведущих производителей поговорим в следующей части обзора

    Оригинал статьи на

    www.ferra.ru"


    Часть 1 Часть 3

    Содержание раздела