- Особенности и преимущества протокола iSCSI
- Как работает iSCSI
- Типы реализации iSCSI
- Различия между FC SAN и iSCSI SAN
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 инициаторы и таргеты идентифицируются с помощью специальных имен. Для этого используются:
- iSCSI-типизированные имена (iSCSI Qualified Names, IQN).
- Расширенный уникальный идентификатор (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 может быть реализован несколькими способами, каждый из которых предлагает различные уровни обработки данных и нагрузки на систему. Эти различия влияют на производительность и эффективность системы, позволяя выбирать наиболее подходящий вариант для конкретных нужд и инфраструктуры
-
Программная реализация с использованием CPU-хоста
В этом типе реализации обработка всех iSCSI-команд и пакетов данных выполняется центральным процессором (CPU) хоста-инициатора. Это самый простой и часто используемый метод, так как для него не нужно специализированное оборудование. Однако он может создавать значительную нагрузку на CPU, особенно при высоких объемах трафика, что может снизить общую производительность системы.
-
Реализация с разделенной нагрузкой TCP/IP
При этом подходе большинство пакетов данных обрабатываются на стороне хранилища, тогда как исключения и специфические случаи обрабатываются хостом-инициатором.
-
Полная выгрузка TCP/IP на хранилище
Этот тип реализации предполагает, что все пакеты данных обрабатываются исключительно силами хранилища. Полная выгрузка позволяет максимально снизить нагрузку на хост и обеспечить высокую производительность, что особенно полезно в крупных и высоконагруженных системах.
-
Расширение 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 остается популярным выбором для организаций, стремящихся оптимизировать свои ресурсы и повысить эффективность управления данными.