
Предположим, что у нас есть виртуальная машина с установленной операционной системой 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
Ubuntu 20 увеличение системного раздела
Внимание! Перед тем, как приступить к работам по расширению системного раздела, обязательно сделайте резервную копию данных!
После увеличения размера диска необходимо увеличить сам системный раздел. Выполним 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:
Спасибо.
Все бы хорошо… но в конце облом:
sudo resize2fs /dev/sda
resize2fs 1.46.3 (27-Jul-2021)
resize2fs: Устройство или ресурс занято при попытке открыть /dev/sda
Couldn’t find valid filesystem superblock.
Отбой. нужно писать именно имя раздела /dev/sda2, не диска /dev/sda
Благодарю за единственный доходчивый гайд на просторах рунета!
Спасибо за Ваш отзыв!
Спасибо за информацию.
Добрый день. Подскажите, пожалуйста: Есть два диска на каждом по 1 разделу
/dev/sda, с разделом /dev/sda1 (размер 228 ГБ) и /dev/sdb, с разделом /dev/sdb1 (500 ГБ)
Как увеличить раздел sda1 за счет всего пространства на sdb1 ?
Добрый день.
Для таких целей используется LVM, пример по расширению можно посмотреть тут.
Командой lvdisplay можете проверить, используется ли у Вас LVM (вывод будет не пустой). Если вывод пустой, то создать lvm том для раздела, в котором у Вас рабочая система (скорее всего /dev/sda1) будет проблемно.
Отлично, спасибо, всё чётко получилось
Спасибо за статью.
Однако у меня при выполнении команды “fdisk -l” появлялось сообщение:
GPT PMBR size mismatch (146800639 != 2097151999) will be corrected by w(rite).
Чтобы это исправить делал следующее:
parted -l
Warning: Not all of the space available to /dev/sda appears to be used, you can
fix the GPT to use all of the space (an extra 1950351360 blocks) or continue
with the current setting?
Fix/Ignore? F
После этого уже “fdisk /dev/sda” и далее как в статье.
А у меня тоже в конце облом появился как в первом комментарии:
sudo resize2fs /dev/sda3
resize2fs: Device or resource busy while trying to open /dev/sda3
Couldn’t find valid filesystem superblock.
Пробовал и просто /dev/sda
И файловая система ext4.
В чем может быть проблема?
Покажите, пожалуйста, вывод fdisk -l и df -T
после перезагрузки
Считываем новый размер, чтобы ядро узнало это:
pvresize /dev/sda3
Измените логический том:
lvextend -r -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv
А у меня тоже в конце облом появился как в первом комментарии:
root@mediaserver:~# resize2fs /dev/sda3
resize2fs 1.46.5 (30-Dec-2021)
resize2fs: Device or resource busy while trying to open /dev/sda3
Couldn’t find valid filesystem superblock.
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: 3E95FFC9-C305-41FE-8046-AF2544FFDA8C
Device Start End Sectors Size Type
/dev/sdal 2048 4095 2048 IM BIOS boot
/dev/sda2 4096 3719167 3715072 1,8G Linux filesystem
/dev/sda3 3719168 62914526 59195359 28,2G Linux filesystem
Disk /dev/mapper/ubuntu—vg-ubuntu—lv: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
df -T
Filesystem Type IK-blocks Used Available Use% Mounted on
tmpfs tmpfs 814084 19436 794648 3% /run
/dev/mapper/ubuntu—vg-ubuntu—Iv ext4 10218772 10202392 0 100% /
tmpfs tmpfs 4070420 0 4070420 0% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
/dev/sda2 ext4 1790136 223380 1457496 14% /boot
tmpfs tmpfs 814084 4 814080 1% /run/user/1000
У вас lvm, порядок действий немного отличается. Есть пример для Centos 8:
CentOS 8 увеличение LVM раздела
Спасибо!
Я конечно не особо шарю, понадеялся на инструкцию, после reboot сервер нафиг умер, получилось так что не верно разметился, хотя я точно следовал инструкции, по итогу пришлось снести систему и поставить по новой. А казалось бы, потом делал уже по другой инструкции, все вышло:
$ sudo -i
# fdisk /dev/sda
Command (m for help): d
Command (m for help): n
Command (m for help): w
# pvresize /dev/sda3
# lvextend /dev/ubuntu-vg/ubuntu-lv -l +100%FREE
# resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
В статье рассматривается увеличение системного раздела без LVM (об этом написано в первом абзаце), а у Вас, судя по командам – lvm
Возможно, я не видел в статье ограничений, написано было для Ubuntu 20.x я и решил воспользоваться, как итог система умерла, мб кому-то будет полезным мой опыт. И то что размечать Lvm надо иначе.
ааааааа”!!!!! афтару зачеДД!!! давно хотел!!!