Предположим, что у нас есть виртуальная машина с установленной операционной системой Ubuntu и требуется увеличить размер раздела, например системного. В этой статье мы рассмотрим на примере Ubuntu 20 увеличение системного раздела без LVM.
Вводные данные
Наша Ubuntu 20 установлена на Hyper-V. Для начала проверим размер файловой системы, выполнив df -h (все команды выполняются от root пользователя):
# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 394M 1,4M 392M 1% /run
/dev/sda3 24G 7,4G 16G 33% /
tmpfs 2,0G 0 2,0G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 4,0M 0 4,0M 0% /sys/fs/cgroup
/dev/sda2 512M 7,8M 505M 2% /boot/efi
tmpfs 394M 144K 394M 1% /run/user/1000
Наш системный раздел, смонтированный в / имеет размер 24 Гб.
Посмотрим вывод fdisk -l:
# fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F5F02D9D-060D-422F-BA27-1981A6CA23F4
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 1054719 1050624 513M EFI System
/dev/sda3 1054720 52426751 51372032 24.5G Linux filesystem
В данном примере у нас 1 диск /dev/sda размером 25 гигабайт, который разбит на 3 логических: /dev/sda1, /dev/sda2 и /dev/sda3 с типом Linux filesystem – он нас и интересует.
Увеличение размера диска
В среде виртуализации увеличиваем размер жесткого диска нашей виртуальной машины. Скорее всего ваша система виртуализации попросит вас предварительно выключить ВМ. Я увеличил диск до 30 гигабайт, запускаем машину и проверяем:
# fdisk -l
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F5F02D9D-060D-422F-BA27-1981A6CA23F4
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 1054719 1050624 513M EFI System
/dev/sda3 1054720 52426751 51372032 24.5G Linux filesystem
Внимание! Перед тем, как приступить к работам по расширению системного раздела, обязательно сделайте резервную копию данных!
После увеличения размера диска необходимо увеличить сам системный раздел. Выполним fdisk /dev/sda, где /dev/sda – метка нашего диска (Disk /dev/sda):
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Вводим p, чтобы посмотреть на список разделов:
Command (m for help): p
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F5F02D9D-060D-422F-BA27-1981A6CA23F4
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 1054719 1050624 513M EFI System
/dev/sda3 1054720 52426751 51372032 24.5G Linux filesystem
Чтобы расширить раздел требуется предварительно удалить информацию о нём. Для этого вводим d и указываем раздел (3 для /dev/sda3):
Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 has been deleted.
При этом удаляется только запись о разделе, сами данные остаются на диске!
Вводим n – создание нового раздела:
Command (m for help): n
Далее указываем порядковый номер раздела:
Partition number (3-128, default 3):3
Далее указываются начальный и конечный сектор. Обязательно проверьте, чтобы они совпадали со значениям, указанными через дефис. Таким образом мы используем все неразмеченное пространство:
First sector (1054720-62914526, default 1054720): 1054720
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1054720-62914526, default 62914526): 62914526
Created a new partition 3 of type 'Linux filesystem' and of size 29.5 GiB.
Как видим, был создан раздел на 29.5 гигабайт с типом Linux filesystem.
Также будет задан вопрос, хотим ли мы удалить текущую файловую систему. Отвечаем отказом:
Partition #3 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: N
Осталось только сохранить таблицу разделов:
Command (m for help): w
Перезагружаем виртуальную машину:
# reboot
Теперь воспользуемся утилитой resize2fs (для ext4) для увеличения размера файловой системы:
# resize2fs /dev/sda3
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/sda3 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 4
The filesystem on /dev/sda3 is now 7732475 (4k) blocks long.
Проверяем результат:
# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 394M 1.4M 392M 1% /run
/dev/sda3 29G 7.4G 21G 27% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/sda2 512M 7.8M 505M 2% /boot/efi
tmpfs 394M 84K 394M 1% /run/user/126
tmpfs 394M 72K 394M 1% /run/user/1000
Заключение
Как видим, в Ubuntu 20 увеличение системного раздела – не такая уж и сложная задача.
Вы можете посмотреть похожие статьи по расширению разделов в различных дистрибутивах linux:
- Ubuntu 21 увеличение раздела диска
- CentOS 8 увеличение LVM раздела
- Debian 11 увеличение раздела
Обновлено: 09.01.2023
Опубликовано: 22.06.2017
В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.
Принцип увеличения диска:
- Расширение раздела.
- Изменение размера файловой системы.
В зависимости от типа раздела и файловой системы, действия различаются.
Любая работа с диском несет риск потери информации. Перед началом работ убедитесь в наличие резервных копий ценных данных.
Расширение разделов
Обычных
LVM
Изменение размера файловой системы
Использование GParted
Шаг 1. Расширение раздела
Мы рассмотрим варианты работы с обычными томами (разделами) и томами LVM. Проверить, какой тип раздела у нас используется можно командой:
lsblk
Нам интересны варианты part и lvm.
Обычные тома (part)
Допустим, есть диск /dev/sdb и раздел /dev/sdb2, который нужно увеличить. Разберем два подхода, сделать это.
1. С помощью утилиты growpart (без отмонтирования раздела)
Данная утилита позволяет увиличить размер слайса без необходимости его отмонтировать. Это очень удобно для работы с корневыми разделами. Данная утилита не установлена в системе. В зависимости от последней наши действия будут различаться.
а) Для систем DEB:
apt install cloud-guest-utils
б) Для систем RPM:
yum install cloud-utils-growpart
Если наш диск имеет разметку GPT, то потребуется установить также утилиту gdisk.
а) Для DEB:
apt install gdisk
б) Для RPM:
yum install gdisk
Установка growpart завершена. Идем дальше.
Для расширения раздела /dev/sdb2 вводим команду:
growpart /dev/sda 2
Мы должны увидеть что-то на подобие:
CHANGED: partition=2 start=4096 old: size=20965376 end=20969472 new: size=41938910 end=41943006
Готово.
2. С помощью утилиты fdisk/parted (требуется отмонтировать раздел)
Данный способ удобнее тем, что не нужно устанавливать дополнительных утилит, но он потребует отмонтирование раздела. Это можно сделать командой:
umount /dev/sdb2
В случае работы с корневой директорией, отмонтировать ее не получиться. В таком случае необходимо загрузить компьютер с Windows LiveCD или GParted Live.
Подключаемся утилитой fdisk к /dev/sdb:
fdisk /dev/sdb
Если мы работаем с разделом более чем 2Тб, используем утилиту parted.
Смотрим номера разделов:
: p
Удаляем раздел (не переживайте — все данные сохраняются):
: d
: 2
* в моем примере, раздел для удаления на второй позиции.
Создаем новый раздел:
: n
Первичный (primary):
: p
Номер раздела — 2:
: 2
На запрос начального и конечного секторов просто нажимаем Enter.
Если раздел был загрузочный, добавляем соответствующий флаг:
: a
Еще раз проверяем, что получилось:
: p
Сохраняем изменения:
: w
LVM
LVM-тома расширяются на лету, даже для корневых разделов. В данном примере, работаем с /dev/sda.
Открываем диск утилитой fdisk:
fdisk /dev/sda
* напомню, что при работе с диском 2Тб и более, следует использовать утилиту parted.
Создаем еще один раздел:
: n
Первичный:
: p
Номер раздела оставляем тот, который предлагает система (просто нажимаем Enter).
Первый и последний сектора также оставляем по умолчанию для использования всего дискового пространства (еще два раза Enter).
Задаем тип раздела:
: t
Выбираем номер раздела (в моем примере создавался раздел 3):
: 3
Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):
: 8e
Сохраняем настройки:
: w
Проинформируем систему, что в таблице разделов произошли изменения:
partprobe
Создаем физический том из нового раздела:
pvcreate /dev/sda3
Смотрим наши Volume Group и для нужного добавляем созданный том:
vgdisplay
vgextend vg_centos /dev/sda3
* в моем примере группа томов LVM называется vg_centos
Смотрим LVM-разделы и расширяем пространства для нужного:
lvdisplay
lvextend -l +100%FREE /dev/vg_centos/lv_root
* данная команда расширяем LVM-раздел /dev/vg_centos/lv_root, используя все свободное пространство (100%FREE).
Шаг 2. Изменение размера для файловой системы
После того, как на предыдущем шаге мы расширили раздел, система по-прежнему будет видеть старый по объему диск. Чтобы это исправить, необходимо выполнить команду по изменению размера файловой системы. В зависимости от последней, команды различаются.
Посмотреть файловую систему:
df -T
ext2/ext3/ext4:
resize2fs /dev/vg_centos/lv_root
XFS:
xfs_growfs /dev/sda2
Reiserfs:
resize_reiserfs /dev/sdb
* обратите внимание, что в данных примерах используются различные устройства.
Если раздел был отмонтирован, монтируем его, например:
mount /dev/sda2 /mnt
Проверяем, что настройки применились:
df -h
Увеличение разделов с Gparted
Если работы выполняются на системе с графическим интерфейсом или есть возможность перезагрузить сервер и загрузиться с LiveCD, можно воспользоваться простым средством — утилитой Gparted, которая позволяем менять размер разделов мышкой.
Запускаем утилиту — выбираем диск, с которым будем работать — кликаем правой кнопкой по разделу, который хотим увеличить и выбираем Resize/Move:
В открывшемся окне с помощью мышки или форм меняем размер раздела:
Нажимаем кнопку Resize/Move.
Проверяем изменения в окне программы и сохраняем настройки кнопкой «Apply All Operations»:
В сегодняшнем практическом уроке я научу вас, как правильно изменить размер разделов de Linux активен и работает, например, в нашей операционной системе Ubuntu, в данном случае Ubuntu 13.04.
Одна из самых обременительных вещей, которые Linux имеет против Windows, — это невозможность изменить размер разделов жесткого диска или раздела используемой системы. Причина в том, что для выполнения этого процесса нам сначала придется размонтируйте том, чтобы изменить его размер.
Как я уже сказал в заголовке руководства, это большой недостаток по сравнению с Windows так как из его родного инструмента управление диском Мы можем изменить размер используемого устройства, на котором установлена операционная система. Microsoft, без необходимости разбирать объем блока и всего за несколько минут.
Теме статьи:
Как исправить проблемы со звуком в Ubuntu 18.04
В Linux мы также можем сделать этот процесс, единственное, что нам придется делать это из Живой CD o Ubuntu Live USB; в этом случае мы будем делать это из Live USB из Ubuntu 13.04, который мы создали в предыдущем упражнении с помощью Yumi.
Первое, что нам нужно сделать, это перезапустить нашу систему с Live USB de Ubuntu 13.04 и из опций Bios выберите флешку в качестве первого варианта загрузки, после запуска USB и на главном экране Yumi мы выберем дистрибутивы Linux, а затем опцию для тестирования Ubuntu 13.04 без установки на жесткий диск.
Как только нам покажут Рабочий стол Ubuntu Теперь мы можем выполнить шаги, которые я описываю шаг за шагом ниже.
Действия по изменению размера разделов
Однажды начавшись с Живой дистрибутив мы перейдем к тире и наберем GParted:
Щелкаем по иконке и появится главное окно программы GParted это утилита для управления дисковыми накопителями.
Как вы можете видеть на скриншоте выше, у меня создано два раздела, один для Windows 8 и еще один для Ubuntu 13.04, мы выберем раздел Linux в формате EXT и, наведя на него курсор, мы щелкнем правой кнопкой мыши, чтобы выбрать вариант Изменить размер / Переместить.
Теперь появляется новое окно, в котором мы изменим выбранный раздел, не повредив размещенную операционную систему, в данном случае Ubuntu 13.04.
Теме статьи:
Как быстро и легко создать загрузочную USB-версию Ubuntu 16.10
Мы можем изменить размер раздела Linux, напрямую вводя новый размер в текстовые поля, или использовать верхнюю панель, перемещаясь влево или вправо.
Когда мы закончим назначение нового измерения, нам останется только нажать на кнопку Изменить размер / Переместить и очень терпеливо дождитесь завершения процесса, который может занять несколько часов.
Этим мы изменим размер нашего раздела Linux, ничего сложного, хотя довольно утомительно и громоздко.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Вы можете быть заинтересованы
- Печать
Страницы: [1] Вниз
Тема: Как увеличить размер системного раздела (Прочитано 7586 раз)
0 Пользователей и 1 Гость просматривают эту тему.

z-z
Здравствуйте!
В общем дал корню слишком мало места… и оно закончилось))
Проблема вот в чем. На логическом диске у меня есть 4 раздела. Выглядят они так:
/dev/sda5: TYPE="ntfs"
/dev/sda6: TYPE="swap"
/dev/sda7: TYPE="ext4"
/dev/sda8: TYPE="ext4"
/dev/sda5 — барахолка, там места много. Я могу оттуда вырезать, но как мне этот кусок памяти дотащить до /dev/sda7 ?
Я в том смысле, что в gparted нельзя просто взять и перетащить кусок памяти, я могу из /dev/sda5 прилепить память только в /dev/sda6…
Возможно я чего то не знаю в gparted?))
Тут еще второй вопрос возникает… Если надо так тащить «от одного ко второму» вниз.. Ничего ли я не потеряю при этом? Как это правильно сделать?
ТС не появлялся на Форуме более трех месяцев по состоянию на 05/12/2019 (последняя явка: 14/08/2019). Модератором раздела принято решение закрыть тему.
—zg_nico
« Последнее редактирование: 05 Декабря 2019, 06:37:29 от zg_nico »
alang
z-z, правильней будет дать скрин gparted, а не словесное описание, из которого все равно ничего не понять.

wajnon
z-z,
я могу из /dev/sda5 прилепить память только в /dev/sda6…
а потом из /dev/sda6 прилепить к /dev/sda7
Ничего ли я не потеряю при этом?
время
« Последнее редактирование: 30 Ноября 2015, 20:38:38 от wajnon »

z-z
alang, картинка
wajnon, время — понятно)) Просто я уже боюсь трогать ось, она у меня уже месяц нормально работает… Вдруг опять что-то потеряю…

wajnon
z-z,
Вдруг опять что-то потеряю…
риск потерять данные есть. можешь бэкап сделать

Yuriy_Y
Вот способ. Бери любой дистр линукса, грузи его в режиме лайва. Запускаешь gparted, удаляешь раздел sdb6, изменяешь раздел sdb5, откусывая от него нужное количество гигов. Потом создаешь опять раздел sdb6, помечая его как своп. Изменяешь размер sdb7, забирая пустое пространство. Только после этого тыркаешь применить изменения. Теоретически, ничего отвалиться не должно.
Практика же показывает, что электрики отключают свет в самое подходящее время. Для них…

xuser73
Один из вариантов:
1.Запуститься с лайв диска
2. откусить от sdb5 кусок. Перед выполнением этой операции рекомендуется провести дефрагментацию раздела ntfs средствами венды
3. скопировать туда содержимое хомяка (sdb8), включая скрытые файлы
4. внести изменения в /etc/fstab (изменить UUID раздела куда монтируется хомяк)
5. удалить раздел sdb8
6. растянуть на освободившееся место sdb7
7. проверить содержимое fstab, если потребуется — поправь UUID корня.
Недостаток этого варианта — есть риск потери данных в разделах и риск невозможности авторизации или поломать систему при ошибке во время правки fstab.
Рекомендуется сделать резервные копии.
« Последнее редактирование: 30 Ноября 2015, 21:11:19 от xuser73 »
Настоящему коту всегда март.

z-z
В общем решил рискнуть, и вроде все получилось)) Сделал так.
Откусил от ntfs раздела кусок, прилепил его к swap, сразу откусил от swap-а кусок (при этом я еще немного расширил swap почему то ) и прилепил его к /. Все это сделал в одной итерации, не нажимая «готово». Подождал минут 15 и все готово =)
PS. На форуме есть возможность найти свои темы как нибудь? А то приходится руками искать по страницам…(

mahinist
z-z
PS. На форуме есть возможность найти свои темы как нибудь?
А то приходится руками искать по страницам…(
В «профиль пользователя» смотри ТЫЦ .
« Последнее редактирование: 06 Декабря 2015, 11:22:19 от mahinist »
31-регион
valderus
Странно. Мне всегда хватало 10 гигов для корня. Может для начала попробовать разобраться чем забит системный раздел и какая папка разрослась до невменяемого состояния. Disk Usage Analyzer или ее аналог в графическом виде помогут разобраться.

z-z
Странно. Мне всегда хватало 10 гигов для корня. Может для начала попробовать разобраться чем забит системный раздел и какая папка разрослась до невменяемого состояния. Disk Usage Analyzer или ее аналог в графическом виде помогут разобраться.
да там как то все по мелочи собралось) 5.5 гигов занимает /usr, из них 2.5 — lib, 2 — share. Программ просто понаставил много…
ПС. у меня перестала работать регулировка громкости функциональными клавишами… это может быть связано с процедурой расширения? Как это исправить?)
- Печать
Страницы: [1] Вверх
Частая задача в моей текущей работе — увеличить объем раздела на виртуальной машине без выключения машины (на горячую). Под рукой постоянно держу небольшой cheatsheet (шпаргалку) по работе с разделами в Linux.
План действий
Перед изменением размеров разделов рекомендуется отмонтировать диск. Если диск системный, то нужно загружаться в recovery. Я делаю это на горячую на свой страх и риск.
- Делаем бекап машины! (не могу не написать этого)
- Увеличиваем объем диска в гипервизоре (этот пункт не затрагиваем)
- Сканируем диски в системе
- Меняем размер раздела
- Увеличиваем файловую систему
Сканируем диски в системе
После увеличения объема диска есть вероятность того, что в системе мы новый объем сразу не увидим. Проверяем. Я использую команду lsblk
:
root@hostname.infra.local:/home/user# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
loop0 7:0 0 99,2M 1 loop /snap/core/10908
loop2 7:2 0 99,2M 1 loop /snap/core/10958
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 32G 0 part /
sdb 8:16 0 4T 0 disk <<<--------
└─sdb1 8:17 0 4T 0 part /pgsqldb <<<--------
sdc 8:32 0 109,8G 0 disk
└─sdc1 8:33 0 109,8G 0 part /temp_dump
sr0 11:0 1 829M 0 rom
Стрелкой я выделил диск, который мы увеличили до 5Т, но увеличенный объем не видим.
Нужно заставить систему просканировать диск.
echo 1 > /sys/block/sdb/device/rescan
(вместо sdb — нужный диск)
Сразу после этого снова выполняем lsblk
:
sdb 8:16 0 5T 0 disk
└─sdb1 8:17 0 4T 0 part /pgsqldb
То что нужно. Перейдем к увеличению раздела.
Меняем размер раздела
Вообще, мы можем для любых вариантов использовать программу parted, но я покажу еще способ с программой fdisk. Он подходит для разделов объемом менее 4 терабайт.
Здесь будет несколько вариантов:
- у нас обычная разметка диска или LVM
- у нас диск c таблицей разметки GPT более 4 терабайт объемом
Рекомендую на этом этапе сначала выполнить команду parted -l
, которая может показать ошибку и предложить опции Fix\Ignore
:
Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use all of the space (an extra 41943040 blocks) or continue with the
current setting?
Fix/Ignore? Fix
ПишемFix
.
Обычные разделы или LVM
Чаще всего я пользуюсь программой fdisk. Можно посмотреть все наши дискиразделы: fdisk -l
.
Так как меняем размер раздела на диске sdb
, то и заходим в fdisk /dev/sdb.
Вводим команду p
и получаем наш текущий список разделов:
Device Start End Sectors Size Type
/dev/sdb1 2048 8589843750 8589841703 4T Linux filesystem
Удаляем раздел /dev/sdb1
: вводим команду d
.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Если разделов на диске больше, программа предложит ввести цифру нужного раздела.
Никаких изменений на диск мы еще не сделали! Не боимся.
Создаем новый раздел n
:
Command (m for help): n
Partition number (1-128, default 1):
First sector (34-8589934558, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-8589934558, default 8589934558):
Created a new partition 1 of type 'Linux filesystem' and of size 4 TiB.
Обратите внимание, программа сообщает, что при создании раздела она нашла запись ext4 в разделе и предлагает удалить ее. Не удаляем. Нет! Не надо!
Partition #1 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: N
Опять вводим команду p
, чтобы посмотреть новую информацию:
Device Start End Sectors Size Type
/dev/sdb1 2048 10751953125 10751951078 5T Linux filesystem
Ну вроде все хорошо. Теперь вводим команду w
(write). После этого ваши изменения запишутся на диск.
Большой диск GPT
Если по предыдущему пункту попробовать отресайзить диск большого объема (больше 4 терабайт), то появится ошибка Value out of range
. Придется воспользоваться программой parted.
Делаем parted /dev/sdb
и смотрим текущие разделы командой print
:
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 3299GB 3299GB ext4 primary
Меняем размер раздела командой resizepart 1
:
(parted) resizepart 1
Warning: Partition /dev/sdb1 is being used. Are you sure you want to continue?
Yes/No? Yes
End? [3299GB]? 4398GB
На вопрос End?
пишем новый объем раздела. Если хотим расширить его до максимума, то цифры можно подсмотреть выше в выводе команды print
: Disk /dev/sdb: 4398GB
Здесь изменения происходят сразу, поэтому при отсутствии вывода после предыдущей команды можно делать quit.
Увеличение файловой системы
Тут должно быть все просто. Разница только между разметками: обычная или LVM.
Обычная разметка
Просто выполняем команду resize2fs /dev/sdb1
:
root@hostname.infra.local:/home/user# resize2fs /dev/sdb1
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/sdb1 is mounted on /pgsqldb; on-line resizing required
old_desc_blocks = 384, new_desc_blocks = 512
The filesystem on /dev/sdb1 is now 1073730212 (4k) blocks long.
LVM
Вообще, LVM позволяет добавлять физические диски (PV — physical volume) в VG — volume group, а в них создавать логические тома (LV — logical volume) примерно по такой схеме:
sda1 sda2 sdb sdc <-- PV
| | | |
| | | |
+--------+- VG00 -+-------+ <-- VG
|
+-------+-------+---------+
| | | |
root usr home var <-- LV
| | | |
ext3 reiserfs reiserfs xfs <-- Файловые системы
Следовательно, можно не ресайзить диск в гипервизоре, а добавить еще один. Затем добавить новый PV в VG.
Но мы идем путем джедая увеличения диска, поэтому в случае с LVM к ресайзингу файловой системы добавляется несколько команд.
Для просмотра информации о PV, VG, LV существуют команды pvs
, vgs
, lvs
. И их более подробные варианты pvscan
, vgscan
, lvscan
:
root@hostname:/home/user# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 t-ubuntu16-vg lvm2 a-- 49.52g 0
root@hostname:/home/user# vgs
VG #PV #LV #SN Attr VSize VFree
t-ubuntu16-vg 1 2 0 wz--n- 49.52g 0
root@hostname:/home/user# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root t-ubuntu16-vg -wi-ao---- 48.52g
swap_1 t-ubuntu16-vg -wi-ao---- 1.00g
- Меняем размер PV
pvresize /dev/sda1
- Увеличиваем размер LV до максимального
lvextend -l +100%FREE /dev/mapper/vg1-dsads-lv-root
- Увеличиваем файловую систему на нужном разделе
resize2fs /dev/mapper/vg1-dsads-lv-root
Итог
Смотрим, что у нас получилось df -h
:
root@hostname.infra.local:/home/user# df -h
Filesystem Size Used Avail Use% Mounted on
udev 38G 0 38G 0% /dev
tmpfs 7,5G 4,4M 7,5G 1% /run
/dev/sda2 32G 24G 6,3G 79% /
/dev/sdb1 5,0T 3,3T 1,5T 71% /pgsqldb <<<-----
Видим новый объем. Все счастливы и довольны.
TL;DR
Кратко cheatsheet у меня выглядит так:
Смотрим, видит ли система новое место на дисках: lsblk
, parted -l
, fdisk -l
Если не видит: echo 1 > /sys/block/sda/device/rescan
(вместо sda — нужный диск) fdisk /dev/sda
(if sda)
p
— просмотр разделов
d
— удалить раздел который расширяешь
n
— создать новый раздел (создастся с тем индексом, который удалишь)
В большинстве случаев везде ответы будут по умолчанию. Когда спросит про затирание метки — НЕ удалять
p
— проверить что разделы имеют тот же вид что и в начале
w
— записать изменения на диск
resize2fs /dev/sda1
(номер — индекс раздела)
Если LVM:
pvresize /dev/sda1
lvextend -l +100%FREE /dev/mapper/vg1-dsads-lv-root
resize2fs /dev/mapper/vg1-dsads-lv-root
Если ошибка с gpt
parted -l
→ Fix
💡 Подписывайтесь на Телеграм-канал, чтобы не пропускать новые статьи
- Телеграм канал 📺
- Чат 🤘🏼