Устройство появляется без перезагрузки
Дополнительный NVMe — это опция, продаваемая кратно пятистам гигабайтам, и она подключается на горячую. Том появляется как новое блочное устройство в течение нескольких секунд после обработки заказа. Никаких перезагрузок не происходит.
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTКорневой диск — это vda; новый получает следующую букву. Если он не появился, дайте udev немного времени и посмотрите ещё раз:
udevadm settle
ls /sys/class/blockПропустите таблицу разделов
Раздел на виртуальном диске ничего вам не даёт и добавляет лишний шаг при каждом увеличении тома. Создавайте файловую систему прямо на устройстве:
mkfs.ext4 -L data /dev/vdbИли, для больших файлов, записываемых множеством потоков одновременно:
mkfs.xfs -L data /dev/vdbext4 сжимается в офлайне, XFS вообще не сжимается. XFS быстрее при параллельных метаданных, ext4 прощает почти всё остальное. Для большинства людей это и есть всего лишь выбор.
Смонтируйте так, чтобы пропавший том не остановил загрузку
Используйте метку. Порядок устройств не гарантирован после пересборки, и сегодняшний vdb завтра может стать vdc.
mkdir -p /srv/data
echo "LABEL=data /srv/data ext4 defaults,noatime,nofail,x-systemd.device-timeout=10s 0 2" >> /etc/fstab
systemctl daemon-reload
mount -a
findmnt /srv/datanofail и таймаут устройства — это самое главное в этой строке. Без них инстанс, который загружается до подключения тома, окажется в аварийной оболочке в ожидании диска, и вам придётся читать статью о консоли раньше, чем планировалось.
Trim по таймеру, а не при каждом удалении
Не добавляйте опцию монтирования discard. Непрерывный discard отправляет trim при каждом unlink, и на занятой файловой системе это приносит больше затрат, чем пользы. Вместо этого запускайте его периодически:
systemctl enable --now fstrim.timer
fstrim -v /srv/dataУвеличение тома
Закажите дополнительную ёмкость, затем расширьте файловую систему на месте. Никакого размонтирования и перезагрузки.
lsblk -o NAME,SIZE
resize2fs /dev/vdb # ext4, by device
xfs_growfs /srv/data # XFS, by mount pointЕсли перепутать эти два шага, вы получите непонятное сообщение об ошибке и никакого ущерба — именно так и должен вести себя инструмент.
Если нужен шифрование
cryptsetup luksFormat --type luks2 /dev/vdb
cryptsetup open /dev/vdb data
mkfs.ext4 -L data /dev/mapper/dataСначала осознайте последствия. Том с парольной защитой не монтируется без вмешательства, поэтому каждая перезагрузка потребует человека у консоли, вводящего пароль. Размещение файла ключа на корневом диске устраняет эту проблему, но одновременно сводит на нет большую часть выгоды. Выбирайте осознанно, а не по умолчанию.
Проверка оборудования
fio --name=rw --rw=randwrite --bs=4k --size=2G --numjobs=4 --iodepth=32 --direct=1 --runtime=60 --time_based --group_reportingЗапускайте это на новом томе, никогда на /, и никогда на файловой системе, где хранится то, что вы хотите сохранить. Если результат будет на порядок ниже, чем указано на странице оборудования, отправьте в тикет вывод, и мы проверим хост, а не вас.