iSCSI (IP-SAN). часть 1.

Технология iSCSI (ныне входит в употребление термин IP-SAN) - метод для организации SAN-сети через обычную сетевую инфраструктуру Ethernet.
Она прошла ратификацию в IETF в конце 2003 года (RFC3720) и на сегодняшний день является широкораспространенной и стандартной.

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

Технически это осуществляется путем инкапсулирования (”заворачивания”) команд и блоков данных обычного SCSI в IP-пакеты. Это достаточно обычная и традиционная для IP технология, используемая не только в iSCSI. “Обернутые” в IP пакеты SCSI (”SCSI-over-IP”) могут пересылаться по обычной почте сети Ethernet или даже Интернету.
Попадая к получателю, они извлекаются из “обертки” IP и в дальнейшем, с точки зрения конечного пользователя, это те же самые SCSI-пакеты, словно они прошли не через Ethernet, а через обыкновенный SCSI-кабель.

Строго говоря то, что мы привыкли называть FiberChannel (FC), есть на самом деле “SCSI-over-FC”, то есть точно таким же образом пакеты FC переносят блоки и команды SCSI, и разница с iSCSI тут на “транспортном уровне”.
А существует, например, “Video-over-FC”, ограниченно применяется в высокопроизводительных системах видеообработки, например в “боевых” авиационных симуляторах.

Преимуществом-же iSCSI является то, что он работает всюду, где пройдет обычный IP, что на практике означает “вообще всюду”. Хоть по модему, хоть через всю планету. На практике же обычно используется уже достаточно широкораспространенный Gigabit Ethernet, обеспечивающий “скорость провода” около 1GBit в секунду (около 100 мегабайт в секунду), не считая возможности объединить провода в “транки”, пропорционально увеличивающие эту скорость.

Широкая доступность Ethernet-инфраструктуры означает в том числе и ее дешевизну в практической реализации. В наше время, когда стоимость порта Gigabit Ethernet снижается на 30% ежемесячно, и дешевые GigE switch доступны уже даже для домашнего использования, это является довольно значимым и существенным аспектом.

Преимущества:

Это дешево, зачастую бесплатно. И это работает, причем уже сейчас.
Программный модуль для использования iSCSI имеется для большинства существующих сегодня на рынке OS (MS Windows, Solaris, Linux, AIX и.т.д). Где-то он бесплатно скачивается и устанавливается, где-то включен в поставку. Но, так или иначе, он у вас уже есть.
Его можно просто взять и начать использовать.

Поскольку носителем iSCSI является “вездеходный” IP, то автоматически решается проблема, связанная с передачей SAN-сети на большие расстояния - то, для чего в случае FC создаются разнообразные конвертеры, бриджи и DWDM-директоры. С iSCSI нет проблем осуществить резервное копирование или репликацию через SAN на устройство, расположенное в удаленном датацентре. При этом не нужны никакой бридж для преобразования SAN-сети в вид пригодный для передачи по IP-сети “общего пользования” или наличие оптической магистрали для передачи траффика FC между сегментами SAN.

Недостатки:

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

Когда я говорю о “бесплатности”, я имею ввиду софтверный initiator, тот самый модуль, который позволяет использовать функциональность iSCSI и осуществляет рассмотренную выше инкапсуляцию и декапсуляцию SCSI в IP. Однако, как любое софтверное решение, это потребляет какое-то количество процессорной мощности.
В реальной жизни, на доступных сегодня процессорах, эта величина стремится к единицам процентов. Но, тем не менее, в ряде случаев она может играть свою роль.

Конечно, существуют и “аппаратные” реализации в виде iSCSI HBA (пример: QLogic QLA4050), снимающие эти проблемы, однако они уже отнюдь не бесплатные, и, хоть и стоят дешевле большинства FC HBA, все же существенно увеличивают бюджет проекта.

Однако, повторюсь, в реальной жизни, в практических задачах применимость и безусловная нужность iSCSI HBA вовсе не настолько бесспорна.
Если идти не от абстрактной “производительности системы хранения”, а от производительности информационной системы в целом, то беспокоить скорость передачи данных между дисковой системой и сервером вас должна, пожалуй, в последнюю очередь. Обычно прикладной задаче, например ERP или CRM-системе, всегда есть где потормозить и не упираясь в канал передачи данных между дисками и процессором.

Скорость iSCSI не использующего “транки” (объеднение вместе нескольких портов для увеличения пропускной способности) в настоящий момент равна 1Gb/s. Несмотря на то, что уже появились сетевые устройства стандарта 10G Ethernet со скоростью до 10Gb/s, цена на них пока еще совершенно заоблачна, что не позволяет говорить о них как о среде для iSCSI.
Скорость FC для наиболее распространенных FC-устройств равна 2 и 4Gb/s, что формально вдвое-вчетверо выше. Однако в условиях “реальной жизни” наличие на устройстве порта 4Gb/s не делает скорость работы устройства вчетверо выше, чем с портом 1Gb/s.

Что необходимо для использования iSCSI:

Для построения простейшей SAN необходимо наличие дискового массива с поддержкой интерфейса iSCSI (например любой NetApp FAS), отдельного сегмента сети передачи данных (несмотря на то, что траффик iSCSI может идти и по обычной “офисной” LAN, более грамотно выделить его в отдельную сеть), свободных Ethernet портов в серверах или специального iSCSI адаптера, а так же программный компонент “Initiator” под ОС серверов.

Где применять iSCSI:

  • Для замены DAS - Direct Attached Storages - собственных дисков серверов.
  • Для построения SAN “с нуля”, особенно в условиях ограниченного бюджета.
  • Для создания протяженной, распределенной SAN, в том числе “катастрофоустойчивых” ее вариантов.

Где не применять iSCSI:

  • Для приложений, заведомо сильно загружающих канал передачи данных от дисков.
  • Для high-end приложений, таких как крупные enterprise базы данных, с предельными требованиями по латентности и быстродействию.

Предлагаю рассмотреть пару кейсов.

Вариант 1 (Small and Medium Business)

Небольшая компания стремится внедрить SAN с единым дисковым массивом для группы своих серверов баз данных. Используемые платформы: Oracle for Linux и MS SQL на Windows Server. Суммарное количество серверов - 6, прогнозируется рост в течении года до 10 серверов суммарно. Загрузка серверов по процессорам невелика. Сильно загруженная база данных (CPU time >85%) в настоящее время только одна.
При рассмотрении проекта было предложено два варианта: FC и iSCSI.

Суммарная цена решения с FC складывается из:

HBA QLogic QLA2440 - 1038$ * 6 серверов

6228$
В перспективе + 4 шт 4152$
FC Switch Qlogic SANbox 5600 12port 5000$
GBIC SW LC - 150$ * 10 1500$
Кабеля FC Optical LC-LC 5m - 66$ *11 726$
Работа по инсталляции и настройке FC - 300$/h *3 900$
Итого (без учета дискового массива): 18560$

Суммарная цена решения с iSCSI:

Gigabit Ethernet interface встроен в 4 из 6 серверов, в новых серверах GigE также присутствует по умолчанию.
Для двух старых серверов GigE adapter устанавливается.
Intel PRO/1000MT Server Adapter - 80$ * 2

160$
Cisco Catalyst 2960 24 port Gigabit Ethernet switch 3300$
На серверах работает MS iSCSI Initiator и Linux iSCSI initiator (бесплатно) 0$
Для одного сильно загруженного сервера рекомендуется iSCSI HBA
Qlogic QLA4050C
1130$
Кабеля Ethernet Cat 5e 5m - 2$ * 11 22$
Работа по инсталляции и настройке Ethernet и iSCSI - 100$/h *3 300$
Итого (без учета дискового массива): 4912$

Как мы видим, с использованием iSCSI поставленная задача полностью решена с бюджетной экономией более чем 3,7 раза.
Причем остается обсуждаемым вопрос необходимости в данной конфигурации дорогого (~60% бюджета) многопортового свитча Cisco, вполне возможно применить гораздо менее дорогое оборудование для организации работы 6 портов.

Вариант 2 (Enterprise)

Крупная компания стремится оптимизировать расходы на развитие крупной SAN системы из трех десятков серверов приложений, почты и баз данных. В настоящее время все сервера подключены в FC-SAN, и используют несколько FC-массивов разных производителей. Ряд серверов относятся к business-critical, остальные же - относительно малозагруженные сервера департаментов, почтовая система и сервера группы разработки и тестирования.
Недавно компания пережила ряд проблем, связанных с выходами из строя в рабочее время FC-фабрики и некоторых дисковых массивов. Была поставлена задача повысить доступность данных путем подключения всех серверов по дублированным fault-tolerance путям и замены дискового массива на более современный, с объединением нескольких групп хранения в единое пространство.

Однако при рассмотрении проекта стало ясно, что оснащать значительную часть серверов вторым FC-адаптером финансово затратно, и при этом избыточно с точки зрения производительности. При этом часть departmental-серверов в low-profile корпусах для монтирования в стойку не имеют достаточно места для установки второго адаптера, и требуют закупки двухпортового FC HBA.

Была выделена группа 10 business-critical серверов, и 20 серверов среднего уровня готовности. Часть FC-адаптеров из группы серверов среднего уровня готовности были перенесены в business critical сервера, и все они были подключены по двум портам iSCSI (сервера среднего уровня готовности) и FC (business-critical сервера).

Первоначальный проект FC-SAN with fault tolerance:

QLogic QLA2440 - 1038$ * 15 серверов +
QLogic QLA2462 - 1971$ * 15 серверов (двухпортовые)

45135$
Brocade Silkworm 4100 32port FC Fabric - 30015$ * 2 60030$
GBIC SW LC - 150$ * 64 9600$
Кабеля FC Optical LC-LC 10m - 77$ * 64 2310$
Работа по инсталляции и настройке FC - 1000$/day * 5 5000$
Итого (без учета дискового массива): 122075$

Вариант с использованием iSCSI:

Intel PRO/1000 MT DualPort - 140$ * 20

2800$
Brocade Silkworm 3850 16 port - 10212$ * 2 20424$
GBIC SW LC - 150$ * 22 3300$
Кабеля FC Optical LC-LC 10m - 77$ * 22 1694$
Cisco Catalyst 2960 24 port Gigabit Ethernet switch - 3300$ * 2 6600$
Кабеля Ethernet Cat 5e 10m - 2$ * 40 80$
Работа по инсталляции и настройке Ethernet и iSCSI - 500$/day * 5 2500$
Итого (без учета дискового массива): 37398$

Как видно из сметы, поставленная задача обеспечить fault tolerance выполнена во втором случае с более чем трехкратной экономией средств, причем функциональность IT системы не пострадала.

Что почитать еще:

Немного outdated (2004 год), но все еще показательный по результатам и интересный репорт независимой аналитической компании ESG lab:
“iSCSI SAN: a validation study”

Общий обзор состояния индустрии на 2006 год в области IP-SAN:
“ESG Analysis – The State of iSCSI-based IP SAN 2006″

Fibre Channel and iSCSI Performance Comparison for DSS Workloads Using SQL Server 2005
Yogesh Manocha, and Ian Breitner
Network Appliance, Inc., May 2006, TR-3476

Performance Study of iSCSI in an OLTP-Based. Oracle 9i RAC Database Environment with. NetApp iSCSI Filers.
By: Giovanni Brignolo, Sankar Bose – Network Appliance, Inc.
Theodore Haining, Srinivas Maturi, Xiaoping Li – Oracle Corporation
Robin Bhagat, Samdeep Nayak, Robert Ortega – Adaptec Corporation
November 11, 2004

Technology Validation of Microsoft Exchange on iSCSI Storage
Network Appliance, Inc. and Cisco Systems, Inc.
February 2006, TR-3421

Example Proof of Concept for Microsoft Exchange Running with FC or iSCSI on a Network Appliance MetroCluster
Richard Jooss | Network Appliance | May 2005 | TR 3412

Techtarget.com All-in-One Buying Guide: Scaling Storage Networks

IP SAN FAQ

Оставить комментарий

20/0.147

Данный блог не спонсируется, не аффилирован, и не санкционирован компанией NetApp, Inc. Излагаемая в этом блоге точка зрения выражает мнение исключительно его автора и может не совпадать с позицией NetApp, Inc.

This content is not endorsed, sponsored or affiliated with NetApp, Inc. The views expressed in this blog are solely those of the author and do not represent the views of NetApp, Inc.