iSCSI представляет собой технологию (Internet Small Computer System Interface), предназначенную для передачи данных хранения по сетевым каналам. Этот протокол транспортирует команды SCSI через TCP/IP-соединение, как правило, используя Ethernet-инфраструктуру. Основное назначение iSCSI - обеспечение работы распределенных систем хранения информации.
Наиболее типичной реализацией является работа через TCP/IP поверх Ethernet. Также существует расширенная версия протокола под названием iSER (iSCSI Extensions for RDMA), которая обеспечивает прямой доступ к памяти удаленного устройства. Главная задача iSER заключается в организации передачи данных напрямую в буферы SCSI без создания промежуточных копий и минимальной нагрузки на процессор.
Архитектура iSCSI-хранилищ
Компоненты системы инициации
Система хранения данных iSCSI (SAN) функционирует на базе Ethernet TCP/IP третьего уровня. Технология преобразует команды SCSI в пакеты TCP/IP, которые затем инкапсулируются в Ethernet-фреймы. Благодаря этому, инициатор и целевая система могут обмениваться SCSI-командами через TCP/IP-сети. По сути, iSCSI создает виртуальное подключение SCSI-устройств через локальную сеть.
В состав аппаратной части iSCSI SAN входят три ключевых элемента:
- специализированные сетевые карты для работы с iSCSI (инициаторы)
- стандартные коммутаторы Ethernet
- целевые сетевые адаптеры на внешних дисковых массивах
Организация целевого подключения
Порты iSCSI могут быть реализованы тремя способами. Наиболее распространенный метод предполагает использование программного инициатора, где все вычислительные операции выполняются центральным процессором сервера.
Альтернативный подход предусматривает разделение нагрузки TCP/IP между сетевой картой (80% обработки) и стеком TCP/IP хоста (обработка исключений).
Третий вариант подразумевает полную выгрузку обработки TCP/IP на сетевую карту. С развитием многоядерных процессоров необходимость в аппаратной разгрузке TCP/IP существенно снизилась.
В iSCSI-среде LUN представляют собой логические номера дисковых устройств или их разделов. Инициатор взаимодействует с исполнителем для установления соединения с конкретными LUN.
Взаимодействие с iSCSI: ключевые аспекты работы протокола
Система идентификации в iSCSI
Адресация хостов и портов целевого хранилища строится на базе TCP/IP. Для уникальной идентификации инициаторов и целевых устройств используются специализированные форматы именования: IQN (iSCSI Qualified Name) или EUI (Extended Unique Identifier).
Организация сеансов связи
Работа iSCSI-сеанса включает две основные стадии: этап авторизации (Login Phase) и фазу полнофункционального взаимодействия (Full Feature Phase).
Этап авторизации необходим для верификации прав доступа и согласования рабочих параметров между инициатором и целевым устройством. При успешной проверке доступа целевое устройство предоставляет разрешение на подключение, при неудаче - TCP-соединение прерывается.
После завершения авторизации начинается основная фаза работы. При наличии нескольких TCP-подключений iSCSI требует, чтобы каждая пара "команда/ответ" использовала одно и то же TCP-соединение. Это обеспечивает выполнение операций записи и чтения без необходимости отслеживания маршрутов запросов по различным каналам.
Завершение сеанса происходит через команду iSCSI logout, которая содержит информацию о причинах окончания сессии и указывает конкретный TCP-канал для закрытия в случае ошибки.
Механизмы обработки неполадок
Для надежной работы iSCSI предусматривает буферизацию команд у инициатора и целевого устройства для подтверждения их выполнения. Также реализована возможность восстановления потерянных блоков данных IP-пакетов (PDU).
Средства диагностики и восстановления включают:
- обнаружение проблем и повторную передачу утраченных PDU на уровне сеанса
- попытки восстановления поврежденных TCP-каналов обоими узлами iSCSI
- при сбое сеанса система закрывает все TCP-подключения, останавливает текущие задачи, отменяет невыполненные SCSI-команды и перезапускает сессию
Защитные механизмы протокола
Основные методы обеспечения безопасности:
- CHAP (Challenge-Handshake Authentication Protocol) - алгоритм аутентификации, передающий не сам пароль, а производные данные
- IPsec (Internet Protocol Security) - комплекс протоколов, обеспечивающий аутентификацию, проверку целостности и шифрование IP-пакетов
Сильные и слабые стороны iSCSI
Протокол отличается оптимальным соотношением производительности блочного хранилища и стоимости - это его главное преимущество. Дополнительные плюсы включают широкую поддержку основными операционными системами и гипервизорами, возможность работы как на стандартных сетевых адаптерах, так и на специализированных HBA.
Большинство корпоративных систем хранения данных поддерживают iSCSI, что делает его популярным выбором для Tier-2 приложений, где требуется хорошая производительность, но не на максимальном уровне. Протокол также широко используется в облачных инфраструктурах для блочного хранения данных через Ethernet.
По сравнению с главным конкурентом - Fibre Channel, iSCSI имеет немного большую задержку. Однако FC превосходит iSCSI по надежности и производительности, будучи при этом более дорогим решением.
Сравнение технологий хранения данных: iSCSI и альтернативы
Противопоставление iSCSI и Fibre Channel
Сети хранения данных iSCSI SAN функционально схожи с Fibre Channel (FC), но имеют принципиальное различие в подходе к соединениям. FC использует детерминированный протокол второго уровня, требующий ручной настройки и предварительного определения всех подключений. В отличие от него, iSCSI базируется на автоматизированном недетерминированном протоколе TCP/IP, обеспечивающем самообнаружение устройств, маршрутизацию и коммутацию.
Сравнение с сетевым хранилищем NAS
Трафик iSCSI может транслироваться как по общей сети, так и по выделенной инфраструктуре хранения данных. Однако iSCSI не совместим с файловым доступом NAS или объектным хранилищем из-за различий в используемых транспортных протоколах.
Создание инфраструктуры iSCSI SAN
Система iSCSI представляет собой экономически выгодную замену традиционной FC SAN, для которой необходимо специализированное оборудование, включая выделенные хост-адаптеры шины и коммутаторы. Инфраструктура iSCSI SAN может быть развернута на существующей сетевой базе без необходимости приобретения дополнительного оборудования.
Благодаря использованию универсального протокола TCP/IP, различные фирменные устройства хранения данных в iSCSI SAN остаются совместимыми между собой. Рекомендуется применять неблокирующие коммутаторы Gigabit Ethernet корпоративного уровня, поскольку менее производительные устройства не поддерживают одновременные соединения между несколькими портами на максимальной скорости проводной сети, что может привести к потере пакетов без уведомления.
Подключения 1GbE к коммутатору Ethernet для доступа к дисковым массивам подвержены риску отказа канала. Для создания нескольких путей от каждого сервера-инициатора iSCSI к дисковому массиву оптимальным решением является использование технологии многопутевого ввода-вывода (MPIO).
Итоговое сравнение технологий
При выборе между двумя ведущими технологиями хранения данных - Fibre Channel и iSCSI - следует ориентироваться на конкретные задачи. Если требуется минимальная задержка, высокая масштабируемость и поддержка большого количества узлов в сети, предпочтительным выбором будет FC. Когда крайне низкая задержка не является критичной, а важны простота реализации и экономическая эффективность, более подходящим вариантом окажется iSCSI.