iSCSI, Internet Small Computer System Interface — протокол для организации хранения данных, предназначенный для запуска SCSI при помощи сетевого соединения (чаще всего Ethernet). В статье рассмотрим принцип его работы, особенности, преимущества, а также подскажем, как настроить iSCSI-протокол.
Для понимания принципа работы iSCSI нужно более подробно изучить его структуру. Основными компонентами здесь являются инициаторы и цели. Эта терминология достаточно проста. Инициаторами называются хосты, которые устанавливают соединение по iSCSI. А цели (также используется понятие «таргеты» от англ. target) — это те хосты, которые принимают такое соединение. Таким образом, в качестве целей служат хранилища данных, с которыми выполняют связь хосты-инициаторы.
Связь устанавливается через TCP/IP, а iSCSI занимается обработкой команд SCSI и сбором данных, формируя пакеты. Далее происходит передача этих пакетов при помощи двухточечного соединения между локальным и удаленным хостом. iSCSI разбирает полученные пакеты и разделяет команды SCSI. Такая работа протокола и приводит к тому, что ОС видит хранилище не как удаленное, а как локальное устройство с возможностью его стандартного форматирования.
Инициаторы и цели в iSCSI идентифицируются при помощи специальных имен IQN (расширенные имена iSCSI) и EUI (расширенные 64-битные идентификаторы, используемые при работе по протоколу IPv6).
iqn.2003-02.com.site.iscsi:name23
. Цифры 2003-02, стоящие после iqn, обозначают год и месяц регистрации доменного имени site.com. Сами доменные имена в IQN, как видим, указываются в обратном порядке. Наконец, name23 — имя, присвоенное iSCSI конкретному хосту.eui.fe9947fff075cee0
. Видно, что перед нами шестнадцатеричное значение в формате IEEE. Причем верхние 24 бита идентифицируют определенную сеть или компанию (например, провайдера). Остальные же 40 бит служат для идентификации конкретного хоста в этой сети и являются уникальными.Каждая сессия выполняется в два этапа. Первый представляет собой аутентификацию по TCP. При успешной аутентификации выполняется второй этап — обмен данными между хостом-инициатором и хранилищем, который происходит через единое соединение, что исключает необходимость параллельного отслеживания запросов. После завершения приема-передачи данных соединение закрывается, что делается инструкцией iSCSI logout
.
При утрате блоков данных iSCSI предусматривает возможность их восстановления. Для этого в протоколе предусмотрены такие механизмы, как повтор передачи пакетов PDU, восстановление соединения, а также перезапуск сессии с одновременной отменой всех инструкций, которые не были выполнены. Безопасность пакетного обмена обеспечивается за счет использования протокола CHAP, который основан на передаче не самих конфиденциальных данных (например, пароля), а косвенной информации о них, что делается путем сопоставления хеша. Кроме того, все пакеты шифруются и проверяются на целостность, что обеспечивают протоколы IPsec, которые также являются частью iSCSI.
cloud
Различают три типа реализации iSCSI:
Добавим, что iSCSI также может использоваться в качестве расширения для организации RDMA, то есть удаленного прямого доступа к памяти. Преимуществом RDMA является передача данных без использования ресурсов операционных систем узлами сети, что обеспечивает высокую скорость обмена данными. В случае с iSCSI для соединения с хранилищем используется буферная память SCSI, что позволяет избежать создания промежуточных копий данных и исключить нагрузку на процессорные мощности. Такой вариант iSCSI сокращенно называют iSER, то есть расширение (Extension — E в аббревиатуре) iSCSI (iS) для обеспечения RDMA (последняя буква R).
Экономичность и повышенная производительность — не единственные плюсы протокола iSCSI. Отметим также:
Оптимальным устройством для работы протокола является неблокирующий коммутатор Gigabit Ethernet корпоративного уровня, который обеспечит достаточную скорость соединения. Само же подключение протокола iSCSI не представляет особых сложностей, однако эта процедура в Windows и Linux-подобных системах различается кардинально. И у нас уже есть готовые инструкции для обеих ОС:
У нас вы всегда можете заказать сетевой iSCSI-диск объемом от 0,25 до 30 Тб. Подробнее об услуге читайте на этой странице.
Добавим, что для обеспечения мультисерверного соединения с хранилищем лучше использовать технологию MPIO (многопутевой ввод-вывод). Она позволяет создавать избыточные пути, повышая отказоустойчивость соединения пользователей с хранилищем.
В статьях, посвященных сравнению этих двух протоколов, они нередко позиционируются, как конкурентные. Поэтому рассмотрим наиболее значимые различия между ними.
Хранилище iSCSI SAN (SAN расшифровывается, как Storage Area Network) — это более экономичное решение в сравнении с FC SAN. iSCSI предлагает лучшую производительность при передаче данных, к тому же для него не нужно использовать отдельное оборудование — работа iSCSI SAN строится на имеющемся сетевом оборудовании. Правда, есть одно исключение — для обеспечения максимальной производительности всё же потребуются адаптеры. А вот FC всегда требуется дополнительное оборудование — это коммутатор и адаптер шины.
Для наглядности свели ключевые различия между протоколами в таблицу:
iSCSI SAN |
Fibre Channel SAN |
|
Использование в действующей сети |
Возможно |
Невозможно |
Скорость передачи данных |
от 1 до 100 Гбит/сек |
от 2 до 32 Гбит/сек |
Можно ли построить на имеющемся оборудовании |
Да |
Нет |
Управление потоком передачи данных |
Нет защиты от повторной передачи пакетов |
Надежное |
Сетевая изоляция |
Нет |
Есть |
Выгодные тарифы на облачные серверы
Как видно из сравнительной таблицы, у каждого протокола свои особенности, поэтому стоит подходить к выбору исходя из задач вашего хранилища. А если кратко, то выбор iSCSI как основного способа организации хранилища полностью оправдывает себя в тех случаях, когда нужно оптимизировать затраты и обеспечить простоту настройки и использования протокола. С другой стороны, FC может предложить низкую задержку, удобное масштабирование, а также этот протокол лучше подходит для организации разветвленного хранилища.