Я изучаю, как можно сделать твердотельные накопители PCIe доступными в качестве цели iSCSI для очень небольшой сети из 2-3 серверов и использовать готовые компоненты DIY.
Тайна, на которую я пытаюсь ответить, заключается в том, почему функции цели iSCSI не могут быть полностью выполнены с помощью только специальной 10-гигабитной сетевой карты.
Насколько я могу определить, цель iSCSI просто отправляет и принимает запросы блока от инициаторов и пересылает эти запросы соответствующему блочному устройству или контроллеру RAID. Это не кажется чрезвычайно сложной задачей и, вероятно, может быть обработано всего несколькими килобайтами кода.
(Да, конечно, между инициаторами и целью есть дополнительный уровень шифрования и аутентификации, но все же это не кажется слишком сложной задачей.)
Итак ... почему полная операционная система Windows или Linux должна быть добавлена в картину для предоставления целевых служб iSCSI? Похоже, что это значительно увеличивает риски ошибочного программного обеспечения и поверхности атаки, при этом минимально обеспечивая что-либо полезное для функций цели iSCSI.
Похоже, что все, что должно быть необходимо, это один или несколько твердотельных накопителей PCIe и сетевая карта, способная предоставлять службы iSCSI, которая сама по себе настроена как загрузочное устройство для материнской платы и запускает шоу без установленной ОС, и все доступное пространство на PCIe SSD-накопители, доступные для использования инициаторами iSCSI.
Кроме того, возможно, я слишком усложняю проблему, рассматривая стандартную полную материнскую плату или серверный корпус для этого приложения.
По-видимому, то, что мне, вероятно, следует искать, - это какое-то высокопроизводительное устройство NAS 10/40 гигабит, которое не имеет интерфейсов SATA или SAS, а имеет только 2-5 слотов PCIe x8 или x16 для вставки твердотельных накопителей PCIe.