Поиск по сайту:

Изменение размера корневого раздела ext2/3/4 и XFS без LVM |


Это руководство покажет вам, как расширить или изменить размер файловой системы ext2/3/4 и XFS без LVM во время выполнения. Это может быть корневой раздел, настроенный с файловой системой ext2/3/4 или XFS, но без настроенной LVM. В нашем предыдущем уроке мы рассмотрели, как расширить корневую файловую систему с помощью LVM в Linux.

Шаг 1. Проверьте текущую емкость корневого диска.

Для этой демонстрации у меня есть виртуальная машина CentOS 7 с приведенной ниже схемой разделов.

$ lsblk 
 NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sr0     11:0    1 1024M  0 rom  
 vda    253:0    0   10G  0 disk 
 └─vda1 253:1    0   10G  0 part /

Как видно из выходных данных, корневая файловая система находится в разделе /dev/vda1 без LVM.

Шаг 2. Расширьте корневой диск ОС после расширения

Я расширю свое корневое блочное устройство до 30 ГБ. Я использую технологию виртуализации KVM, поэтому мне подходит это руководство:

  • Как расширить/увеличить размер диска виртуальной машины KVM (VM)

Для KVM я могу проверить путь к виртуальному диску, используя команду ниже:

$ sudo virsh domblklist centos7 
 Target   Source
-------------------------------------------------
 vda      /var/lib/libvirt/images/centos7.qcow2
 sda      -

$ sudo fdisk -l /var/lib/libvirt/images/centos7.qcow2
Disk : 10 GiB, 10739318784 bytes, 20975232 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

$ sudo qemu-img resize /var/lib/libvirt/images/centos7.qcow2 +20G
Image resized.

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

Шаг 3. Увеличение раздела виртуальной машины

Запустите свою виртуальную машину и ssh как пользователь с привилегиями sudo. Первое, что нужно сделать, это подтвердить новый размер диска.

$ lsblk 
 NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sr0     11:0    1 1024M  0 rom  
 vda    253:0    0   30G  0 disk 
 └─vda1 253:1    0   10G  0 part /

Мы видим, что размер диска увеличился на 20 ГБ, с 10 ГБ до 30 ГБ. Следующее действие — расширить раздел (Раздел 1) в нашем примере до максимального размера, который предоставляет диск.

Установите пакет облачных утилит

Для новичков в growpart: это инструмент командной строки Linux, используемый для расширения раздела в таблице разделов для заполнения доступного пространства. Эта команда предоставляется пакетом облачных утилит.

В системе Ubuntu/Debian запустите:

sudo apt -y install cloud-guest-utils gdisk

Для сервера CentOS/RHEL/Fedora выполните:

sudo yum -y install cloud-utils-growpart gdisk

Страницу справки можно просмотреть, передав аргумент -h.

$ growpart -h
growpart disk partition
   rewrite partition table so that partition takes up all the space it can
   options:
    -h | --help       print Usage and exit
         --fudge F    if part could be resized, but change would be
                      less than 'F' bytes, do not resize (default: 1048576)
    -N | --dry-run    only report what would be done, show new 'sfdisk -d'
    -v | --verbose    increase verbosity / debug
    -u | --update  R update the the kernel partition table info after growing
                      this requires kernel support and 'partx --update'
                      R is one of:
                       - 'auto'  : [default] update partition if possible
                       - 'force' : try despite sanity checks (fail on failure)
                       - 'off'   : do not attempt
                       - 'on'    : fail if sanity checks indicate no support

   Example:
    - growpart /dev/sda 1
      Resize partition 1 on /dev/sda

Теперь используйте growpart, чтобы расширить раздел.

$ sudo growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=62912479,end=62914527

Это приведет к изменению размера раздела 1 на /dev/vda.

Подтвердите изменение.

$ lsblk 
 NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sr0     11:0    1 1024M  0 rom  
 vda    253:0    0   30G  0 disk 
 └─vda1 253:1    0   30G  0 part /

Шаг 4. Измените размер раздела /, чтобы заполнить все пространство.

Последний шаг — изменить размер файловой системы, чтобы она полностью разрасталась и заполняла добавленное пространство.

Для файловой системы ext4 используйте resize2fs

$ sudo resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
 Filesystem at /dev/vda1 is mounted on /; on-line resizing required
 old_desc_blocks = 2, new_desc_blocks = 4
 The filesystem on /dev/vda1 is now 7864059 blocks long.

Если у вас файловая система XFS, ее можно увеличить при монтировании с помощью команды xfs_growfs:

sudo xfs_growfs /

Подтвердите новый размер, используя df -h

$ df -hT | grep /dev/vda
/dev/vda1      ext4       30G  1.2G   27G   5% /

Поздравляем! Вы успешно изменили размер корневого раздела ext2/3/4 или XFS в Linux без LVM.

Рекомендуемые учебные материалы по системному администрированию Linux:

  • Лучшие книги по Linux для начинающих и экспертов
  • Лучшие книги по программированию ядра Linux
  • Лучшие книги по сценариям Linux Bash

См. соответствующие статьи ниже.

  • Расширение загрузочного диска EBS на AWS без перезагрузки экземпляра
  • Как расширить корневую файловую систему с помощью LVM в Linux
  • Как расширить/увеличить размер диска виртуальной машины KVM (VM)
  • Работа с qemu-img в Linux

Статьи по данной тематике: