Перейти к основному содержанию

Linux — расширяем раздел на лету 3

Linux 2

Шлифуем админское кунг-фу. Расширим раздел диска и файловую систему на лету без перезагрузки и без потери данных. Я буду расширять диск на виртуальной машине VMware с операционной системой Ubuntu.

Уже была подобная статья, где я расширял отдельный диск /dev/sdb.:

Linux — расширяем раздел на лету

Потом была вторая статья, где я расширял логический системный раздел /dev/sda5, который находится в расширенном разделе:

Linux — расширяем раздел на лету 2

Сегодня рассмотрим более сложный вариант первой статьи, где приведённый алгоритм действий к успеху не приводит, раздел не расширяется, а всё из-за ошибки:

GPT PMBR size mismatch (314572799 != 419430399) will be corrected by w(rite)

Но давайте по порядку. Имеется диск /dev/sdb размером примерно 150 Гб. На диске есть раздел /dev/sdb1 с файловой системой ext4. Раздел забит на 91%, нужно добавить немного свободного места.

df -hT

linux

На виртуальной машине увеличиваем диск до 200 Гб. Командуем операционной системе выполнить сканирование диска sdb:

echo 1>/sys/class/block/sdb/device/rescan

linux

Смотрим что получилось:

lsblk

linux

Система увидела, что диск sdb стал больше, 200 ГБ.

Теперь выполним приём кунг-фу. С помощью fdisk удалим и заново создадим раздел без потери данных. Переходим к управлению разделами диска:

fdisk /dev/sdb

Отобразим список разделов:

p

linux

И вот первые грабли, обнаружено несоответствие размера GPT PMBR. Само оно не починится, я проверял. Если пересоздать раздел /dev/sdb1, то его размер не увеличится. Выполним ещё один приём кунг-фу, пересоздаём метку GPT:

g

Текущий раздел /dev/sdb1 на диске удалится (данные сохранятся). Создадим новый раздел:

n

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

p

Размер /dev/sdb1 200 ГБ, то что нужно.

Сохраняем изменения:

w

linux
Таблица разделов изменена.

Обращаем внимание на предупреждение:

WARNING: Re-reading the partition table failed with error 16: Устройство или ресурс занято.
Ядро всё ещё использует старую таблицу. Новая будет использована при следующей перезагрузке или после выполнения partprobe(8) or kpartx(8)

Обновляем таблицу разделов диска sdb:

partx -u /dev/sdb

Расширяем файловую систему ext4 в разделе sdb1 до конца раздела:

resize2fs /dev/sdb1

Проверяем что получилось:

df -hT

linux

Раздел /dev/sdb1 с файловой системой ext4 занимает 200 ГБ. Раздел забит на 68%.

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

Ссылки

Linux — расширяем раздел на лету

Linux — расширяем раздел на лету 2

Linux — расширяем раздел на лету 4

Linux — расширяем раздел на лету 5

Linux — расширяем раздел на лету 6

Теги

 

Похожие материалы

Visual Studio Code

Visual Studio Code — кроссплатформенный открытый редактор кода, разработанный компанией Microsoft. Бесплатный. Доступен для различных платформ: Windows 7, 8, 10; Debian, Ubuntu; Red Hat, Fedora, SUSE; macOS 10.9+.

Теги