Поставить NVMe SSD на старую материнскую плату

Можно ли старую материнскую плату, старый сервер оснастить NVMe SSD?
Можно. Хотя, сначала надо всерьез рассмотреть возможность полной замены 5..6-летнего сервера на современный, чтобы не попасть в ситуацию «хвост вытащил — морда увязла». Заодно и потребление электроэнергии сократится.
Имеется в виду сервер, в котором не предусмотрено NVMe портов. На некоторых материнских платах 3-летней давности они уже присутствовали — например, X10DRW-NT компании Supermicro имеет 2 порта PCI-E 3.0 NVMExpress x4.

Прежде, чем начинать тратить деньги и время, оцените — получите ли Вы эффект от NVMe системы накопителей. Потратьте 10 минут на заметку NVMe или SATA

Установка NVMe SSD на старую материнскую плату разбивается на две подзадачи:
1. физически подключить NVMe SSD;
2. сделать его видимым для операционной системы

Подключение NVMe SSD к старой материнской плате

Разбираемся в возможностях и хотениях.
Ситуация частично схожа с задачей выбора сервера с 1-2 внутренними NVMe SSD.
Накопитель может быть реализован в следующих подходящих для нашей задачи форм-факторах: PCIe плата, U.2 (2,5-дюймовый корпус), M.2. Некоторые серверные накопители NVMe SSD рассматриваются в соответствующем разделе. Выбор форм-фактора NVMe накопителя рассмотрен в отдельной заметке, необходимо только соотнести его с имеющимися возможностями.

Как минимум, в сервере должен быть свободный слот PCIe с возможностью установки платы половинной или полной высоты, в который устанавливается одно из:

  • — SSD в виде PCIe платы расширения. Как правило, в габаритах HHHL (half height, half length — половинной длины и высоты). Несмотря на отсутствие дополнительных контроллеров, кабелей и корзин, решение может оказаться самым дорогим, поскольку в таком форм-факторе выпускаются ТОЛЬКО высококлассные накопители серверного типа большой емкости;
  • — адаптер M.2 накопителей (описаны в разделе Адаптеры NVMe). Самый бюджетный вариант для SSD (одного-двух) относительно небольшой общей емкости. Самый широкий выбор SSD — от бюджетных пользовательского класса до серверных;
  • ретаймер. для подключения U.2 SSD или нескольких M.2 SSD в специальной корзине. Ретаймер, так же — как хост-контроллер позволяет подключить 2..4 накопителя. Подключаемые через ретаймер накопители управляются непосредственно из UEFI. Обслуживание NVMe SSD при таком подключении отнимает некоторую долю процессорной мощности. RAID 0/1 может быть сформирован из накопителей встроенными средствами UEFI. Для RAID 5 необходима лицензия VROC. Понадобятся также соответствующие кабели NVMe;
  • хост или RAID контроллер с поддержкой накопителей NVMe. RAID контроллер также позволяет подключить до 4 накопителей. Контроллер может объединить NVMe SSD в RAID массив до 5 (для RAID 6 необходимо минимум 5шт SSD).

Попутный, но немаловажный момент — SSD накопители часто греются. Особенно это касается бескорпусных M.2, которые ставятся без корзины, имеющей дополнительное принудительное охлаждение. Для M.2 SSD на рынке предлагаются игольчатые радиаторы охлаждения, которые помогут сохранить здоровье накопителю при его неудачном расположении в системе.

PCIe плата расширения

SSD, форм-фактор PCIe HHHL

Как правило, при установке PCIe платы в соответствующий ей разъем проблем не возникает.

Адаптер M.2 накопителей

Адаптер половинной высоты (HH, LP) Supermicro для двух накопителей M.2
Адаптер полной высоты (FH) Supermicro для четырех накопителей M.2

Один или несколько накопителей M.2 крепятся на плату расширения, которая, в свою очередь, устанавливается в стандартный PCIe разъем с соответствующим количеством линий.

Адаптеры на 1..2 накопителя подключают их непосредственно к линиям PCIe. Адаптеры на 4 накопителя содержат PCIe коммутатор (на фото — под радиатором). Для системы он прозрачен, на скорость передачи и задержки коммутатор никак не влияет.

Если ситуация усугубляется невозможностью поставить даже низкопрофильную плату расширения (корпус 1U, например) — налажено производство компактных плат-переходников и даже адаптеров с гибкой подводкой, представленных на фото ниже:

Компактный PCIe адпатер для M.2 NVMe SSD с радиатором
Гибкий PCIe адпатер для M.2 NVMe SSD. Длина шлейфа — 10см

В теории, в 1..2 установочных места под 3,5″ накопители корпуса «тауэр» может быть установлена корзина на 2..8 штук M.2 SSD — корзины ICY DOCK описаны в разделе Корпуса и платформы. По состоянию на 09.2020 часть корзин уже доступна, а часть — пока концепт. Подключение по такой схеме производится так же, как рассматривается в следующем пункте — через дополнительный контроллер (или ретаймер) на необходимое количество портов NVMe.

Горячая замена M.2 SSD не предусмотрена. Для замены необходимо полностью остановить систему и выключить питание.

Контроллер или ретаймер и накопители U.2

Это самый тяжелый случай, поскольку для его реализации много чего надо иметь в системе и устанавливать дополнительно.
Возникает потребность в U.2 накопителях в следующих случаях:
— требуемая емкость больше, чем умещается на M.2 SSD;
— требуется горячая замена накопителей.

Решение описывается очень схематично, поскольку конкретная реализация обусловлена возможностями для установки дополнительного оборудования в конкретной системе:
— накопители устанавливаются в подходящую корзину на нужное количество устройств. Корзина подключается к питанию;
— в PCIe разъем устанавливается адаптер интерфейса — ретаймер или хост-, RAID контроллер с 2 или 4 каналами NVMe;
— контроллер и корзина соединяются кабелями с подходящими разъемами.

Выбор адаптера определяется следующими соображениями:
ретаймер — это повторитель, позволяющий без потерь увеличить длину линии PCI. Ретаймер никак не участвует в управлении накопителями — оно ложится на центральный процессор и операционную систему. Позволяет непосредственно подключить 2 или 4 устройства.
!! Важное предупреждение. Хотя ретаймер — универсальное устройство, важно быть уверенным в его совместимости с материнской платой. В частности, ретаймеры без коммутатора требуют поддержки так называемой бифуркации (расщепления) слота PCI со стороны BIOS материнской платы. Например, слот PCIe x8 должен быть разделен на два независимых PCIe x4 для корректной работы ретаймера на два NVMe x4 порта.
хост-контроллер может объединять NVMe SSD в RAID 0, 1 своими средствами — центральный процессор частично разгружается, но он по-прежнему занимается обслуживанием NVMe интерфейса. Позволяет непосредственно подключить 4 устройства.
RAID контроллер расширяет функционал RAID до уровней 5 и 6 (в реальности — только 5, поскольку для RAID 6 необходимо минимум 5 накопителей). Позволяет непосредственно подключить 4 устройства.

Все необходимые компоненты представлены и описаны в соответствующих разделах сайта.

Операционная система

В операционной системе накопители видны через драйверы NVMe. Стандартные драйверы включены во все дистрибутивы операционных систем, информация о них публикуется на сайте https://nvmexpress.org/resources/drivers/

Расширенный функционал системе накопителей добавляется ПО, описанным в Программное обеспечение NVMe.

При апгрейде системы лучше отказаться от идеи сделать NVMe SSD системным. Загрузка с него возможна при наличии BIOS с поддержкой UEFI, который подгружает драйверы NVMe на начальном этапе, еще до основной загрузки системы. UEFI навряд ли присутствует в устаревшем сервере. Модификация имеющегося BIOS нетривиальна и может привести к выводу сервера из эксплуатации на неопределенное время.