Вы думали, что переходник PCIe в два M2 слота можно просто установить и наслаждаться вставленными в него накопителями? :) Я тоже так думал. Но, оказывается, переходник работает по двум отдельным x4 линиям и для того, чтобы оба накопителя появились в системе, нужно перевести PCIe слот в режим «Bifuraction» с раздельными линиями «Fun», а это позволяет не каждая материнская плата. Данное обстоятельство имеет место и для переходников под 4 M2 разъёма.
Я использую NVMe накопители для хранилища Ceph, как один из pool для виртуальных машин.
Для того чтобы плотнее разместить NVMe накопители и сэкономить на занятых PCIe слотах используются переходники PCIe в два M2 слота. Данные переходники не работают в слотах без поддержки Bifuraction, технологии, которая разделяет один физический PCIe разъём с большим количеством линий на несколько «виртуальных» с меньшим количеством линий «Fun», например x16 в x4x4x4x4 или x8 в x4x4. Переходник использует шину x4x4.
В узлах кластера используется материнская плата X9DRi-LN4F+[2], она поддерживает PCIe Bifuraction начиная с версии BIOS 3.4. Необходимо обновить, можно через веб оболочку BMC, верхнее меню Maintenance -> BIOS Update. Если функция недоступна, то можно её активировать, сгенерировав ключ с помощью скрипта [3] подставив MAC адрес «BMC MAC address» со страницы System Information.
Далее необходимо открыть схему «шин» (System Block Diagram) материнской платы и понять нумерацию PCIe слотов для процессоров, так как в BIOS они именуются иначе, а именно IIO 1 IOU1, IIO 1 IOU2 и так далее, где IIO 1 это CPU1.
Составляем табличку:
Slot # | Lines | CPU | CPU Port |
---|---|---|---|
Slot 6 | x8 | CPU 2 (IIO 2) | PE1 (IOU1) |
Slot 5 | x16 | CPU 2 (IIO 2) | PE2 (IOU2) |
Slot 4 | x16 | CPU 2 (IIO 2) | PE3 (IOU3) |
Slot 3 | x16 | CPU 1 (IIO 1) | PE2 (IOU2) |
Slot 2 | x8 (работает максимум как x4) | CPU 1 (IIO 1) | PE1 |
Slot 1 | x16 | CPU 1 (IIO 1) | PE3 (IOU3) |
Определяемся в какой слот будет вставлять M2 переходник и запоминаем его CPU и CPU Port согласно табличке.
Далее входим в BIOS в Advanced -> Chipset configuration -> North Bridge -> Integrated IO Configuration
Выбираем нужный пункт, например IIO 2 IOU3, если переходник находится в слоте 4, и выставляем значение х4х4х4х4
Загружаем ОС и видим оба накопителя в dev.
Ссылки: