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

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

Linux

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

Уже была подобная статья, там я расширял отдельный диск /dev/sdb. Сегодня задачка посложнее, будем расширять логический системный раздел /dev/sda5, который находится в расширенном разделе /dev/sda2, который, в свою очередь, лежит на диске /dev/sda. Там же где-то рядом есть своп /dev/sda1, его трогать не будем. В общем, структура разделов стандартная после установки Ubuntu:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    16G  0 disk
├─sda1   8:1    0    91M  0 part [SWAP]
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0  15,9G  0 part /

Проверим место:

df -hT

linux

/dev/sda5 смонтирован в основной раздел /, файловая система ext4, общий объём 16 Гб.

Увеличиваю на виртуальной машине диск до 20 Гб.

Командуем операционной системе выполнить сканирование диска sda и смотрим что получилось:

echo 1>/sys/class/block/sda/device/rescan
lsblk

linux

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

fdisk /dev/sda

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

p

linux

  • /dev/sda1 — Linux своп, он же загрузочный
  • /dev/sda2 — расширенный
  • /dev/sda5 — логический Linux

Мы не можем расширить раздел /dev/sda5, потому что он находится в /dev/sda2, поэтому нам нужно расширить раздел /dev/sda2.

Удаляем второй раздел.

d
2
p

linux

Как видим, вместе со вторым разделом удалился пятый. Заново создаём второй раздел (расширенный, с номером 2).

n
e
2
p

linux

Появился раздел /dev/sda2. Создадим пятый раздел (логический).

n
l
p

linux

Номер раздела присвоился автоматически.

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

w

linux

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

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

WARNING: Re-reading the partition table failed with error 16: Устройство или ресурс занято.
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)

или

ВНИМАНИЕ: Попытка перечитать таблицу разделов завершилась ошибкой 16: Устройство или ресурс занято.
Ядро всё ещё использует старую таблицу. Новая будет использована при следующей перезагрузке или при запуске partprobe(8) или kpartx(8)

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

partx -u /dev/sda

linux

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

resize2fs /dev/sda5

linux

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

lsblk
df -hT

linux

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

Ссылки

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

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

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

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

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

Теги

 

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

Установка UniFi Controller на Ubuntu Server

Для управления Wi-Fi точками доступа требуется установить на сервер UniFi Controller. Контроллер помогает конфигурировать точки доступа, настраивать бесшовный роуминг и обновлять прошивки точек. Для дома или небольшого офиса - то что надо. Дёшево и сердито. Ubuntu Server может быть виртуальным.

Управление RAID контроллером LSI (Broadcom, Avago) с помощью StorCLI в Oracle Linux

Поступил вопрос написать о том, как разбиты диски на массивы в каком-то одном сервере Oracle Linux. Я, честно говоря, уже и не помню что мы там конфигурировали, воспользуемся средствами операционной системы и утилитой StorCLI.