The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Удалённо эксплуатируемая язвимость в драйвере NVMe-oF/TCP из состава ядра Linux, opennews (??), 16-Окт-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


6. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +1 +/
Сообщение от ryoken (ok), 16-Окт-23, 11:46 
Подскажите, с целью повышения уровня образованности. А какой "use case" у этой технологии? Уже есть сети, быстрее оперативы? Честно, не троллю, хотелось бы получше разобраться.
Ответить | Правка | Наверх | Cообщить модератору

7. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Анонин (?), 16-Окт-23, 11:51 
> Уже есть сети, быстрее оперативы

Нет. Просто в оперативу всё не влазит(( Даже в стойку нужное кол-во nмme не влазит.
Приходится ставить рядом еще одну, читать оттуда и терпеть просадки по перформансу.
Вот такая вот печалька. Но что поделать.

Ответить | Правка | Наверх | Cообщить модератору

103. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 16-Окт-23, 17:44 
Тогда нужен RDMA, а не поделие из топика
Ответить | Правка | Наверх | Cообщить модератору

167. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от edo (ok), 19-Окт-23, 22:07 
RDMA сам по себе не решает проблему доступа к удалённому блочному устройству.
А оффлоады nvmeo* уже есть в сетевых картах, кстати
Ответить | Правка | Наверх | Cообщить модератору

11. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от wWolfemail (?), 16-Окт-23, 11:58 
Да.
https://ru.wikipedia.org/wiki/DDR_SDRAM#%D0%A1...

https://en.wikipedia.org/wiki/Fibre_Channel#History

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

13. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от voiceofreason (?), 16-Окт-23, 12:06 
SSD уже догнали ддр4?
Ответить | Правка | Наверх | Cообщить модератору

14. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Анонимусс (?), 16-Окт-23, 12:11 
Ты в пример привел какое-то старье. Даже у уже устаревшей DDR4-2400 - bandwidth 19200 MB/s.
А у DDR5 - 38400 для стандартной 4800 и 57600 для 7200.
А у фибры - максимум 25600 MB/s, и то - только на самой распоследней.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

152. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +1 +/
Сообщение от Аноним (152), 17-Окт-23, 21:24 
Оптика уже 600 гигабит умеет. Ну нафиг ненужно распределенную базу данных при распределенных вычислениях гонять через цпу который офигеет.
Не просто же так начали жпу натаскивать на чтение из накопителя напрямую. Это даже при локальном использовании желательно.
Ответить | Правка | Наверх | Cообщить модератору

175. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от space (?), 22-Окт-23, 14:55 
Подскажите лучше, как контролировать все что работает на gpu, а то проц молчит, а gpu дает доступ ко всему что на компе без вашего согласия :)
Ответить | Правка | Наверх | Cообщить модератору

16. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +1 +/
Сообщение от Аноним (16), 16-Окт-23, 12:16 
Как более современная замена iSCSI.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

21. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +2 +/
Сообщение от OpenEcho (?), 16-Окт-23, 12:29 
> Подскажите, с целью повышения уровня образованности. А какой "use case" у этой технологии?

Это тоже самое что и iSCSCI, только позволяющее гигантские очереди и пути, и как результат увеличение пропускной способности и уменьшение задержек и при всем этом не надо какого-то специфического железа

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

34. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Хохлоним (?), 16-Окт-23, 12:47 
https://gist.github.com/jigi-33/5cca0dac52da6a39a63d9546fb69...

На транспортном уровне расположились TCP -- протокол, обеспечивающий передачу данных с гарантией доставки, и UDP -- протокол для быстрой передачи данных, но уже без гарантии.

https://proglib.io/p/computer-networking

Протокол управления передачей (англ. TCP - Transmission Control Protocol) обеспечивает надежную доставку данных. Сервис TCP так и называется: reliable byte stream (надежная передача потока байт). Этот протокол отвечает за доставку данных и сохранение порядка передаваемых сообщений.
...
Разбираемся с HTTP
...
Он использует протокол TCP и порт сервера 80 (для клиента порт генерируется операционной системой).

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

40. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Хохлоним (?), 16-Окт-23, 12:58 
И вот в итоге: https://hwp.ru/articles/chto_takoe_nvme_of_i_kak_rabotaet_sa...

Чтобы полностью реализовать потенциал твердотельных накопителей, нам нужна технология, которая сможет осуществлять обмен данными на более высокой скорости. NVMe — вот та спецификация, которая позволяет твердотельным накопителям реализовать потенциал флэш-памяти. Эта технология была представлена в 2014 г, и её основными задачами стали повышение скорости работы приложений (сокращение времени отклика) и внедрение новых и улучшенных возможностей. Существует множество форм-факторов твердотельных накопителей на базе NVMe, и наиболее известные — это AIC (карта расширения), U.2, U.3 и M.2. Твердотельный накопитель на базе NVMe соединяется с компьютером или сервером посредством высокоскоростной шины Peripheral Component Interconnector Express (PCIe), к которой он подключается напрямую. NVMe снижает дополнительную работу центрального процессора и сокращает время между операциями, увеличивая количество операций ввода-вывода в секунду и пропускную способность. К примеру, NVMe SSD предлагает скорость записи свыше 3000 МБ/с, что в 5 раз выше в сравнении с твердотельным накопителем, оборудованным интерфейсом SATA, это в 5 раз выше и в 30 раз выше по сравнению с жестким диском.

NVMe поддерживает множество операций ввода-вывода (!), выполняемых одновременно, это означает, что масштабные задачи могут быть разбиты на более мелкие, которые будут обрабатываться независимо друг от друга. Это чем-то напоминает работу многоядерного процессора, который обрабатывает несколько потоков команд одновременно. Каждое ядро процессора может работать независимо от других ядер и решать индивидуальные задачи.

...

На SATA так не сделаешь

Ответить | Правка | Наверх | Cообщить модератору

168. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от edo (ok), 19-Окт-23, 22:18 
Очереди и в sata есть, гораздо более жиденькие, конечно, но для большинства задач достаточные
Ответить | Правка | Наверх | Cообщить модератору

46. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Хохлоним (?), 16-Окт-23, 13:06 
https://nvme.smb-solution.ru/nvme-tcp/

Редакция спецификации NVMe-oF 1.1, включает поддержку транспортной привязки TCP. Добавление NVMe поверх TCP (NVMe/TCP) позволяет использовать NVMe-oF в стандартной сети Ethernet. Отпадает необходимость изменения конфигурации или использования специального оборудования.

Транспортная привязка TCP в NVMe-oF определяет методологию, используемую для инкапсуляции и доставки данных между хостом и подсистемой NVMe. Cпецификация NVMe/TCP ориентирована, главным образом, на программные реализации, использующие интерфейсы приложений TCP. Но спецификация не исключает использование NVMe/TCP для аппаратных реализаций.
...
Поставщики готовы к NVMe/TCP

Производители готовы поставлять компоненты и решения на базе NVMe/TCP.
— Упоминавшаяся уже Chelsio Communications предлагает сетевые адаптеры на скорости до 100 Гб/с.
— Mellanox в пресс-релизе указал на совместимость с NVMe/TCP сетевых адаптеров и коммутаторов, работающих на скоростях до 200 Гб/с. Теперь сетевые адаптеры ConnectX Mellanox одновременно поддерживают оба протокола NVMe-oF — и TCP и RoCE. Это позволяет внедрять NVMe платформы, работающие по TCP и RoCE.
Ряд поставщиков уже предлагает решения на NVMe/TCP в своих предложениях. В частности, LightbitsLabs.com и Solarflare Communications Inc.
— Платформа хранения Lightbits включает NVMe/TCP в составное блочное хранилище, которое может быть реализовано без ущерба для сетевой инфраструктуры или клиентов центра обработки данных.
— Solarflare также предлагает композитное хранилище на основе NVMe/TCP. Оно позволяет центрам обработки данных использовать существующие сетевые инфраструктуры. Поставщик работает с SuperMicro Computer Inc. В решениях используются системы Supermicro Ultra SuperServer и TCP-оптимизированные сетевые карты Solarflare.

Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

56. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Хохлоним (?), 16-Окт-23, 13:52 
https://www.kingston.com/ru/ssd/what-is-nvme-ssd-technology

По поводу железа: Технология NVMe обеспечивает превосходное хранение данных, превосходную скорость и превосходную совместимость. Поскольку в технологии NVMe используются разъемы PCIe, она обеспечивает передачу в 25 раз большего объема данных по сравнению с аналогичными устройствами SATA. Наряду с большим объемом данных команды NVMe выполняются в 2 раза быстрее, чем в накопителях AHCI. Кроме того, количество операций ввода-вывода в секунду (IOPS) в устройствах NVMe превышает 1 миллион, и операции выполняются до 900% быстрее по сравнению с накопителями AHCI. NVMe также напрямую связывается с ЦП системы, обеспечивая невероятную скорость благодаря своей совместимости. Накопители NVMe работают со всеми основными операционными системами независимо от форм-фактора.

NVME (Non-Volatile Memory Express) — это интерфейс связи и драйвер, который использует преимущества увеличенной полосы пропускания, обеспечиваемой PCIe. Он разработан для повышения производительности и эффективности, обеспечивая при этом совместимость с широким спектром корпоративных и клиентских систем. Технология NVMe была разработан для твердотельных накопителей и обменивается данными между интерфейсом хранилища и процессором системы, используя высокоскоростные разъемы PCIe без ограничений форм-фактора.

Протокол NVMe использует параллельные пути передачи данных с малой задержкой к базовому носителю, подобно архитектурам высокопроизводительных процессоров. Это обеспечивает значительно более высокую производительность и меньшие задержки по сравнению с протоколами SAS и SATA. NVMe может поддерживать множество очередей ввода-вывода — до 64 тыс. очередей глубиной 64 тыс. записей каждая. В результате задачи ввода/вывода могут передавать больший объем данных быстрее, чем старые модели хранения данных с использованием устаревших драйверов, таких как AHCI (Advanced Host Controller Interface). Поскольку протокол NVMe разработан специально для твердотельных накопителей, он неизбежно станет новым отраслевым стандартом.

Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

104. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 16-Окт-23, 17:52 
Если даже и есть быстрее, то работать с ними всё равно будешь на скорости памяти, в лучшем случае на скорости какого-нибдуь кеша L3. Любой слой увеличивает задержки доступа к памяти и хоп вроде сети точно не делает жизнь лучше.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

145. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Хохлоним (?), 17-Окт-23, 12:50 
Нет,  скорости кеша и оперативной памяти явно больше, а вот чипсет влияет на передачу данных по сети. И мне лично кажется что передача данных параллельно даёт некоторым задачам преимущество перед SATA. Я когда-то давно работал над виртуальной файловой системой, клиентом для гибридного облака и о параллельной передачи данных от жёсткого диска мог только мечтать. Множество параллельных запросов можно сделать, пусть они даже и псевдопаралельные, но они быстрее SATA все-равно оказались и выигрыш скорости не получился. Да и в статьях выше же написано что их используют не только на высоконагруженных серверах, но и в сетевых устройствах для высокой скорости передачи данных, что логично — много информации нужно содержать, правда смотря что за информация. Маршрутизацию все же лучше в оперативной памяти держать.
Ответить | Правка | Наверх | Cообщить модератору

146. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Хохлоним (?), 17-Окт-23, 13:00 
Хотя, впрочем у меня были определённые претензии к разработчикам серверного API. Мне туда доступ не дали, может и на SATA все получилось. Не удалось договориться об изменении API, другим путём пошли.
Ответить | Правка | Наверх | Cообщить модератору

157. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Аноним (152), 18-Окт-23, 02:59 
Тут может сработал эффект локов ядра. Поищи про китайцев с их протоколом в пространстве пользователя.
А звук на звуковой карте со своей памятью, да еще и аппаратный мог бы быть нормой.
Так что если контроллер сетевой на мипсе скажем быстрее делает именно маршрутизацию и передачу данных, то рулить потоками в памяти не очень то и нужно.
Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

160. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от Аноним (160), 18-Окт-23, 15:58 
Вообще это хороший вопрос, если он без троллинга, потому что лично я, например, не видел NVMe-oF/TCP и не понимал в нем смысла.

Когда люди настраивают NVMe over Fabriс, они понимают что им нужны 2 вещи:
1) Скорость обращения к диску от внешнего сервера, особенно когда речь идёт о низких задержках
2) Снижение требований к центральному процессору, опять это влияет на задержки
Дело не в пропускной способности, короче.

Тут нужно понять несколько вещей про специфику NVMe и про его подачу через сеть:
1. NVMe контроллер не может быть собран в "аппаратный RAID"
Я беру это в кавычки, потому что что называть аппаратным рейдом в 2023 году - тот еще вопрос. NVMe-диск прицепляется напрямую к процессору через PCI Express, в то время как обычные решения про RAID через HBA берут несколько lane-ов и имеют на себе прошивку, чип-сопроцессор и отдельный RAM и подключают диски на себя. Нельзя просто так взять NVMe-диск и воткнуть в "RAID-контроллер", в плату RAID, потому что дело именно в наличии контроллера и прошивки на стороне самого диска (бомжовые берут Generic-прошивку от производителя матплаты, но она всё равно нужна). Ожидается, что вы подключаете NVMe напрямую к соответствующему процессору, поэтому любая блочная абстракция по этим дискам всегда будет программной.
2. В NVMe нет смысла делать RAID 0
Блоки памяти внутри самого диска распараллеливаются. Этот самый RAID0 у вас всегда включен и всегда применяется средствами контроллера NVMe внутри диска. Из-за этого у вас получится так, что программный RAID1 и программный RAID10 на NVMe дисках отличаются по скорости в пределах погрешности, опять же если у вас однопроцессорный сервер и они подключены в рамках одного узла NUMA. Чтобы у вас там все не ломалось есть механизмы коррекции ощибок средствами контроллера по аналогии с Patrol Scrub для RAM.
3. NVMe контроллер не является SCSI-совместимым контроллером
Из-за этого у него всё свое в том числе сетевой стек. Ради обратной совместимости поддерживается подача NVMe-дисков через традиционные протоколы впроде iSCSI или FCP (Fiber Channel Protocol), но это не рекомендуется делать.
Основные варианты сетевого транспорта NVMe-oF:
- NVMe over InfiniBand
- NVMe over Fiber Channel
- NVMe over Ethernet (имеет несколько вариантов):
   - NVMe over RoCE
   - NVMe over iWarp
   - NVMe over TCP (про него речь в новости)
Для обратной совместимости можно подать диски через:
- iSCSI
- FCoE
Из-за технических ограничений API SCSI возникают накладные расходы по работе с командами, поэтому не рекомендуется использовать чистый FC и тем более FCoE, а также iSCSI средствами ОС для работы с этими дисками.

Если вы не покупали выделенную Storage-сеть средствами InfiniBand или Fiber Channel (который медленнее и дороже чем даже Infiniband), а пользуетесь Ethernet сетями для организации сети хронения, то вы можете использовать RDMA для подачи этого диска. В зависимости от того, кто производитель вашего сетевого адаптера у вас будет либо RoCE (это по сути RDMA over UDP) или iWarp (это RDMA over TCP).
RDMA убирает нагрузку с процессора по работе с сетевым стеком для стораджа и снижает задержки. Протоколы гуглятся.

В общем вы уже начали понимать, к чему я клоню...

> А какой "use case" у этой технологии?

NVMe over TCP будет работать быстрее чем iSCSI, спору нет, но может просто настроить iWarp?

Просто RDMA снизит задержки и при правильной конфигурации RoCE выдаст вам прекрасную производительность. В случае с применением 100GB адаптеров Ethernet вы переплюнете абсолютно всё что только можно. Но я могу понять, почему люди этого не делают:
- Вам нужны сетевые карты, которые его умеют (Nvidia/Mellanox, Cavium/QLogic, Broadcom)
- Вам нужно обратиться к сетевому администратору для настройки сети, потому что вам требуется расширения Ethernet DCB на сети, чтобы это работало правильно

Альтернативой является iWarp, который снижает нагрузку на CPU и поддерживается на сетевых адаптерах Chelsio, Intel, Cavium/QLogic. Его настраивать слегка проще, но вам все равно потребуется настроить DCB и lossless-сеть для того чтобы приблизиться к тем низким задержкам, которые даёт RoCEv2. И да, у вас будет TCP.

По моему скромному мнению, NVMe over TCP существует для специфического юзкейса, когда вы понакупили себе дисков NVMe в сервера, а на нормальную сетевку вам денег не хватило, поэтому у вас не поддерживается RDMA.
Опять же, те кто так производит закуп серверного оборудования скорее всего и про NVMe over TCP не в курсе, поэтому будет настраивать iSCSI себе везде... в общем на ваш вопрос про "use case" у меня нет однозначного ответа.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

169. "Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP и..."  +/
Сообщение от edo (ok), 19-Окт-23, 22:23 
> 1. NVMe контроллер не может быть собран в "аппаратный RAID"

Все современные raid от lsi и adaptec (или как они там сейчас называются) умеют nvme-накопители.
Или вы про то, что массивы уже не будет nvme-устройством?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру