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

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

Linux 2

У нас есть традиция. Каждый год 30 декабря на сервере заканчивается место...

Шлифуем админское кунг-фу. Расширим раздел диска и файловую систему на лету без перезагрузки и без потери данных. Ранее я уже расширял разделы, но везде использовал fdisk. Сегодня я буду расширять диск на виртуальной машине VMware с операционной системой Ubuntu с помощью growpart. Данный метод подойдёт для Debian систем.

Подготовка

Увеличиваем диск на виртуальной машине VMware. Затем делаем снапшот на всякий случай. Если сначала сделать снапшот, то не получится увеличить размер диска.

Действовать приходится быстро, скриншоты делать некогда. На виртуалке у нас два диска по 50 ГБ, место закончилось на втором, а именно на /dev/sdb. Если быть точнее, на разделе /dev/sdb1. Я увеличиваю второй диск виртуалки со 50 до 60 ГБ. Решение временное, нужно потом разобраться как так быстро место закончилось за ночь, но это сейчас не важно, нужно запустить сервис.

Расширяем раздел

Заходим на виртуалку по SSH под рутом.

Мы увеличили диск sdb но система об этом не знает, нужно заставить сделать рескан диска.

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

Или по всем дискам, если требуется:

for D in $(ls /sys/block/sd?/device/rescan ); do echo ${D}; echo 1 > ${D}; done

Теперь нужно изменить наш раздел. Воспользуемся утилитой growpart. Она входит в пакет cloud-guest-utils.

apt-get install cloud-guest-utils
growpart /dev/sdb 1
root@test-pg01:~# growpart /dev/sdb 1
CHANGED: partition=1 start=2048 old: size=104853504 end=104855552 new: size=125827039 end=125829087

Раздел увеличился но файловая система об этом не знает. Теперь изменяем файловую систему (если файловая система xfs то используем xfs_growfs /путь_куда_примонтировано)

resize2fs /dev/sdb1
root@test-pg01:~# resize2fs /dev/sdb1
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/sdb1 is mounted on /var/lib/postgresql; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 8
The filesystem on /dev/sdb1 is now 15728379 (4k) blocks long.

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

lsblk
root@test-pg01:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0    1M  0 part
└─sda2   8:2    0   50G  0 part /
sdb      8:16   0   60G  0 disk
└─sdb1   8:17   0   60G  0 part /var/lib/postgresql
sr0     11:0    1 1024M  0 rom

На /dev/sdb1 стало 60 ГБ места, база заработала, можно спать. Быстро и удобно. Хороший метод. Все действия на одном скрине:

linux

Ссылки

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

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

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

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

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

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

Теги

 

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

Windows 10 — очистка папки WinSxS

Папка C:\windows\WinSxS является хранилищем компонентов Windows. В ней хранятся файлы, необходимы для работы установленных компонентов Windows. При установке обновления Windows старые компоненты сохраняет именно здесь, обеспечивая возможность "отката" на предыдущую версию при удалении установленного обновления.

Теги

HPE ProLiant Gen10 — меняем профиль рабочей нагрузки

В серверах HPE ProLiant Gen10, ProLiant Gen10 Plus и HPE Synergy существуют предустановленные профили рабочей нагрузки. В соответствии с выбранной рабочей нагрузкой сервер автоматически настроит все связанные параметры производительности.

Теги

Включаем VMware EVC в кластере с работающим vCenter 7

Просто так включить EVC в кластере VMware 7 с работающим vCenter не получится. Посмотрел мануалы в Интернете, предлагают очень странные решения. Есть вариант проще с использованием двух хостов.