Чтобы подключить дополнительный диск в Linux, нужно пройти четыре шага: увидеть устройство командой lsblk, разметить его через fdisk, создать файловую систему командой mkfs.ext4 и смонтировать в каталог через mount. Пятый шаг делают реже всего, и именно из-за него диск «пропадает» после перезагрузки: запись в /etc/fstab по UUID. Всё это одинаково работает и на домашней машине, и на арендованной виртуалке — например, на VPS с большим хранилищем, куда диск на 500 ГБ добавляют отдельным заказом.
Материал для тех, кто впервые видит в панели провайдера кнопку «добавить диск» и не понимает, почему после её нажатия свободного места в системе не прибавилось. Разберём каждую команду построчно: что она делает, что выводит и как понять по выводу, что шаг прошёл успешно. Отдельно — таблица разбора ошибок монтирования, полный сценарий из десяти шагов и правила, которые не дадут серверу зависнуть при загрузке из-за одной опечатки.
Что значит «примонтировать диск» и почему новое устройство не видно сразу
В Windows каждый диск получает свою букву: C, D, E. В Linux букв нет — есть одно дерево каталогов, которое растёт от корня /. Любое хранилище должно быть встроено в это дерево, то есть привязано к какому-то каталогу. Такая привязка и называется монтированием, а каталог — точкой монтирования.
Когда провайдер добавляет виртуальной машине второй диск, ядро сразу создаёт для него файл устройства — /dev/sdb, /dev/vdb или /dev/nvme1n1, в зависимости от типа виртуализации. Диск физически присутствует, но команда df -h его не показывает: система не знает, куда его подключить и какая на нём файловая система.
Точка монтирования — обычный каталог, чаще всего пустой. Если смонтировать диск в каталог, где уже лежали файлы, они никуда не денутся, но станут недоступны: поверх них ляжет содержимое нового устройства. Поэтому под данные создают отдельный каталог вроде /mnt/data или /srv/backup, а не монтируют диск в /home с уже заведёнными пользователями.
Монтирование бывает разовым — командой mount, до ближайшей перезагрузки — и постоянным, через строку в файле /etc/fstab, которую система читает при каждом старте. Нужны оба: первым проверяют работу, вторым закрепляют результат.
Шаг первый: находим новый диск командой lsblk
Команда lsblk (list block devices) рисует список блочных устройств деревом. Она не требует прав root и ничего не меняет, поэтому с неё безопасно начинать на любом сервере.
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part /
sdb 8:16 0 100G 0 disk
Читаем вывод построчно. sda размером 20 ГБ — системный диск, у него есть дочерний раздел sda1, и этот раздел смонтирован в корень /. Ниже sdb на 100 ГБ: у него нет ни разделов, ни точки монтирования — это и есть новый пустой диск, с которым предстоит работать.
Расширенный вариант lsblk -f добавляет столбцы FSTYPE, LABEL и UUID. Если напротив устройства пусто во всех трёх, файловой системы на нём нет. Если там написано ext4 и указан UUID, диск уже размечен — возможно, на нём лежат чужие данные, и форматировать его нельзя.
Главная ошибка на этом шаге — перепутать новый диск с системным. Ориентир простой: системный уже смонтирован в /, а его размер совпадает с тарифом — обычно 10, 20 или 40 ГБ. Если неразмеченных устройств одинакового объёма два, сверьтесь с панелью провайдера по серийному номеру: lsblk -o NAME,SIZE,SERIAL.
Разметка диска: fdisk для типичных случаев, parted — для томов больше 2 ТБ
Таблица разделов — это оглавление диска: где начинается и заканчивается каждый кусок пространства. Формально её можно не создавать и отформатировать устройство целиком, но раздел удобнее: с ним понятнее, что диск подготовлен осознанно, и проще менять схему в будущем.
Утилита fdisk работает в диалоговом режиме: вы вводите однобуквенные команды, она задаёт вопросы. Ничего не записывается на диск, пока вы не нажмёте w — до этого момента можно выйти клавишей q без последствий.
fdisk /dev/sdb
g # создать новую таблицу разделов GPT (старое содержимое таблицы стирается)
n # новый раздел
# три раза Enter: номер 1, начало по умолчанию, конец — весь диск
w # записать изменения и выйти
partprobe /dev/sdb # заставить ядро перечитать таблицу разделов без перезагрузки
Форматов таблицы два. MBR — старый, держит максимум 4 основных раздела и не адресует тома больше 2 ТБ. GPT — современный, допускает до 128 разделов и объёмы, которых не будет ни у одной виртуалки. Для дисков от 2 ТБ и выше MBR просто не сработает: там берут GPT, а если fdisk ведёт себя странно — утилиту parted с командой mklabel gpt, которая создаёт таблицу разделов нужного формата.
После w повторный lsblk должен показать под sdb дочернюю строку sdb1 типа part. Если её нет, помогает partprobe — она сообщает ядру об изменениях, не трогая данные.
Файловая система: чем ext4 отличается от XFS и что выбрать новичку
Раздел — это пока просто размеченное пространство, писать в него нельзя. Нужна файловая система: структура, которая хранит имена файлов, их размеры, права и расположение блоков. Создают её командой семейства mkfs.
mkfs.ext4 -L data /dev/sdb1
Здесь mkfs.ext4 создаёт файловую систему ext4 на разделе sdb1, а флаг -L data присваивает ей метку — короткое имя, по которому диск потом легко узнать в выводе lsblk -f. Команда выполняется за 1–5 секунд на дисках до 100 ГБ и уничтожает всё, что было на разделе. Если есть хоть малейшее сомнение в содержимом устройства, сначала снимите копию — как это делается регулярно, разобрано в гайде про настройку бэкапов VPS.
| Файловая система | Команда создания | Уменьшение тома | Где стоит по умолчанию | Особенность |
|---|---|---|---|---|
| ext4 | mkfs.ext4 /dev/sdb1 |
Да, через resize2fs | Ubuntu, Debian | Резервирует 5% места под root |
| XFS | mkfs.xfs /dev/sdb1 |
Нет, только увеличение | AlmaLinux, Rocky Linux | Быстрее на файлах от 1 ГБ |
| Btrfs | mkfs.btrfs /dev/sdb1 |
Да | Опционально | Снимки состояния средствами ФС |
Для диска под файлы, бэкапы и базы новичку подходит ext4: она есть в любом дистрибутиве, умеет и расти, и сжиматься, и по ней найдётся ответ на любой вопрос. XFS берут, когда сервер уже на RHEL-совместимой системе и там это формат по умолчанию.

Ручное монтирование: mkdir, mount и проверка через df -h
Каталог для будущего диска создают заранее. Флаг -p у mkdir означает «создать все недостающие уровни пути и не ругаться, если каталог уже есть».
mkdir -p /mnt/data
mount /dev/sdb1 /mnt/data
df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 98G 24K 93G 1% /mnt/data
Команда df -h показывает свободное место в человекочитаемом виде (флаг -h — human-readable). Появившаяся строка с /dev/sdb1 и точкой /mnt/data означает успех. Обратите внимание на цифры: диск на 100 ГБ показывает 98 ГБ общего объёма и 93 ГБ доступного — разница уходит на служебные структуры и тот самый пятипроцентный резерв ext4.
Отключают диск командой umount /mnt/data. Если система отвечает target is busy, значит, какой-то процесс держит открытым файл на этом диске или чей-то текущий каталог находится внутри. Найти виновника помогает lsof +D /mnt/data — она выводит список процессов, работающих с каталогом.
Такое монтирование живёт до перезагрузки: сервер перезапустится — и /mnt/data снова станет пустым каталогом на системном диске. Приложение при этом продолжит писать по тому же пути, данные лягут на корневой раздел и незаметно съедят его за несколько дней.
Постоянное монтирование: строка в /etc/fstab по UUID
Файл /etc/fstab — список того, что система монтирует при каждой загрузке. Одна строка описывает одно устройство и состоит из шести полей, разделённых пробелами или табуляцией.
Сначала узнаём UUID — уникальный идентификатор файловой системы длиной 36 символов, который присваивается при форматировании и не меняется никогда.
blkid /dev/sdb1
/dev/sdb1: LABEL="data" UUID="6f1a2c3d-4b5e-4a71-9c83-2d0e7f41ab55" TYPE="ext4"
Теперь добавляем строку в конец /etc/fstab любым редактором, например nano /etc/fstab:
UUID=6f1a2c3d-4b5e-4a71-9c83-2d0e7f41ab55 /mnt/data ext4 defaults,nofail 0 2
Поля по порядку: устройство (UUID), точка монтирования, тип файловой системы, опции, флаг резервного копирования утилитой dump (ставим 0, она давно не используется) и порядок проверки диска при загрузке. В последнем поле у корневого раздела стоит 1, у дополнительных дисков — 2, а 0 означает «не проверять вовсе».
Почему UUID, а не привычное /dev/sdb1? Имена sda, sdb, sdc выдаются в порядке обнаружения устройств при загрузке. Добавили третий диск или провайдер мигрировал виртуалку на другой гипервизор — и вчерашний sdb стал sdc, а строка в fstab указывает на чужое устройство. UUID привязан к самой файловой системе и переезжает вместе с ней.
Опция nofail: страховка от того, что сервер не загрузится
Ошибка в fstab — самая дорогая в этой теме. По умолчанию система считает каждую строку обязательной: если устройство недоступно, загрузка останавливается и машина уходит в аварийный режим с приглашением ввести пароль root. На домашнем компьютере это неприятно, на удалённом сервере — это потеря доступа: SSH не поднимется, останется только консоль в панели провайдера.
Опция nofail меняет поведение: если диска нет, система пропускает строку и продолжает грузиться. Для всех дополнительных дисков она обязательна. Вторая полезная опция — x-systemd.device-timeout=10: она сокращает ожидание устройства с 90 секунд по умолчанию до 10, чтобы загрузка не подвисала на полторы минуты.
UUID=6f1a2c3d-4b5e-4a71-9c83-2d0e7f41ab55 /mnt/data ext4 defaults,nofail,x-systemd.device-timeout=10 0 2
Проверять запись нужно до перезагрузки, а не после. Команда mount -a монтирует всё, что описано в fstab и ещё не смонтировано. Если она отработала молча — синтаксис верен. Любая ошибка на экране означает, что перезагружаться пока нельзя.
umount /mnt/data # отключаем ручное монтирование
mount -a # монтируем по записям fstab
findmnt --verify # дополнительная проверка синтаксиса файла
df -h /mnt/data # убеждаемся, что диск на месте
Связка из четырёх команд занимает 10 секунд и заменяет рискованную перезагрузку боевого сервера.
Полный сценарий: десять шагов от пустого диска до рабочего хранилища
Ниже собран весь путь целиком, с конкретными путями и параметрами. Схема рассчитана на один новый диск, который целиком отдаётся под каталог /mnt/data. Все команды выполняются от root или через sudo.
- Посмотреть список устройств:
lsblk -f. Найти диск без разделов и без UUID — например,/dev/sdbна 100 ГБ. - Создать таблицу разделов и раздел:
fdisk /dev/sdb, далееg,n, три Enter,w. - Сообщить ядру об изменениях:
partprobe /dev/sdb, затем убедиться, чтоlsblkпоказываетsdb1. - Создать файловую систему:
mkfs.ext4 -L data /dev/sdb1. - Создать точку монтирования:
mkdir -p /mnt/data. - Смонтировать вручную и проверить:
mount /dev/sdb1 /mnt/data, затемdf -h /mnt/data. - Узнать идентификатор:
blkid /dev/sdb1и скопировать значение UUID без кавычек.
Оставшиеся три шага касаются закрепления результата. Восьмой — добавить в /etc/fstab строку с UUID, точкой монтирования, типом ext4 и опциями defaults,nofail. Девятый — выполнить umount /mnt/data и mount -a, чтобы проверить запись без перезагрузки. Десятый — назначить владельца каталога, если с диском будет работать не root: команда chown -R www-data:www-data /mnt/data передаёт каталог и всё его содержимое пользователю веб-сервера.
После этого перезагрузите машину командой reboot и убедитесь, что df -h по-прежнему показывает нужную строку. Порядок остальных базовых шагов — доступ, обновления, файрвол — разобран в инструкции по настройке VPS с нуля.
Сколько места реально доступно: df -h, du -sh и резерв в 5%
Две команды закрывают почти все вопросы про место. df -h отвечает, сколько свободно на смонтированных файловых системах. du -sh отвечает, сколько занимает конкретный каталог: флаг -s даёт суммарное число вместо списка всех вложений, -h переводит байты в удобные единицы — килобайты, мегабайты и гигабайты.
df -h # свободное место по всем разделам
du -sh /mnt/data # сколько занял каталог целиком
du -sh /mnt/data/* # разбивка по вложенным каталогам
df -i # свободные inode, а не гигабайты
Цифры df и du почти никогда не сходятся точь-в-точь, и это нормально. Первая причина — резерв ext4: 5% объёма отдаются процессам root, чтобы при переполнении диска система осталась управляемой. На томе в 500 ГБ это 25 ГБ, которые обычному пользователю не видны. Для диска под данные резерв уменьшают: tune2fs -m 1 /dev/sdb1 оставит 1% вместо пяти.
Вторая причина — удалённые файлы, которые держит работающий процесс: место освободится после его перезапуска. Третья — inode: так называются служебные записи, по одной на каждый файл или каталог. Их количество задаётся при форматировании, и на разделе с миллионами мелких файлов они кончаются раньше гигабайтов: система пишет No space left on device при свободных 40 ГБ, а df -i показывает 100% в столбце IUse%.

Разбор ошибок монтирования по слоям
Диагностику ведут сверху вниз: сначала проверяют, что устройство существует, затем — что на нём есть файловая система, и только потом разбираются с точкой монтирования и опциями. Каждое сообщение mount указывает на конкретный слой.
| Сообщение | Что произошло | Что сделать |
|---|---|---|
special device /dev/sdb1 does not exist |
Раздел не создан или опечатка в имени | lsblk, при отсутствии sdb1 — вернуться к fdisk |
mount point does not exist |
Нет каталога для монтирования | mkdir -p /mnt/data |
wrong fs type, bad option, bad superblock |
Файловая система не создана или тип в fstab указан неверно | blkid /dev/sdb1 и сверить TYPE со строкой fstab |
target is busy при umount |
Процесс держит файл внутри каталога | lsof +D /mnt/data, закрыть или остановить процесс |
No space left on device при свободном месте |
Закончились inode | df -i, удалить мелкие файлы или пересоздать ФС |
| Сервер в аварийном режиме после перезагрузки | Ошибка в fstab, у строки нет nofail | В консоли провайдера: mount -o remount,rw /, исправить строку, добавить nofail |
Если машина всё равно не грузится, посмотрите журнал: journalctl -xb покажет, на каком юните (так называют отдельную службу systemd) остановилась загрузка. Строку в fstab можно временно закомментировать символом # — сервер поднимется без дополнительного диска, а разбираться получится уже по SSH.
На каком сервере имеет смысл держать отдельный диск под данные
Отдельный том оправдан, когда данные растут быстрее системы: файловое хранилище, архив резервных копий, каталог с видео или логами. Переполнение такого диска не роняет операционную систему, а перенести его на другую машину можно вместе с файловой системой.
Тип носителя выбирают по задаче. NVMe и SSD дают отклик в доли миллисекунды и нужны базам данных — разница между ними разобрана в материале про NVMe и SSD для сервера. Под архив, куда пишут раз в сутки, дешевле взять VPS с HDD: гигабайт там обходится в разы дешевле, чем на SSD-конфигурациях.
| Провайдер | Цена от | Диск базового тарифа | Локации | Тарифов |
|---|---|---|---|---|
| Cloudcore | 59 ₽/мес | 10 ГБ NVMe | Москва, Нидерланды | 12 |
| Hosting-Russia | 99 ₽/мес | По конфигурации | Россия | Под заказ |
| 4VPS | 110 ₽/мес | 5 ГБ NVMe | 35 стран | 568 |
| HostVDS | 127 ₽/мес | 10 ГБ NVMe | Россия, Германия, Нидерланды | 12 |
Данные проверены 04.09.2026.
Обратите внимание на объём базового диска: 5–10 ГБ хватает на систему и пару служб, но не на данные. Дополнительный том либо докупают отдельно, либо сразу берут тариф старше. В каталоге собраны 44 площадки, и фильтр по размеру диска помогает не переплачивать за лишние ядра.
Частые ошибки при монтировании
Почти все проблемы с дисками сводятся к пяти-шести повторяющимся сюжетам. Они одинаково выглядят и у новичка, и у администратора, который делает это раз в год и забывает детали.
Ниже — то, что чаще всего приводит к потере данных или к недоступному серверу. Каждый пункт проверяйте перед перезагрузкой машины.
- Форматирование не того устройства:
mkfs.ext4 /dev/sda1вместоsdb1уничтожает систему за секунды. - Запись в fstab по имени
/dev/sdb1вместо UUID — после смены порядка дисков сервер монтирует не то устройство. - Отсутствие опции
nofailу дополнительного диска — при недоступности тома загрузка останавливается. - Перезагрузка без предварительной проверки
mount -a: опечатка обнаруживается уже в аварийном режиме. - Монтирование в непустой каталог — старые файлы становятся невидимы, и их принимают за пропавшие.
- Приложение оставили писать в путь, который смонтирован только вручную: после ребута данные уходят на корневой раздел.
Частые вопросы
Обязательно ли создавать раздел, или можно форматировать весь диск? Можно и без раздела: mkfs.ext4 /dev/sdb отработает на всём устройстве, и такой диск монтируется как обычно. Раздел удобнее тем, что оставляет пространство для манёвра и понятнее выглядит в выводе lsblk, поэтому в инструкциях по умолчанию делают его.
Как расширить диск, если провайдер увеличил его объём? Порядок такой: расширить раздел утилитой growpart /dev/sdb 1, затем растянуть файловую систему — resize2fs /dev/sdb1 для ext4 или xfs_growfs /mnt/data для XFS. Обе команды работают на смонтированном диске, размонтировать его не нужно.
Что делать, если после перезагрузки сервер не поднялся из-за fstab? Зайдите в консоль через панель провайдера, выполните mount -o remount,rw /, чтобы корень стал доступен для записи, откройте /etc/fstab, закомментируйте проблемную строку символом # и перезагрузитесь. Дальше разбирайтесь по SSH: почти всегда причина — неверный UUID или отсутствие nofail.
Нужен ли LVM для одного дополнительного диска? Для одного тома под данные — нет, обычного раздела достаточно. LVM имеет смысл, когда дисков несколько и вы хотите объединять их в общий пул, менять размеры логических томов на лету или делать снимки состояния. За гибкость платят усложнением схемы восстановления.
Почему df показывает меньше, чем указано в тарифе? Складываются три вещи: разница между гигабайтом производителя (1000 в кубе байт) и гибибайтом системы (1024 в кубе), служебные структуры файловой системы и резерв ext4 в 5%. На диске 100 ГБ реально доступными оказываются около 93 ГБ, и это ожидаемое поведение, а не обман провайдера.
Как смонтировать диск только для чтения? Добавьте опцию ro: mount -o ro /dev/sdb1 /mnt/data или укажите ro,nofail в fstab. Режим полезен, когда нужно снять данные с подозрительного диска, ничего на нём не изменив, — например, перед проверкой файловой системы командой fsck.
Отличается ли порядок действий для NVMe-дисков? Отличаются только имена устройств: вместо /dev/sdb будет /dev/nvme1n1, а раздел получит имя /dev/nvme1n1p1 с буквой p перед номером. Все команды — fdisk, mkfs.ext4, mount, blkid — работают одинаково.
Итог
Подключение диска в Linux укладывается в шесть команд: lsblk, fdisk, mkfs.ext4, mkdir, mount и запись в /etc/fstab. Критичны в этой цепочке две вещи: указывать UUID вместо имени устройства и добавлять опцию nofail дополнительным дискам. Перед перезагрузкой всегда прогоняйте mount -a — это единственная проверка, которая ловит опечатку до того, как сервер уйдёт в аварийный режим.
Если диск нужен под растущее хранилище, разумнее сразу выбирать тариф с запасом по объёму, а не докупать тома каждые два месяца. Конфигурации и цены от 59 ₽/мес по 44 площадкам собраны в разделе VPS на Linux — там же фильтры по типу накопителя, размеру диска и локации.