Узнайте, что такое NVMe over TCP и как работает NVMe over TCP простым языком.
Объяснение NVMe через TCP
Растущий спрос на облачные вычисления требует эффективной и доступной системы хранения. Хотя обычные жесткие диски (HDD) очень дешевы, они не способны размещать в облаке высокопроизводительное программное обеспечение или вычислительные процессы.
Следовательно, чтобы решить эту проблему в запоминающих устройствах для компьютерных устройств, NVM Express Inc. опубликовала архитектуру твердотельного накопителя NVMe, молниеносно быстрого внутреннего устройства хранения данных для компьютеров через шину PCIe или Peripheral Component Interconnect Express.
Однако PCIe предназначен только для прямой передачи данных между ОЗУ и твердотельным накопителем NVMe. Как реализовать то же самое для среды облачных вычислений, в которой хост и клиентские компьютеры расположены в удаленных местах? Эти устройства могут обмениваться данными только через Интернет или интрасеть.
Для решения этой проблемы был разработан протокол NVMe over Fabric или NVMe-oF, позволяющий разрабатывать решения для сетевого хранения NVMe. Он использует интерфейс спецификации логического устройства NVMe для передачи данных между главным компьютером или сервером и сетью хранения данных (SAN) или хранилищем с прямым подключением (DAS).
Но развертывание NVMe-oF очень дорого даже для крупных предприятий. Кроме того, поскольку для NVMe-oF в качестве средства передачи данных из точки А в точку Б в основном требуется оптоволоконный кабель, развертывание NVMe-oF для общедоступных облаков нецелесообразно.
Чтобы решить эту проблему, NVM Express Inc. придумал протокол NVMe over TCP или NVMe/TCP.
Что такое NVMe через TCP (NVMe/TCP)?
NVMe/TCP — это расширенная версия спецификации команд ввода-вывода хранилища на основе NVMe. Это расширенная версия NVMe-oF, определяющая функциональные возможности протокола передачи данных NVMe в протокол связи на основе сообщений TCP.
Существует спецификация транспорта NVMe/TCP, которая описывает следующее:
- Как сопоставить очереди NVMe по стандартному набору правил
- Как создать капсулы для NVMe поверх Fabric
- Как доставить капсулы NVMe-oF в оптоволоконные, InfiniBand и другие сетевые транспортные системы, используя знакомый Протокол управления транспортом или TCP
В двух словах, комбинация NVMe и TCP, NVMe/TCP обеспечивает более быструю и безошибочную передачу данных и команд между хостами NVMe-oF и устройствами-контроллерами NVMe-oF.
Такие устройства могут быть подключены через Интернет и интрасеть с использованием сети TCP/IP на базе Ethernet. Средой подключения могут быть оптоволоконные кабели или обычные кабели Cat 5 и Cat 6.
Почему NVMe через TCP?
Первоначальная транспортная система NVMe предназначалась для твердотельных накопителей, которые подключались непосредственно к системе ПК, в основном на материнской плате. Транспортный протокол изначально был оптимизирован для твердотельных накопителей NVM PCIe, которые подключаются к серверам или рабочим станциям внутри.
Позже, для обеспечения молниеносной скорости и больших требований к хранению данных в облаке, транспортный протокол NVMe был подключен к транспортной привязке. спецификации, которые в основном используют облачные центры обработки данных, такие как Fibre Channel, RDMA через конвергентный Ethernet (RoCE), протокол RDMA глобальной сети Интернет (iWARP), и Инфинибэнд.
Хотя описанная выше модификация NVMe прекрасно работает, она не подходит для публичных облаков, так как со стороны клиента требуется специализированное аппаратное оборудование. Поэтому была включена система привязки транспорта TCP, которая легкодоступна по всему миру и надежна в сетях дальней связи.
Основные компоненты NVMe через TCP
Спецификация транспорта NVMe/TCP для NVMe-oF включает следующие сетевые компоненты:
- Система удаленного доступа к данным, использующая протокол NVMe, следует модели взаимодействия открытых систем (OSI) для компьютерных сетевых систем.
- NVMe/TCP использует сетевую технологию Ethernet, которая работает на физическом уровне OSI и уровне канала передачи данных OSI.
- Для протоколов связи и политик обмена пакетными данными NVMe/TCP использует протокол TCP/IP.
- Наборы команд NVMe для преобразования всех пользовательских команд и операций ввода-вывода приложений в специальную таблицу команд NVMe, такую как admin, I/O, Fabric и т. д.
- Удаленная передача команд NVMe в фабрике на основе сообщений происходит с использованием капсул. Эти капсулы могут быть ответными или командными. Командные капсулы NVMe представляют собой единицу обмена данными NVMe.
- Подсистема и хост-контроллер обмениваются данными между собой путем обмена блоками данных протокола NVMe/TCP или PDU NVMe/TCP.
- Существует трехэтапный процесс подключения между подсистемой контроллера и хостом. Этими шагами или фазами являются NVMe-oF Connect, NVMe/TCP Connect и Fabric Connect.
- В системе привязки транспорта NVMe/TCP динамические контроллеры ввода-вывода автоматически создаются и назначаются хост-компьютеру, когда подсистема успешно подключается к хосту NVMe-OF.
Преимущества NVMe над TCP
- TCP является наиболее широко используемым протоколом передачи данных в Интернете или интранете и доступен в каждом центре обработки данных и у клиентов ресурсов облачных вычислений.
- Центрам обработки данных и их клиентам не нужно заменять существующее сетевое оборудование, такое как маршрутизаторы, коммутаторы и сетевые карты.
- TCP может использовать как оптоволоконный кабель, так и кабель Cat 5 или Cat 6, поэтому его обслуживание довольно просто.
- Привязка транспорта TCP для NVMe-oF обеспечивает высокую производительность и низкую задержку. Таким образом, он идеально подходит для критически важных и ресурсоемких процессов на главном компьютере и легко доступен для нескольких удаленных клиентов без каких-либо конфликтов чтения/записи.
- TCP предлагает динамическую маршрутизацию. Таким образом, по сравнению с удаленным прямым доступом к памяти (RDMA) TCP является наиболее эффективным в крупномасштабных центрах обработки данных и облачных операциях на больших расстояниях.
- TCP имеет большее сообщество разработчиков, чем любая другая транспортная спецификация NVMe.
Проблемы NVMe через TCP
- При использовании стека TCP необходимо разрешить ЦП разрешать большинство операций TCP, таких как вычисление контрольных сумм. Таким образом, в более широком масштабе, когда несколько клиентских рабочих станций будут запрашивать запись и чтение данных с сетевых устройств хранения данных через хост-компьютер, нагрузка на центральный процессор увеличится.
- Гиперконвергентная инфраструктура должна быть простой. Однако при использовании NVMe/TCP все усложняется.
- NVMe over TCP также имеет некоторые недостатки в безопасности, которые хакеры могут использовать для проникновения в ваши облачные операции, кражи данных и предоставления доступа к конфиденциальным данным в сети. темная паутина если вы не развернете строгую кибербезопасность и антивирусное решение.
NVMe через TCP: заключительные слова
TCP является ведущим протоколом в общедоступных или частных сетевых центрах обработки данных. Следовательно, NVMe/TCP — лучший выбор для предоставления доступных решений для хранения данных через Интернет, интранет и облачную инфраструктуру.
Этот протокол также масштабируем и надежен при удаленных сетевых соединениях. Поскольку задержка чтения/записи в облачном хранилище эквивалентна большинству протоколов Fibre Channel, NVMe через TCP является предпочтительным транспортным решением для облачного хранилища.
Следующий, 3 альтернативы облачному хранилищу