ISCSI | это… Что такое ISCSI?
iSCSI
Протокол iSCSI (Internet Small Computer System Interface) — это протокол, который базируется на TCP/IP и разработан для установления взаимодействия и управления системами хранения данных, серверами и клиентами.
iSCSI описывает:
- Транспортный протокол для SCSI, который работает поверх TCP.
- Новый механизм инкапсуляции SCSI команд в IP сети.
- Протокол для нового поколения систем хранения данных, которые будут использовать «родной» TCP/IP.
Протокол iSCSI является стандартизованным по RFC 3720. Существует много коммерческих и некоммерческих реализаций этого протокола.
Системы на основе iSCSI могут быть построены на любой достаточно быстрой физической основе, поддерживающей протокол IP, например Gigabit Ethernet или 10G Ethernet. Использование стандартного протокола позволяет применять стандартные средства контроля и управления потоком, а также существенно уменьшает стоимость оборудования по сравнению с сетями Fibre Channel.
Содержание
|
Архитектура
ISCSI — клиент-серверная архитектура. Сервер (принимающий запросы) называется iSCSI target, клиент — iSCSI initiator.
Сервер (target) может быть реализован как программно, так и аппаратно. Программная реализация принимает запросы по сети, обрабатывает их, читает (записывает) нужные данные на носитель, отдаёт информацию (результат) обратно по сети. Так как эти операции при высокой интенсивности запросов занимают существенное время процессора, были созданы аппаратные iSCSI HBA (адаптеры), которые совмещают в себе сетевую карту Ethernet и SCSI-контроллер.
iSCSI работает на блочном уровне. Объектом, к которому предоставляется доступ, является область данных, интерпретируемая инициатором как блочное устройство (диск). Доступ является монопольным (за исключением специально рассчитанных на это файловых систем и файловых систем в режиме «только для чтения»).
Для адресации по сети и клиент и сервер имеют свои адреса, которые должны быть уникальными.
Адрес может иметь один из двух видов: iqn и eui.
- iqn-адрес (англ. iSCSI Qualified Name, квалифицированное iSCSI-имя) — …
- eui (IEEE EUI-64 format)…
Для iqn используется (в теории, см ниже) следующий формат адреса имени:
iqn.2001-04.com.example:storage.tape1.sys1.xyz ~ ~~ ~ 1 2 3 4
- iqn — указание на тип
- Дата регистрации доменного имени в формате год-месяц (ГГГГ-ММ)
- Доменное имя в реверсивной форме (org.wikimedia.commons для commons.wikimedia.org)
- Заданное (в пределах домена) имя ресурса в произвольной форме.
Отделяется от первых трёх частей двоеточием.
Ben Rockwood в руководстве «A Quick Guide to iSCSI on Linux» пишет, что он не знает инициаторов, которые бы действительно использовали бы DNS для разрешения имени цели (target) из iqn; в большинстве случаев IP-адрес (доменное имя) сервера запрашивается отдельно, а весь iqn используется как единая строка идентификации ресурса[1].
Для обнаружения списка доступных устройств на iSCSI цели (сервере) используется технология обнаружения (discovery, auto-discovery). Это сервис, слушающий на порте tcp (обычно, 3260) запросы клиентов и отдающий им список доступных целей. Такой сервис называют
порталом (англ. portal).Помимо порталов, для поиска доступных целей может так же использоваться iSNS (Internet storage name service).
Дополнительно, iSCSI поддерживает multipath.
Примеры реализаций
Инициаторы (клиенты)
- Для GNU/Linux (есть пакет в Debian GNU/Linux) — Open-iSCSI [1]
Присутствует в стандартной сборке Linux с версии 2. 6.16.
- Microsoft iSCSI Software Initiator Version 2.08 (для Windows 2000/XP/2003 Server)
- Starport — бесплатный Windows инициатор от Starwind Software
Программный сервер (target)
- Реализация target для Linux (позволяет экспортировать устройство или файл как iSCSI target)
- Мощный бесплатный iSCSI target от Starwind Software
Также существует монолитный проект на основе BSD — OpenNAS,
На основе FreeBSD 7.2 сделан FreeNAS (может выступать как в качестве target, так и initiator). Сайт проекта FreeNAS
Аналог FreeNAS, но на основе Linux — проект Openfiler (также может выступать как в качестве target, так и initiator)
Преимущества
- Консолидация систем хранения данных
- Резервирование данных
- Кластеризация серверов
- Репликация
- Восстановление в аварийных ситуациях
- Географическое распределение SAN
- QoS
- Безопасность
Недостатки
…основным препятствием для распространения Ethernet как базовой технологии построения сетей хранения данных является относительно большое время задержки (близкое к 75 микросекундам), которое возникает из-за особенностей стека TCP/ІР. В High-End системах при одновременном обращении к тысячам файлов это может стать серьёзной проблемой.
Ссылки
- Статья на IXBT.com «iSCSI и другие»
- Storage Networking Industry Association
Источники
Linux iSCSI HOWTO
Ошибка цитирования Для существующего тега <ref>
не найдено соответствующего тега <references/>
netberg | Главная
ИНФОРМАЦИЯ
Настройка iSCSI-target в кластере Windows Server 2012
В данном обзоре рассматривается конфигурация iSCSI Target в Windows Server 2012. Настройку будем производить на отказоустойчивом кластере (Failover Cluster) на базе сервера Demos R420 M2 .
Более подробно о подготовке и установке кластера Windows Server 2012. Перед дальнейшем прочтением и использованием материала настоятельно рекомендуется ознакомится с указанной статьей и иметь настроенный кластер.
Введение
Прежде чем говорить об iSCSI (Internet Small Computer System Interface), остановимся на типах доступа к информации по сети. Существуют два основных метода доступа — файловый и блочный.
К файловому методу относятся распространенные протоколы такие как NFS и CIFS (SMB). В этом случае доступ клиенту предоставляется непосредственно к файлу, хранящемуся на сервере (через общий сетевой ресурс).
При блочном доступе клиенту отдаются блоки диска сервера и клиент сам создает необходимую ему файловую систему на предоставленном блочном устройстве.
Устройства предоставляющие файловые доступ называют NAS (Network Atached Storage), а блочный – SAN (Storage Area Netowrk). Протокол iSCSI, передавая SCSI команды через IP сеть, предоставляет блочный доступ.
Терминология, используемая при работе с iSCSI:
- Таргет (Target) – iSCSI сервер, предоставляет доступ по протоколу iSCSI к своему диску.
- Инициатор (Initiator) – клиент iSCSI сервера.
- IQN (iSCSI qualified name) – имя таргета или инициатора длиной до 255 символов в следующем формате:
iqn. <year-mo>.<reversed_domain_name>:<unique_name>
где:
<year-mo> — год (year) и месяц (mo), когда был зарегистрирован домен;
<reversed_domain_name> — официальное имя домена, записанное в обратном порядке;
<unique_name> — произвольное имя, например, имя сервера.
- LUN (Logical unit number) — логические номера устройств, создаются на iSCSI-сервере и назначаются для блочного устройства.
Настройка Target iSCSI в Windows Server 2012
Добавление роли сервера
Перед настройкой роли iSCSI Target Server в кластере необходимо добавить роль iSCSI Target Server на каждый узел кластера с помощью мастера добавления ролей и компонентов в консоли Server Manager.
Рис. 1. Мастер добавления ролей и компонентов
Выделение дискового пространства
Так же необходимо определить дисковый ресурс для будущего iSCSI сервера. Диск добавляется в консоли Failover Cluster Manager.
Рис. 2. Failover Cluster Manager
Добавление роли кластера
Далее в консоли Failover Cluster Manager необходимо запустить мастер добавления ролей кластера и выбрать роль iSCSI Target Server.
Рис. 3. Select Role
На шаге Client Access Point укажите имя сервера и IP адрес для доступа клиентов.
Рис. 4. Client Access Point
На шаге Select Storage определяется диск, который необходимо заранее добавить в консоли Failover Cluster Manager.
Рис. 5. Select Storage
На шаге Confirmation подтверждаем конфигурацию.
Рис. 6. Confirmation
На последнем шаге можно ознакомиться с детальным отчетом.
Непосредственная настройка iSCSI target
Рис. 7. Summary
Настройка iSCSI таргета производится в консоли Server Manager.
Обратите внимание, что запуск консоли должен осуществляться на том же узле, который в данный момент является владельцем роли iSCSI Target Server в кластере.
В правой панели консоли Server Manager выберите File and Storage Services – iSCSI. Затем в меню TASKS выберите New iSCSI Virtual Disk…, запустится мастер создания нового виртуального iSCSI диска.
На шаге iSCSI Virtual Disk Location предлагается выбрать сервер и диск для виртуального iSCSI диска.
Рис. 8. iSCSI Virtual Disk Location
На следующем шаге введите имя виртуального iSCSI диска.
Рис. 9. iSCSI Virtual Disk Name
Укажите размер будущего диска.
Рис. 10. iSCSI Virtual Disk Size
Создаем новый iSCSI таргет.
Рис. 11. iSCSI Target
Введите имя нового таргета.
Рис. 12. Target Name and Access
На шаге Access Servers добавляются инициаторы iSCSI, которым вы хотите разрешить доступ к iSCSI серверу. Существуют несколько методов добавления инициатора.
Рис. 13. Add initiator ID
- Метод Query initiator computer for ID добавляет имя компьютера из Active Directory. Поддерживаются только версии Windows Server 2008 R2, Windows 7 или старше.
- Метод Enter a value for the selected type позволяет давать доступ любым инициаторам.
На этом шаге, при добавлении инициатора из Active Directory может возникнуть ошибка «Unable to determine IQN for <FQDN>». В этом случае IQN инициатора можно ввести вручную, выбрав метод Enter a value for the selected type. Например, чтобы узнать IQN инициатора на клиенте в Windows 2012 или Windows 8, следует в панели управления открыть iSCSI Initiator Properties и на вкладке Configuration в поле Initiator Name будет прописан требуемый IQN.
Рис. 14. Access Servers
По желанию можно задать аутентификацию.
Рис. 15. Enable Authentication
На шаге Confirmation подтверждаем конфигурацию.
Рис. 16. Confirmation
Последний шаг – результаты работы мастера.
Рис. 17. Results
На этом настройка iSCSI сервера закончена.
Подключение к iSCSI Target
Для подключения к iSCSI Target в Windows 8 в панели управления откройте iSCSI Initiator Properties, на вкладке Targets в поле Target введите имя или IP адрес iSCSI сервера и нажмите Quick Connect.
Рис. 18. iSCSI Initiator Properties
Откроется окно Quick Connect, где сообщается об успешном подключении к таргету. Нажмите Done.
Рис. 19. Quick Connect
В результате этих настроек подключается новый диск, который необходимо инициализировать и отформатировать.
Рис. 20. Computer Management
Использование iSCSI диска ничем не отличается от использования диска, подключенного локально.
- Узнайте последние новости.
- Наша страница «О нас» содержит дополнительную информацию о сайте, на котором вы находитесь, Хранилище.
- Если вам нужно, свяжитесь с нами, мы будем рады услышать от вас.
- Как использовать матрицу оценки рисков: бесплатный шаблон и руководство
Матрица оценки рисков определяет угрозы и уязвимости, которые представляют наибольший потенциал для нарушения работы или повреждения.
Используйте…
- Rubrik Cyber Recovery добавляет план тестирования и криминалистическую экспертизу
Rubrik Cyber Recovery, который будет выпущен как часть своего облака безопасности, обеспечивает тестирование плана восстановления, клонирование моментальных снимков для …
- Гарантии отказоустойчивости данных предлагают новый вид гарантии
Гарантии устойчивости данных от Druva, Rubrik и AvePoint предлагают гарантии данных на сумму до 10 миллионов долларов, но эксперты предупреждают …
- Полное, инкрементное и дифференциальное: сравнение типов резервного копирования
Сравните полное, инкрементное и дифференциальное резервное копирование, а также новые типы резервного копирования, синтетические и инкрементные, навсегда, чтобы…
- Объяснение типов резервного копирования: полное, инкрементное, дифференциальное и т.
д.
Существует несколько различных типов резервного копирования. Вот как выбрать наилучший способ защиты данных и надлежащего восстановления…
- Arcitecta представляет быстрое восстановление петабайт данных
Новый Mediaflux Point in Time от Arcitecta позволяет клиентам быстро восстановиться после атаки программы-вымогателя, даже если они …
- Изучите различные варианты использования озера данных и хранилища данных
Озера данных и хранилища данных хранят большие данные. При выборе озера или склада учитывайте такие факторы, как стоимость и то, что…
- Классические и квантовые вычисления: в чем разница?
Классические и квантовые компьютеры имеют много различий в своих вычислительных возможностях и рабочих характеристиках. Знай их …
- Топ-5 колокейшн провайдеров 2023 года
Колокейшн-компании предлагают широкий спектр возможностей и услуг, которые могут помочь организациям сократить или исключить расходы .
..
- Fibre Channel (FC) — протокол высокоскоростной передачи данных, обеспечивающий доставку необработанных блочных данных без потерь. FC в основном используется для подключения хранилища к серверам в сетях хранения данных (SAN). Сеть FC представляет собой «коммутируемую фабрику», названную так из-за того, что коммутаторы в сети работают синхронно, фактически как «один большой коммутатор». Сети FC обычно работают на оптоволоконных кабелях.
- Serial Attached SCSI (SAS) — двухточечный последовательный протокол, который перемещает данные в устройства хранения, такие как жесткие диски или ленточные накопители, и из них. Он использует стандартный набор команд SCSI.
- SCSI через TCP/IP (iSCSI) — протокол транспортного уровня, работающий по протоколу управления транспортировкой (TCP).
iSCSI позволяет передавать данные SCSI на уровне блоков между «инициатором» iSCSI и устройством хранения, используя обычные сетевые соединения TCP/IP.
- Требование специализированного, редко используемого оборудования для центров обработки данных
- Быть вообще вне мейнстрима
- Требуются значительные изменения в сетевой инфраструктуре центра обработки данных
- Привязка клиента к одному поставщику
- Расширяет NVMe по всему центру обработки данных с помощью простой и эффективной сети TCP/IP
- Обеспечивает дезагрегацию по зонам и регионам доступности центра обработки данных
- Использует транспорт TCP/IP для снижения средних и конечных задержек в высокопараллельном программном стеке NVMe
- Не требует внесения изменений в сетевую инфраструктуру или серверы приложений
- Обеспечивает высокопроизводительное решение NVMe-oF с такой же производительностью и задержкой, что и твердотельные накопители с прямым подключением (DAS)
- Использует эффективный и оптимизированный программный стек блочного хранилища, оптимизированный для NVMe и существующих центров обработки данных
- Обеспечивает параллельный доступ к хранилищу, оптимизированному для современных многоядерных серверов приложений/клиентов
- Поддерживает основанное на стандартах решение, которое будет иметь общеотраслевую поддержку
404: Страница не найдена
Место храненияСтраница, которую вы пытались открыть по этому адресу, похоже, не существует. Обычно это результат плохой или устаревшей ссылки. Мы приносим свои извинения за доставленные неудобства.
Что я могу сделать сейчас?
Если вы впервые посещаете TechTarget, добро пожаловать! Извините за обстоятельства, при которых мы встречаемся. Вот куда вы можете пойти отсюда:
ПоискПросмотр по категории
Аварийное восстановление
Резервное копирование данных
Дата-центр
Понимание iSCSI | Преимущества и недостатки
Появление полностью флэш-накопителей (SSD) изменило функцию хранения в корпоративных и облачных вычислениях. Твердотельные накопители предлагают значительно улучшенную производительность хранения по сравнению с традиционными вращающимися жесткими дисками (HDD). Поэтому неудивительно, что 18 % предприятий в настоящее время используют системы хранения данных на флэш-дисках, а отраслевые исследования прогнозируют, что к 2022 году их перейдут еще 14 %. Рынок систем хранения данных на основе флэш-памяти быстро растет на 11 % в год. Внедрение технологий ускорения вычислений, более современных приложений и более быстрых носителей данных заставляет архитекторов ИТ-инфраструктуры решать сложные задачи организации сети — передачи данных с носителей в приложение, которое в них нуждается.
Большая часть имеющейся в настоящее время инфраструктуры опирается на стандарт Internet Small Computer Systems Interface (iSCSI) — сетевую версию протокола шины SCSI — для связи хранилища с серверами. iSCSI передает команды SCSI по сети TCP/IP для предоставления доступа к устройствам хранения данных на уровне блоков. Сложность в том, что iSCSI — это последовательная технология. Поэтому он слишком медленный, чтобы приспособиться к массивно-параллельному характеру твердотельных накопителей. Энергонезависимая память (NVM) Express или NVMe — гораздо лучшее решение для этой рабочей нагрузки.
Однако и у NVMe есть недостатки. Например, устройства NVMe хороши тем, что обеспечивают производительность, но могут страдать от локального «сгущения» ресурсов хранения. Инновационный протокол NVMe over Fabrics (NVME-oF) будет хорошо работать в теории, но на практике еще не созданы различные реализации: Fibre Channel (FC), RDMA over Converged Ethernet (RoCE), InfiniBand, iWARP, TCP/IP. одинаковые по простоте использования и стоимости. Таким образом, это затрудняет выбор варианта. В отличие от этого, NVMe поверх TCP/IP лучше во всех отношениях: производительность, простота использования и экономичность, поскольку он использует стандартную сеть TCP/IP.
Обзор iSCSI
В течение многих десятилетий производители ИТ-оборудования удовлетворяли потребность в подключении устройств хранения данных к компьютерам. Начиная с 1990-х годов такие компании, как Apple и Microsoft, совместно работали над публикацией исходного стандарта SCSI X3.131-1986, известного как «SCSI-1», совместно с техническим комитетом X3T9 Американского национального института стандартов (ANSI). В этих усилиях отрасль извлекла выгоду из американского сленгового термина «грязный», который означает небрежное, непривлекательное поведение как иронический контрапункт блестящим возможностям технологии.
Основанный на транспортной модели с общей шиной, SCSI содержит набор стандартов для физического соединения и передачи данных между периферийными устройствами и компьютерами. Он определяет протоколы, команды и интерфейсы практически для любого периферийного устройства, но на практике он в основном использовался для жестких дисков.
Компьютеры и технологии хранения со временем становились больше и быстрее. В связи с увеличением требований к пропускной способности и расстоянию в отрасли было разработано несколько новых последовательных транспортов SCSI, в том числе:
Что такое iSCSI?
SCSI — буквально Интерфейс малых компьютерных систем. Этот протокол десятилетиями был стандартом де-факто для доступа компьютеров и серверов к хранилищам. Набор стандартов SCSI используется для передачи блоков данных на короткие расстояния с использованием различных последовательных и параллельных шин внутри компьютера. Широкое использование протокола управления передачей/Интернет-протокола (TCP/IP), который соединяет компьютерные системы с сетями TCP/IP, такими как Интернет, объединило SCSI и Интернет, создав iSCSI.
Чтобы понять iSCSI, сначала необходимо разобраться с основным протоколом SCSI. SCSI — это блочный набор команд, предназначенный для вариантов использования хранилища с прямым подключением (DAS). С помощью команд SCSI компьютер может отправлять инструкции для раскрутки носителя и выполнения операций чтения/записи данных. В SCSI клиент известен как «инициатор». Том хранилища, к которому он обращается, называется «целевым».
Доступ между инициатором и целью по протоколу SCSI включает в себя очередь команд. Инициатор отправляет команды для выполнения целью в очереди. Затем инициатор получает данные и подтверждения для каждой из поставленных в очередь команд. Для каждого соединения между инициатором и целью существует одна очередь.
Сравнение SCSI и iSCSI
iSCSI — это транспорт SCSI через TCP/IP, предназначенный для сценариев использования сетевых хранилищ (NAS). Таким образом, при использовании iSCSI соединение между инициатором и целью состоит из одного сокета TCP/IP, открытого одним потоком. Поскольку iSCSI является обновлением старого SCSI, вездесущий протокол хранения — компьютерные операционные системы (ОС) реализовали ту же модель в своих стеках хранения. iSCSI представляет собой ситуацию, когда доступ к тому хранилища всегда опосредуется одной очередью, которая соответствует одной очереди в соединении между инициатором и целью.
Производительность iSCSI
iSCSI стал общепринятым стандартом для блочного хранилища в стандартных сетях благодаря широкому распространению TCP/IP в этих сетях. Однако это не оптимально с точки зрения производительности. Проблема в том, что хранилище для приложений, которым требуется низкая задержка, теперь использует твердотельные накопители, а iSCSI не предназначен для эффективной работы с твердотельными накопителями. Скорее, протоколы TCP/IP — это просто транспортные средства для одного и того же исходного протокола SCSI, разработанного для вращающихся жестких дисков.
Эта модель с одной очередью не была проблемой в течение многих лет. Жесткие диски на самом деле хорошо подходили для одиночной очереди, потому что большинство жестких дисков имели одну головку чтения/записи. Флэш-память ведет себя совершенно по-другому. Он не использует «единую головку», которая сериализует доступ к данным. Вместо этого флэш-память устроена как банки элементов хранения, подобно тому, как работает динамическая оперативная память (DRAM).
Серверы также изменились, что дополнительно влияет на эффективность модели iSCSI с одной очередью. Типичный сервер сегодня может иметь десятки ядер ЦП. В результате для параллельного хранения данных, поступающих от нескольких ядер, требуется посредничество с помощью блокировок в одной очереди хранилища. Это не является большой проблемой для вращающихся жестких дисков, которые работают со скоростью всего около 100 операций ввода/вывода в секунду (IOP). Типичная корпоративная система хранения данных, построенная на жестких дисках, может выполнять несколько тысяч операций ввода-вывода в секунду на каждый том. Когда хранилище переносится на флэш-память, все резко меняется.
Модель с одной очередью проблематична с флэш-накопителями SSD. Один SSD способен выполнять сотни тысяч операций ввода-вывода в секунду. Возникающая в результате конкуренция за очередь приводит к серьезной проблеме с производительностью для сервера с большим количеством ядер. Модель с одной очередью iSCSI создает дополнительные трудности со стандартной реализацией одного потока и одного сокета TCP.
Можно выполнять многопутевой ввод-вывод, подключая логическую единицу через несколько целевых портов и балансируя нагрузку ввода-вывода по нескольким потокам и сокетам. Но этой стратегией сложно управлять на целевой стороне. Он неизменно страдает от проблем с очередями на стороне инициатора. Несколько путей по-прежнему рассматриваются операционной системой как одно устройство. Производительность неизбежно будет отставать.
Решение NVMe и его ограничения
Для повышения производительности твердотельных накопителей потребовался новый протокол связи. Более девяноста компаний объединились для совместной работы в рамках рабочей группы NVM Express. Intel была одной из ведущих фирм, представленных в усилиях по разработке открытой спецификации интерфейса логического устройства, которая позволяет компьютеру получать доступ к энергонезависимым (например, флэш-памяти) носителям. Типичная реализация включала шину PCI Express (PCIe) машины.
NVM Express® или NVMe® позволяет использовать преимущества внутреннего параллелизма и присущей твердотельным накопителям низкой задержки. NVMe позволяет аппаратному и программному обеспечению своего хоста в значительной степени использовать параллелизм. Таким образом, NVMe снижает нагрузку на ввод-вывод, что способствует повышению производительности по сравнению с iSCSI.
NVMe стал новым стандартным протоколом для доступа к высокопроизводительным твердотельным накопителям. Однако первоначальное ограничение касалось того факта, что NVMe был разработан для твердотельных накопителей PCIe с прямым подключением. Спецификация не могла работать для сетевого хранилища. Чтобы исправить этот недостаток, рабочая группа NVMe разработала NVMe-oF®, который может поддерживать удаленный пул твердотельных накопителей в масштабе стойки по сетевым фабрикам.
В ИТ-отрасли принято, что NVMe-oF заменит iSCSI в качестве предпочтительного режима связи между вычислительными серверами и серверами хранения. Он станет протоколом по умолчанию для дезагрегации серверов хранения и вычислений.
Однако у NVMe-oF есть некоторые ограничения. Первоначальные варианты развертывания NVMe-oF были ограничены Ethernet через удаленный прямой доступ к памяти (RDMA) и Fibre Channel. Они подходят только для небольших развертываний. Действительно, большинство центров обработки данных в настоящее время не поддерживают NVMe over Fabrics с использованием таких технологий, как RDMA или Fibre Channel.
Проблемы с RDMA или Fibre Channel включают:
Представляем NVMe/TCP
Учитывая потенциал, но также и ограничения NVMe-oF, для отрасли имело смысл найти способ воспользоваться преимуществами производительности NVMe, но сделать это таким образом, чтобы использовал преобладающий сетевой транспортный протокол TCP/IP. Это было генезисом NVMe/TCP. Lightbits Labs в сотрудничестве с Facebook, Intel и другими лидерами отрасли расширяет стандарт NVMe-oF для поддержки TCP/IP.
Этот подход дополняет RDMA-фабрики, а дезагрегация NVMe/TCP обеспечивает простоту и высокую эффективность. TCP вездесущ, масштабируем, надежен и идеально подходит для кратковременных подключений и приложений на основе контейнеров. Кроме того, переход на общее флэш-хранилище с NVMe/TCP не требует внесения изменений в сетевую инфраструктуру центра обработки данных. Отсутствие изменений в инфраструктуре должно означать относительно простое развертывание в центре обработки данных. В конце концов, почти все сети центров обработки данных предназначены для передачи TCP/IP.
Кроме того, широкое отраслевое сотрудничество, происходящее в настоящее время по протоколу NVMe/TCP, делает вероятным, что NVMe/TCP станет широкой экосистемой, поддерживающей широкий спектр операционных систем и сетевых интерфейсных карт (NIC). Например, драйверы NVMe/TCP для Linux естественным образом подходят для ядра Linux. Они используют стандартный сетевой стек Linux и сетевые карты без каких-либо модификаций. В результате NVMe подает большие надежды в качестве нового протокола. Он подходит для гипермасштабируемых центров обработки данных в качестве одного из многих примеров использования, поскольку его легко развернуть без изменений базовой сетевой инфраструктуры.
Спецификация NVMe признает высокопараллелизованный доступ к твердотельному хранилищу. Единого узкого места нет. Таким образом, ввод-вывод в «пространство имен» NVMe, эквивалентное логическому устройству SCSI, может выполняться через 64 000 очередей, содержащих до 64 000 команд в каждой очереди. Этот параллельный доступ является важным архитектурным усовершенствованием, поскольку многие очереди устраняют конкуренцию, присущую модели SCSI.
Сравнение iSCSI и NVMe/TCP
При сравнении NVMe/TCP с iSCSI обнаруживаются следующие преимущества:
Сравнение производительности NVMe/TCP с iSCSI
Как NVMe/TCP соотносится с iSCSI с точки зрения производительности? Lightbits провела параллельное сравнение двух технологий, чтобы получить результаты тестов. В тесте использовался стандартный отраслевой инструмент гибкого ввода-вывода (FIO) с идентичными настройками для iSCSI и NVMe/TCP. В частности, в тесте использовался инициатор — двухпроцессорный процессор Intel® Xeon® E5-2648L v4 с тактовой частотой 1,8 ГГц, 14 ядер на сокет и два гиперпотока на ядро. Целевая машина имела такое же количество сокетов и ядер. Он работал на процессорах Xeon E5-2650L v4 с тактовой частотой 1,7 ГГц. SSD в каждой цели были Intel DC P3520, 450 ГБ.
В ходе теста все операции ввода-вывода выполнялись через сетевые адаптеры Mellanox ConnectX-4 100GbE на обеих машинах. И инициатор, и целевая машина работали под управлением ядра Linux 4.13.0-rc1. Для iSCSI использовался стандартный инициатор iSCSI в ядре. Для NVMe/TCP в тесте использовался инициатор с открытым исходным кодом, предоставленный Lightbits. Для хранилища iSCSI была настроена группа RAID-0 из 12 дисков, а для Lightbits NVMe/TCP экспортированное пространство имен использовало то же оборудование и те же 12 твердотельных накопителей.
Тест продемонстрировал типичное многопоточное приложение, связанное с вводом-выводом. Такие приложения часто открывают поток для каждой задачи, при этом каждый поток выполняет один ввод-вывод (т. е. несколько потоков, каждый с глубиной очереди ввода-вывода, равной 1) за раз. Затем количество потоков менялось, чтобы увидеть масштабируемость ввода-вывода по мере увеличения количества потоков. Изменение количества потоков было важным тестом для приложений, которые работают на современных серверах с десятками ядер ЦП. Смешанный ввод-вывод составлял 70% операций чтения и 30% операций записи.
Перед запуском тестов все твердотельные накопители были полностью перезаписаны для предварительной подготовки тестов. Для iSCSI максимальное количество команд на сеанс было установлено равным 2048, а глубина очереди логических блоков — 1024. Оба параметра были максимальными, разрешенными реализацией. С этими настройками тест отражал разумное сравнение двух протоколов на основе TCP с идентичными аппаратными и программными конфигурациями.
Результаты: iSCSI достигла пикового значения 89 000 операций ввода-вывода в секунду при выполнении 128 потоков по двум целевым соединениям с несколькими путями в режиме «активный-активный». Это количество IOPS было максимальной производительностью ввода-вывода, которую может получить такое приложение. Стоит отметить, что использование нескольких путей по двум целевым подключениям было минимальным преимуществом по сравнению с одним подключением.
Также довольно тревожно то, что при использовании более 64 потоков средняя задержка iSCSI превышала миллисекунду. Это неприемлемая производительность ввода-вывода для флэш-накопителей в современных многоядерных гипермасштабируемых облачных сервисах. Эти результаты иллюстрируют присущую iSCSI проблему производительности. Однопоточная модель протокола с одной очередью ограничивает масштабируемость.
Результат теста NVMe/TCP показал преимущества изначально многопоточной архитектуры. Количество операций ввода-вывода для одного тома (пространство имен NVMe) легко увеличилось до 725 тыс. операций ввода-вывода в секунду для этого конкретного сценария приложения. Это на порядок выше IOPS для приложения. Более того, при 256 потоках у инициатора не было насыщения производительности. Важно отметить, что задержки ввода-вывода для NVMe/TCP были намного ниже, чем задержки iSCSI с таким же количеством потоков и гораздо меньшим количеством операций ввода-вывода в секунду. Даже при 256 потоках и 725 000 операций ввода-вывода в секунду задержка NVMe/TCP не превышала 500 мкс.
Почему NVMe/TCP является правильным выбором для ускорения облачных приложений
Рост числа твердотельных накопителей создает конфликт из-за производительности. Однопоточная модель iSCSI не оптимальна для подключения вычислительных серверов с подключенными к сети твердотельными накопителями. Вместо этого NVMe обеспечивает гораздо более высокие характеристики производительности. Тем не менее, некоторые решения NVMe-oF имеют явные ограничения из-за необходимости запуска на специализированных компонентах и т.