Ubuntu 20 увеличение системного раздела

ubuntu 20 увеличение системного раздела

Предположим, что у нас есть виртуальная машина с установленной операционной системой 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:

19 комментариев к “Ubuntu 20 увеличение системного раздела”

  1. Все бы хорошо… но в конце облом:

    sudo resize2fs /dev/sda

    resize2fs 1.46.3 (27-Jul-2021)

    resize2fs: Устройство или ресурс занято при попытке открыть /dev/sda

    Couldn’t find valid filesystem superblock.

    Ответить
  2. Добрый день. Подскажите, пожалуйста: Есть два диска на каждом по 1 разделу
    /dev/sda, с разделом /dev/sda1 (размер 228 ГБ) и /dev/sdb, с разделом /dev/sdb1 (500 ГБ)
    Как увеличить раздел sda1 за счет всего пространства на sdb1 ?

    Ответить
    • Добрый день.
      Для таких целей используется LVM, пример по расширению можно посмотреть тут.
      Командой lvdisplay можете проверить, используется ли у Вас LVM (вывод будет не пустой). Если вывод пустой, то создать lvm том для раздела, в котором у Вас рабочая система (скорее всего /dev/sda1) будет проблемно.

      Ответить
  3. Спасибо за статью.
    Однако у меня при выполнении команды “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” и далее как в статье.

    Ответить
  4. А у меня тоже в конце облом появился как в первом комментарии:

    sudo resize2fs /dev/sda3
    resize2fs: Device or resource busy while trying to open /dev/sda3
    Couldn’t find valid filesystem superblock.

    Пробовал и просто /dev/sda
    И файловая система ext4.
    В чем может быть проблема?

    Ответить
  5. после перезагрузки
    Считываем новый размер, чтобы ядро узнало это:
    pvresize /dev/sda3
    Измените логический том:
    lvextend -r -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv

    Ответить
  6. А у меня тоже в конце облом появился как в первом комментарии:

    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

    Ответить
  7. Я конечно не особо шарю, понадеялся на инструкцию, после 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 надо иначе.

        Ответить

Оставьте комментарий