Как расширить корневой раздел на Ubuntu 22.04

Напишу небольшую заметку о том, как расширить корневой раздел на Ubuntu 22.04. Уже несколько раз мне приходилось выполнять эту операцию – как на серверном варианте, так и на десктопном. А это уже повод для того, чтобы написать хотя бы краткую заметку.

Описание окружения

Я проверял этот метод для операционной системы Ubuntu 22.04. В серверном и десктоплном исполнении. Правда, все системы, на которых я выполнял эту операцию, были виртуальными машина на Proxmox или VMware.

В чем суть. При первоначальной установки операционной системы для корневой файловой системы был выдан какой-то небольшой объем. По мере работы операционной системы свободной место закончилось. Необходимо увеличить размер диска, а затем увеличить размер файловой системы.

Примеры ниже приведены для конфигурации дисков с использованием LVM и GPT.

Пример исходной конфигурации дисков:

roman@test1:~$ sudo pvs
[sudo] password for roman: 
  PV         VG        Fmt  Attr PSize   PFree
  /dev/sda3  ubuntu-vg lvm2 a--  <38.00g    0 
roman@test1:~$ sudo vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  ubuntu-vg   1   1   0 wz--n- <38.00g    0 
roman@test1:~$ sudo lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  ubuntu-lv ubuntu-vg -wi-ao---- <38.00g                                                    
roman@test1:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              792M  1.3M  791M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   38G  6.8G   29G  20% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  130M  1.7G   8% /boot
tmpfs                              792M  4.0K  792M   1% /run/user/1000
roman@test1:~$ 

Как расширить корневой раздел на Ubuntu

Как я выполнял расширение диски и размера файловой системы:

1. Сначала я увеличивал размер диска непосредственно в гипервизоре. Эта операция выполняется на каждом гипервизоре по разному. Обратитесь к руководству по вашему гипервизору для уточнения деталей.

2. Теперь увеличим размер раздела с LVM. Перейдем в редактирования таблицы разделов:

sudo parted /dev/sda

, где /dev/sda – это имя вашего диска.

3. Определим номер раздела, для которого нужно увеличить размер:

(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2097kB  1049kB                     bios_grub
 2      2097kB  2150MB  2147MB  ext4
 3      2150MB  42.9GB  40.8GB

4. Увеличим раздел раздела с корневой файловой системой и выйдем из режима редактирования таблицы разделов:

(parted) resizepart 3                                                     
End?  [42.9GB]? 60GB                                                      
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2097kB  1049kB                     bios_grub
 2      2097kB  2150MB  2147MB  ext4
 3      2150MB  60.0GB  57.9GB

(parted) quit

5. Теперь изменю размеры физического диска в LVM томе:

sudo pvresize /dev/sda3
roman@test1:~$ sudo pvresize /dev/sda3
  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
roman@test1:~$

6. Теперь я могу увидеть дополнительной свободное место в группе томов LVM:

sudo vgdisplay
roman@test1:~$ sudo vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <53.88 GiB
  PE Size               4.00 MiB
  Total PE              13792
  Alloc PE / Size       9727 / <38.00 GiB
  Free  PE / Size       4065 / <15.88 GiB
  VG UUID               7Sokt1-ZWKM-jmXy-KPDo-4BUe-jjQS-FNxqFA
   
roman@test1:~$ 

7. Расширим логический том:

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
roman@test1:~$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <38.00 GiB (9727 extents) to <53.88 GiB (13792 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
roman@test1:~$

8. Заключительным шагом я выполню расширение размера файловой системы:

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
roman@test1:~$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 5, new_desc_blocks = 7
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 14123008 (4k) blocks long.

roman@test1:~$ 

9. Расширение корневого раздела завершено. Теперь вы можете увидеть тот дополнительный объем свободного места, который вы добавляли для корневого раздела:

df -h
roman@test1:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              792M  1.3M  791M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   53G  7.0G   44G  14% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  130M  1.7G   8% /boot
tmpfs                              792M  4.0K  792M   1% /run/user/1000
roman@test1:~$ 

Расширение корневого раздела завершено. Обратите внимание, что перезагрузка потребовалась только в одном случае – когда мы с вами физически увеличивали размер диска в гипервизоре. Все остальные операции выполняются без перезагрузки операционной системы.

Как расширить корневой раздел на Ubuntu 22.04: 2 комментария

  1. Команда pvresize не срабатывает – “Command failed with status code 5”. В чем может быть причина?

    1. Сложно сказать точно. Возможно, что диск у вас используется. Если диск системный, то его необходимо редактировать с live дистрибутива. Попробуйте еще с -vvvv запустить команду – это расширенный режим логирования. Возможно, что в расширенном выводе будет указана более явная причина.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *