Это инструкция для серверов с операционными системами Linux. Если вы используете сервер с ОС Windows, воспользуйтесь этой статьей.
Перед увеличением размера диска на VDS убедитесь, что на сервере отсутствует точка восстановления. При её наличии изменить размер диска будет невозможно.
Измените размер диска в панели timeweb.cloud/my:
Выберите нужный сервер из списка, перейдите в раздел «Конфигурация».
Выберите подходящую конфигурацию либо настройте размер диска вручную.
Нажмите «Сохранить и перезагрузить». Более подробная информация доступна здесь.
Данную процедуру необходимо выполнять только в случае, если вы ранее самостоятельно меняли разметку диска и в результате на нем создано два логических раздела и больше.
В остальных случаях (если на диске 1 раздел; если на диске 2 раздела, один из которых — swap) — диск будет переразмечен автоматически, и с вашей стороны никакие действия не требуются.
Процесс пересоздания / расширения разделов не приводит к удалению данных на диске.
1. Загрузите сервер с диска восстановления (инструкция).
2. Введите в консоли команду parted
с указанием реального имени диска в вашей системе (например, vda
, xvdb
и т.д.).
parted /dev/vda
3. Выполните команду print
и просмотрите список разделов в ее выводе.
Например:
— Если вы хотите расширить последний раздел на всю свободную область диска, переходите к пункту 4a.
— Если вы хотите создать новый раздел в свободной области диска, переходите к пункту 4b.
Мы не рассматриваем в этой статье варианты, когда требуется создать несколько новых разделов, однако вы можете найти необходимые инструкции в сети Интернет.
Если на этом этапе вам необходимо удалить раздел, это можно сделать командой rm
, указав номер раздела, например:
rm 3
4. Выполните переразметку диска.
4a. Чтобы расширить последний раздел на диске, выполните команду resizepart
, указав номер нужного раздела и размер: параметр «100%» в команде будет означать, что раздел должен занять все доступное место на диске. Например:
resizepart 3 100%
Далее:
• Выполните print
, чтобы проверить результат.
• Если все в порядке, введите команду q
, чтобы выйти из программы разметки.
• Переходите к пункту 5.
4b. Чтобы создать новый раздел в свободной области диска, выполните команду mkpart
, указав тип раздела (primary или extended), его номер и размер: параметр «100%» в команде будет означать, что раздел должен занять все доступное место на диске. Например:
mkpart primary 4 100%
Далее:
• Введите yes
, когда система запросит подтверждение размера нового раздела.
• Выполните print
, чтобы проверить результат.
• Если все в порядке, введите команду q
, чтобы выйти из программы разметки.
• Создайте в новом разделе файловую систему командой ниже, указав нужное имя раздела. После переходите к пункту 5.
mkfs.ext4 /dev/vda4
5. Теперь необходимо провести проверку на ошибки и исправление структуры файловой системы.
Для этого выполните в консоли команду e2fsck, указав имя раздела, с которым производились манипуляции в предыдущем шаге (/dev/vda3, /dev/vda4 и т.д.):
e2fsck -yf /dev/vda3
Вывод команды:
6. После чего измените размер файловой системы, указав нужное имя раздела:
resize2fs /dev/vda3
Теперь необходимо примонтировать раздел, в который вносились изменения (/dev/vda3, /dev/vda4 и т.д.):
mount /dev/vda3 /mnt
И проверить, что размер был успешно изменен:
df -h
Если вы видите, что размер диска остался прежним, рекомендуем вернуться к первому шагу и повторить процедуру пересоздания разделов, уделив внимание каждому этапу.
Если же размер диска изменился, отмонтируйте системный диск командой ниже, после чего вернитесь в стандартный режим загрузки.
umount /mnt
Если вы выполняете увеличение размера локального диска, обязательно создайте резервную копию перед выполнением процедуры. Это поможет избежать потери данных в случае непредвиденных ситуаций.
Измените размер локального или сетевого диска в панели управления.
После изменения размера диска в панели управления выполните команду, чтобы проверить новый размер устройства:
lsblk
Пример вывода:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 87M 1 loop /snap/lxd/29351
loop1 7:1 0 63.7M 1 loop /snap/core20/2434
loop2 7:2 0 63.9M 1 loop /snap/core20/2318
loop3 7:3 0 44.3M 1 loop /snap/snapd/23258
loop4 7:4 0 38.8M 1 loop /snap/snapd/21759
loop5 7:5 0 89.4M 1 loop /snap/lxd/31333
vda 252:0 0 15G 0 disk
└─vda1 252:1 0 15G 0 part /
vdb 252:16 0 1M 1 disk
vdc 252:32 0 20G 0 disk
└─vdc1 252:33 0 10G 0 part /mnt/disk2
Обратите внимание, что сетевые диски будут иметь обозначение sdX
, тогда как локальные — vdX
.
В данном примере видно, что устройство vdc
имеет увеличенный размер 20G
, но раздел vdc1
всё ещё 10G
. Следовательно, потребуется переразметить раздел и увеличить файловую систему.
Если вы увеличиваете локальный диск, создайте резервную копию, чтобы в случае непредвиденной ситуации данные не были утеряны.
Закомментируйте запись в /etc/fstab
(если диск добавлен):
Откройте файл /etc/fstab:
nano /etc/fstab
Найдите строку, соответствующую /dev/vdc1
(или его UUID
), и добавьте #
в начало строки, чтобы закомментировать ее. Это предотвратит автоматическое монтирование.
Перед размонтированием проверьте, какие процессы используют диск, выполнив:
lsof /mnt/disk2
Если вывод команды пустой, диск безопасен для размонтирования. Если процессы есть, завершите их или остановите соответствующее приложение.
Отмонтируйте диск:
sudo umount -l /mnt/disk2
Запустите fdisk
для редактирования диска:
fdisk /dev/vdc
Удалите старый раздел (не затрагивая данные):
Введите команду d
для удаления раздела.
Если у диска один раздел, как в нашем примере, он будет выбран автоматически.
Создайте новый раздел:
Введите команду n
для создания нового раздела.
Выберите тот же тип раздела (например, p
для основного).
Установите начальный сектор таким же, как был ранее (по умолчанию будет предложен верный вариант).
В качестве конечного сектора выберите максимальный доступный размер (по умолчанию).
При появлении вопроса:
Partition #1 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o:
Ответьте N
, если вы хотите сохранить данные на диске.
Сохраните изменения:
Введите команду w
для записи изменений.
После завершения работы с fdisk
выполните команду для обновления таблицы разделов в системе:
partprobe /dev/vdc
Эта команда обновит таблицу разделов в ядре, чтобы система учла изменения без необходимости перезагрузки. Если всё прошло успешно, то вы не увидите никакого сообщения.
Повторно выполните команду:
lsblk
Убедитесь, что раздел обновился и занимает весь доступный размер.
После обновления раздела нужно расширить файловую систему на новый размер. Для файловой системы EXT4 выполните:
Проверьте файловую систему:
e2fsck -f /dev/vdc1
Увеличьте файловую систему:
resize2fs /dev/vdc1
После этого можно примонтировать диск обратно и раскомментировать запись в /etc/fstab
:
mount -o barrier=0 /dev/vdc1 /mnt/disk2
Убедитесь, что новый размер доступен:
df -h
Пример вывода:
Filesystem Size Used Avail Use% Mounted on
tmpfs 96M 1.0M 95M 2% /run
/dev/vda1 15G 2.3G 13G 16% /
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 96M 4.0K 96M 1% /run/user/0
/dev/vdc1 20G 28K 19G 1% /mnt/disk2
Теперь диск полностью готов к использованию.