Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

iSCSI-протокол: как работает, для чего используется и как подключить

Роман Андреев
Роман Андреев
Технический писатель
27 февраля 2023 г.
1663
6 минут чтения
Средний рейтинг статьи: 5

iSCSI, Internet Small Computer System Interface — протокол для организации хранения данных, предназначенный для запуска SCSI при помощи сетевого соединения (чаще всего Ethernet). В статье рассмотрим принцип его работы, особенности, преимущества, а также подскажем, как настроить iSCSI-протокол.

Принцип работы iSCSI

Для понимания принципа работы iSCSI нужно более подробно изучить его структуру. Основными компонентами здесь являются инициаторы и цели. Эта терминология достаточно проста. Инициаторами называются хосты, которые устанавливают соединение по iSCSI. А цели (также используется понятие «таргеты» от англ. target) — это те хосты, которые принимают такое соединение. Таким образом, в качестве целей служат хранилища данных, с которыми выполняют связь хосты-инициаторы.

Связь устанавливается через TCP/IP, а iSCSI занимается обработкой команд SCSI и сбором данных, формируя пакеты. Далее происходит передача этих пакетов при помощи двухточечного соединения между локальным и удаленным хостом. iSCSI разбирает полученные пакеты и разделяет команды SCSI. Такая работа протокола и приводит к тому, что ОС видит хранилище не как удаленное, а как локальное устройство с возможностью его стандартного форматирования.

Аутентификация и передача данных

Инициаторы и цели в iSCSI идентифицируются при помощи специальных имен IQN (расширенные имена iSCSI) и EUI (расширенные 64-битные идентификаторы, используемые при работе по протоколу IPv6).

  • Пример IQN: iqn.2003-02.com.site.iscsi:name23. Цифры 2003-02, стоящие после iqn, обозначают год и месяц регистрации доменного имени site.com. Сами доменные имена в IQN, как видим, указываются в обратном порядке. Наконец, name23 — имя, присвоенное iSCSI конкретному хосту.
  • Пример EUI: eui.fe9947fff075cee0. Видно, что перед нами шестнадцатеричное значение в формате IEEE. Причем верхние 24 бита идентифицируют определенную сеть или компанию (например, провайдера). Остальные же 40 бит служат для идентификации конкретного хоста в этой сети и являются уникальными.

Каждая сессия выполняется в два этапа. Первый представляет собой аутентификацию по TCP. При успешной аутентификации выполняется второй этап — обмен данными между хостом-инициатором и хранилищем, который происходит через единое соединение, что исключает необходимость параллельного отслеживания запросов. После завершения приема-передачи данных соединение закрывается, что делается инструкцией iSCSI logout.

Обработка ошибок, безопасность

При утрате блоков данных iSCSI предусматривает возможность их восстановления. Для этого в протоколе предусмотрены такие механизмы, как повтор передачи пакетов PDU, восстановление соединения, а также перезапуск сессии с одновременной отменой всех инструкций, которые не были выполнены. Безопасность пакетного обмена обеспечивается за счет использования протокола CHAP, который основан на передаче не самих конфиденциальных данных (например, пароля), а косвенной информации о них, что делается путем сопоставления хеша. Кроме того, все пакеты шифруются и проверяются на целостность, что обеспечивают протоколы IPsec, которые также являются частью iSCSI.

Типы реализации iSCSI

Различают три типа реализации iSCSI:

  1. С обработкой при помощи CPU хоста-инициатора.
  2. С разделенной нагрузкой TCP/IP, когда большинство пакетов, кроме исключений, обрабатываются на стороне хранилища. Исключения же обрабатываются хостом-инициатором.
  3. С полной выгрузкой TCP/IP, когда силами хранилища обрабатываются все пакеты данных.

Добавим, что iSCSI также может использоваться в качестве расширения для организации RDMA, то есть удаленного прямого доступа к памяти. Преимуществом RDMA является передача данных без использования ресурсов операционных систем узлами сети, что обеспечивает высокую скорость обмена данными. В случае с iSCSI для соединения с хранилищем используется буферная память SCSI, что позволяет избежать создания промежуточных копий данных и исключить нагрузку на процессорные мощности. Такой вариант iSCSI сокращенно называют iSER, то есть расширение (Extension — E в аббревиатуре) iSCSI (iS) для обеспечения RDMA (последняя буква R).

Плюсы iSCSI

Экономичность и повышенная производительность — не единственные плюсы протокола iSCSI. Отметим также:

  • Упрощение сетевого хранения за счет того, что протокол работает через устройства Gigabit Ethernet.
  • Удобство в поддержке сетевого хранилища, так как работа с iSCSI основана на тех же принципах, что и с TCP/IP. А значит, специалистам не придется переучиваться.
  • Совместимость сетевого оборудования. Поскольку основу хранилищ iSCSI составляет сетевая модель TCP/IP, практически любое сетевое оборудование, предназначенное для хранения, совместимо между собой и в рамках iSCSI.

Как подключить iSCSI

Оптимальным устройством для работы протокола является неблокирующий коммутатор Gigabit Ethernet корпоративного уровня, который обеспечит достаточную скорость соединения. Само же подключение протокола iSCSI не представляет особых сложностей, однако эта процедура в Windows и Linux-подобных системах различается кардинально. И у нас уже есть готовые инструкции для обеих ОС:

  • в этом руководстве вы найдете детальные инструкции по подключению iSCSI-диска с описанием различий между ОС Ubuntu / Debian и CentOS;
  • а здесь подробно рассказывается, как это делать в Windows (на примере Windows Server 2016).

У нас вы всегда можете заказать сетевой iSCSI-диск объемом от 0,25 до 30 Тб. Подробнее об услуге читайте на этой странице.

Добавим, что для обеспечения мультисерверного соединения с хранилищем лучше использовать технологию MPIO (многопутевой ввод-вывод). Она позволяет создавать избыточные пути, повышая отказоустойчивость соединения пользователей с хранилищем.

Различия между iSCSI SAN и FC SAN

В статьях, посвященных сравнению этих двух протоколов, они нередко позиционируются, как конкурентные. Поэтому рассмотрим наиболее значимые различия между ними.

Хранилище iSCSI SAN (SAN расшифровывается, как Storage Area Network) — это более экономичное решение в сравнении с FC SAN. iSCSI предлагает лучшую производительность при передаче данных, к тому же для него не нужно использовать отдельное оборудование — работа iSCSI SAN строится на имеющемся сетевом оборудовании. Правда, есть одно исключение — для обеспечения максимальной производительности всё же потребуются адаптеры. А вот FC всегда требуется дополнительное оборудование — это коммутатор и адаптер шины.

Для наглядности свели ключевые различия между протоколами в таблицу:

 

iSCSI SAN

Fibre Channel SAN

Использование в действующей сети

Возможно

Невозможно

Скорость передачи данных

от 1 до 100 Гбит/сек

от 2 до 32 Гбит/сек

Можно ли построить на имеющемся оборудовании

Да

Нет

Управление потоком передачи данных

Нет защиты от повторной передачи пакетов

Надежное

Сетевая изоляция

Нет

Есть

Заключение

Как видно из сравнительной таблицы, у каждого протокола свои особенности, поэтому стоит подходить к выбору исходя из задач вашего хранилища. А если кратко, то выбор iSCSI как основного способа организации хранилища полностью оправдывает себя в тех случаях, когда нужно оптимизировать затраты и обеспечить простоту настройки и использования протокола. С другой стороны, FC может предложить низкую задержку, удобное масштабирование, а также этот протокол лучше подходит для организации разветвленного хранилища.

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону