Раздел помощи SpaceWeb

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

12 авг, 2024

iSCSI (Internet Small Computer System Interface) – это сетевой протокол, который позволяет передавать команды SCSI через IP-сети. Он предоставляет доступ к удаленным хранилищам так, как если бы они были локально подключены к серверу. 

Особенности и преимущества протокола iSCSI  

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

Рассмотрим основные особенности iSCSI, которые делают его привлекательным выбором для множества сценариев:

  • Использование стандартных IP-сетей. iSCSI использует существующую IP-инфраструктуру, что позволяет избежать затрат на специализированное оборудование и сети, которые характерны для традиционных SAN (Storage Area Network). 
  • Прозрачность для приложений. Одно из главных преимуществ iSCSI – для операционных систем и приложений iSCSI-устройства выглядят как локальные диски. Это упрощает их интеграцию и использование, не требуя специальных драйверов или программного обеспечения.
  • Безопасность. iSCSI поддерживает несколько методов аутентификации и защиты данных. Протокол CHAP (Challenge Handshake Authentication Protocol) запускает проверку подлинности между инициатором и целевым устройством, предотвращая несанкционированный доступ. Кроме того, также возможно шифрование данных для защиты информации при передаче по сети.
  • Производительность. Современные IP-сети обеспечивают достаточную пропускную способность для большинства задач хранения данных. Благодаря этому iSCSI может предложить производительность, сравнимую с традиционными SAN, особенно при использовании аппаратного ускорения и оптимизированного оборудования.
  • Масштабируемость. iSCSI легко масштабируется путем добавления новых устройств хранения и узлов в сеть. Это делает его идеальным вариантом для растущих предприятий, где объем данных постоянно увеличивается. Масштабируемость iSCSI позволяет организациям гибко реагировать на изменения требований к хранению данных без значительных капитальных затрат.
  • Применение в виртуализации. iSCSI широко используется в средах виртуализации благодаря своей гибкости и возможности централизованного управления хранилищем данных. Виртуальные машины могут легко подключаться к iSCSI-устройствам, что упрощает их управление и переносимость между серверами.

Как работает iSCSI 

iSCSI работает за счет использования стандартных IP-сетей для передачи команд SCSI между устройствами. В этом процессе участвуют два основных компонента: инициатор и таргет. Инициатор – это клиентская сторона, обычно программное обеспечение на сервере. Таргет же – это серверная сторона, целевое устройство хранения данных, к которому необходимо подключиться.

Когда серверу требуется доступ к удаленному хранилищу, инициатор отправляет упакованные в IP-пакеты SCSI-команды через сеть. Они пересылаются через стандартные сетевые маршруты, например, Ethernet, к таргету. Тот, в свою очередь, получает эти пакеты, распаковывает их и выполняет содержащиеся команды.

Рассмотрим этот процесс более подробно. 

Инициализация и аутентификация

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

Идентификация устройств

В iSCSI инициаторы и таргеты идентифицируются с помощью специальных имен. Для этого используются:

  1. iSCSI-типизированные имена (iSCSI Qualified Names, IQN).
  2. Расширенный уникальный идентификатор (Extended Unique Identifiers, EUI).

IQN – это имена iSCSI, которые обеспечивают уникальную идентификацию узлов в сети.

Пример IQN: iqn.2023-07.com.example:storage.target01.

Где:

  • «iqn» указывает на iSCSI-типизированное имя.
  • «2024-07» – год и месяц регистрации домена владельцем.
  • «.com.example» – доменное имя владельца в обратном порядке (например, если домен «example.com», то в IQN он будет «com.example»).
  • «storage.target01» – необязательный идентификатор, который позволяет создавать уникальные имена для разных устройств или целей.

EUI, или расширенные 64-битные идентификаторы, – это другой формат именования устройств, который часто применяется при работе с протоколом IPv6.

Пример EUI: eui.02004567A425678D

Где:

  • «eui» указывает на формат – расширенный уникальный идентификатор.
  • «02004567A425678D» – 64-битный идентификатор из 16 символов. Как правило, он основан на MAC-адресах.

Этапы сессии

Каждая сессия iSCSI состоит из двух этапов. Сначала происходит аутентификация по TCP. Если аутентификация прошла успешно, начинается второй этап – обмен данными между инициатором и хранилищем. Он происходит через единое соединение, что упрощает процесс отслеживания запросов. По завершении передачи данных соединение закрывается командой iSCSI logout.

Передача данных

При передаче данных iSCSI использует TCP/IP. TCP гарантирует доставку пакетов без ошибок и в правильном порядке, что критически важно для сохранности данных. 

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

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

iSCSI предусматривает механизмы восстановления утраченных блоков данных, включая повторную передачу PDU, восстановление соединения и перезапуск сессии с отменой не выполненных инструкций. Безопасность обмена данными обеспечивается протоколом CHAP, который использует хеши вместо передачи конфиденциальных данных. Все пакеты дополнительно шифруются и проверяются на целостность с помощью протоколов IPsec, которые также входят в состав iSCSI.

Обработка данных

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

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

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

  1. Программная реализация с использованием CPU-хоста

В этом типе реализации обработка всех iSCSI-команд и пакетов данных выполняется центральным процессором (CPU) хоста-инициатора. Это самый простой и часто используемый метод, так как для него не нужно специализированное оборудование. Однако он может создавать значительную нагрузку на CPU, особенно при высоких объемах трафика, что может снизить общую производительность системы.

  1. Реализация с разделенной нагрузкой TCP/IP

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

  1. Полная выгрузка TCP/IP на хранилище

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

  1. Расширение iSCSI для RDMA (iSER)

Помимо стандартных типов реализации, iSCSI может использоваться в качестве расширения для организации RDMA (Remote Direct Memory Access) – удаленного прямого доступа к памяти. Он позволяет передавать данные между узлами сети напрямую в память, минуя процессор и операционную систему, что значительно повышает скорость обмена данными и снижает задержки. В случае iSCSI для соединения с хранилищем используется буферная память SCSI. Такой подход помогает избежать создания промежуточных копий данных и уменьшить нагрузку на CPU.

Этот вариант реализации iSCSI называется iSER (iSCSI Extensions for RDMA) – расширение iSCSI для обеспечения RDMA. Он предлагает более эффективное и быстрое взаимодействие с хранилищем, что делает его идеальным для высокопроизводительных вычислительных сред и систем, которым необходимы минимальные задержки.

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

FC SAN (Fibre Channel Storage Area Network) и iSCSI SAN (Internet Small Computer System Interface Storage Area Network) – два распространенных подхода к созданию сетей хранения данных. Они предоставляют централизованное хранилище для серверов и клиентов, но имеют значительные различия в технологии, производительности и стоимости. 

Рассмотрим основные различия между FC SAN и iSCSI SAN:

Параметр

FC SAN

iSCSI SAN

Технология

Использует протокол Fibre Channel

Использует протокол iSCSI поверх TCP/IP

Инфраструктура

Требует специализированного оборудования и кабелей

Работает на существующей IP-сети

Скорость

Высокая скорость передачи данных (16-32 ГБ/c и выше)

Средняя скорость передачи данных (1-10 ГБ/c)

Затраты

Высокие затраты на оборудование и обслуживание

Более низкие затраты благодаря использованию IP

Простота установки

Сложная установка и настройка

Проще в установке и настройке

Масштабируемость

Хорошая масштабируемость, но дорогая

Легко масштабируется за счет использования IP-сетей

Совместимость

Требует совместимого оборудования

Высокая совместимость с существующими сетями

Надежность

Высокая надежность и производительность

Зависит от надежности IP-сети

Применение

Используется в крупных предприятиях и дата-центрах

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

Управление

Требует специальных навыков

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

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

Заключение

В этой статье мы рассказали про протокол iSCSI, его особенности, принципы работы и типы реализации. 

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