Как сделать избыточность, если у двух прямых дисков нет аппаратного массива?

По умолчанию стоят 2 × 1TB NVMe, без аппаратного RAID, каждый диск подключён к плате напрямую. Доступный объём считают как 2 ТБ, не как 1 ТБ после зеркала. Если избыточность нужна, её собирают в системе и сначала выносят уже лежащие данные за пределы машины.

Сначала убеждаются, что диски прямые

После входа смотрят блочные устройства и не создают файловую систему первым шагом. На Linux подходит lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL. Два NVMe около 1TB видны по отдельности, тип — disk. Под ними ещё нет разделов либо есть только те, что записал установщик. Устройства md нет, входа в управление аппаратным массивом нет. Так и должно быть.

Если один диск уже смонтирован как корень, а второй пуст, установщик занял одну пластину. Пустой диск можно разметить отдельно или позже решить, войдёт ли он в программный массив. Диск с корнем не разбирают под массив, пока нет внешней копии.

2 × 1TBNVMe по умолчанию
2 ТБдоступно при прямом подключении
нетаппаратного RAID

Объём считают сложением двух дисков

Прямое подключение значит, что система видит оба диска сразу. Один может держать систему, второй — данные. Оба могут хранить файлы дисков виртуальных машин. Вместе это близко к 2 ТБ, минус таблица разделов и служебное место файловой системы. Чтение «после RAID 1 останется 1 ТБ» не совпадёт с двумя строками disk в lsblk.

Без аппаратного массива отказ одного диска оставляет файлы на втором, но каталог, разложенный на оба, сам не достраивается. На каком диске лежит файл, решает точка монтирования, не плата массива в корпусе.

Три способа меняют разное

СпособДоступный объёмЧто закрывает
Два независимых монтированияоколо 2 ТБничего: копия нужна вне машины
Программный RAID 1около 1 ТБотказ одного диска, не удаление файла
Оставить как естьоколо 2 ТБпока избыточность не нужна

Раздельное монтирование подходит, когда системный диск и диск данных разделены по роли. Файлы базы, каталог копий и диски виртуальных машин кладут на второй диск, корень остаётся на первом. Зеркала нет, поэтому копия пишется вне этой машины.

Программный RAID 1 меняет объём на копию. Два диска по 1TB дают место около одного диска. Запись ложится на оба, чтение можно разнести. Это закрывает отказ одной пластины и не закрывает ошибочное удаление и одновременный отказ обоих. Перед сборкой разделы на обоих дисках стираются.

Порядок работы

  1. Записать имена обоих дисков

    lsblk и nvme list дают имена вроде /dev/nvme0n1 и /dev/nvme1n1. Порядок не угадывают: после перезагрузки номера могут поменяться местами.

  2. Вынести данные, которые нужно сохранить

    Создание массива переписывает участников. Если система уже стоит на одном диске, пустой размечают отдельно и не включают диск с корнем в новый массив.

  3. Выбрать способ и только потом размечать

    При раздельном использовании пустой диск размечают и форматируют через mkfs, в /etc/fstab пишут UUID. Для зеркала массив создают на двух свободных дисках, файловую систему — уже на устройстве массива.

  4. Проверить восстановление

    После зеркала смотрят, что оба члена синхронны. Затем из копии достают небольшой файл во временный каталог и убеждаются, что копия читается.

Диски по умолчанию сдаются прямыми

На AMD EPYC 7543P, и при 128GB, и при 256GB, диски по умолчанию — 2 × 1TB NVMe, без аппаратного RAID, прямое подключение. Месяц — $455 и $612. Объём памяти не меняет способ подключения дисков. Если нужно больше места, добавляют 1 или 2 диска 2TB NVMe по $84 в месяц. Они тоже не входят в аппаратный массив.

Площадка в Токио. Систему можно поставить заранее: Ubuntu, Debian, AlmaLinux, CentOS Stream, FreeBSD или Proxmox VE. Когда Proxmox кладёт диски виртуальных машин в каталог или на отдельный диск, всё равно заранее решают, будет второй NVMe отдельным хранилищем или программным массивом. Мастер установки аппаратный массив не выбирает: такой платы нет.

Когда массив лучше не собирать

Если корень уже занял один диск, а внешней копии нет, пересборку не начинают. Достаточно сверить lsblk и точки монтирования. Если модель или объём дисков различаются, симметричное зеркало не предполагают. Дополнительный диск 2TB разбирают в другой заметке: он тоже прямой и сам не входит в эту пару по 1TB.

После настройки избыточности способ входа тот же: Linux по SSH, адрес в консоли. Раскладка дисков не меняет имя хоста и порт.

Зеркало и копия закрывают разное

Программный RAID 1 держит одну и ту же копию на двух членах. Ошибочное удаление, неверное форматирование и запись пустого файла появляются на обоих дисках сразу. Зеркало поэтому не заменяет резервную копию. Базу, диски виртуальных машин и файлы сайта, которые нужно сохранить, кладут ещё раз вне этой машины и время от времени достают из копии небольшой файл, чтобы убедиться, что она открывается.

При раздельном монтировании ритм копий системного диска и диска данных может различаться. С системного диска оставляют конфигурацию после установки и учётные записи, с диска данных — по объёму записи базы или виртуальных дисков. Обе копии не пишут обратно на NVMe, который собираются заменить или переразметить: иначе вместе с диском исчезает и копия.

Перед созданием массива ещё раз смотрят объём. Симметричное зеркало уместно, когда оба диска близки к 1TB. Если один заметно меньше, полезное место зеркала выравнивается по нему, лишние секторы не используются. Такую пару лучше монтировать раздельно: больший диск под данные, меньший под систему. Дополнительный диск 2TB не ставят в одно зеркало с парой по 1TB. Почему — в заметке про дополнительный диск.

После сборки имя массива или UUID пишут в загрузку и в fstab. Сборка только в текущем сеансе оставляет устройство после перезагрузки, но файловая система не возвращается в прежний каталог. После записи делают одну перезагрузку и проверяют, что корень или каталог данных на ожидаемом месте, а члены в lsblk синхронны, а не застряли в деградации. Пока массив деградирован, новые рабочие данные не пишут. Сначала оба члена возвращаются в массив.

Если Proxmox кладёт диски виртуальных машин в каталог, файловая система этого каталога и есть выбранный выше вариант: зеркало, второй отдельный диск или позже добавленный 2TB. Для гостя это разные каталоги хранения. Мастер установки аппаратный том не создаёт. Если каталог выбран неверно, гостя останавливают и только потом переносят файл диска, чтобы не копировать во время записи.

Сначала память, затем решение про диски.

От $455 / мес.