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

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

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

Теги

 

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

Ubuntu — добавляем диск на лету

Сисадмин должен знать как добавить диск на Ubuntu сервер. Иногда сервер проблематично перезагрузить, поэтому хороший сисадмин должен знать как добавить диск на Ubuntu сервер без перезагрузки.

Теги