Как расширить корневую файловую систему с помощью LVM в Linux

Как расширить корневую файловую систему с помощью LVM в Linux

 

Добро пожаловать в наше руководство о том, как расширить корневую файловую систему с помощью LVM в Linux . Это будет охватывать расширение как корневых разделов файловой системы ext4, так и XFS. Чтобы продемонстрировать полный жизненный цикл LVM, мы выполним следующие действия:

  • Создайте физический том LVM, группу томов и логический том.
  • Создайте файловые системы XFS и ext4 на логических томах
  • Расширение логических томов LVM (корневая и некорневая файловая система)

LVM позволяет создавать, изменять размер или удалять разделы в работающей системе без перезагрузки. Поэтому проверьте шаги ниже, чтобы расширить корневую файловую систему с помощью LVM в Linux. Вы можете пропустить некоторые шаги, которые не относятся к использованию.

Шаг 1: Подтвердите разделы диска при распространении.

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

$ lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1 1024M  0 rom  
vda           252:0    0   30G  0 disk 
├─vda1        252:1    0    1G  0 part /boot
└─vda2        252:2    0   29G  0 part 
  ├─rhel-root 253:0    0 26.9G  0 lvm  /
  └─rhel-swap 253:1    0  2.1G  0 lvm  [SWAP]

Как уже отмечалось, у нас есть корневая файловая система на физическом томе  /dev/vda2

$ sudo pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/vda2  rhel lvm2 a--  <29.00g    0 

Шаг 2: Расширение корневого диска вашей ОС

Как показано в шаге 1, моя корневая файловая система находится на диске 30 ГБ . Я увеличу его до 40 ГБ , расширив виртуальный диск (виртуальное дисковое устройство).

$ lsblk 
 NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sr0            11:0    1 1024M  0 rom  
 vda           252:0    0   40G  0 disk 
 ├─vda1        252:1    0    1G  0 part /boot
 └─vda2        252:2    0   29G  0 part 
   ├─rhel-root 253:0    0 26.9G  0 lvm  /
   └─rhel-swap 253:1    0  2.1G  0 lvm  [SWAP]

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

Как только размер блочного устройства ОС изменится, подключитесь по ssh к вашей машине с Linux и расширьте LVM, чтобы использовать только что добавленную емкость диска. Команда ниже расширит последний раздел ( Раздел 2 ), как показано 252: 2, на диске ( / dev / vda ) до максимального размера, который обеспечивает диск.

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

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

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

sudo apt -y install cloud-guest-utils

Для сервера CentOS, запустите

sudo yum -y install cloud-utils-growpart

Страницу справки можно просмотреть, передав  -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/sd

Теперь используйте  growpart  для расширения вашего раздела.

$ sudo growpart /dev/vda 2
CHANGED: partition=2 start=2099200 old: size=18872320 end=20971520 new: size=60815327,end=62914527

Это изменит размер раздела 2 в /dev/vda.

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

$ lsblk 
 NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 sr0            11:0    1 1024M  0 rom  
 vda           252:0    0   40G  0 disk 
 ├─vda1        252:1    0    1G  0 part /boot
 └─vda2        252:2    0   39G  0 part 
   ├─rhel-root 253:0    0 26.9G  0 lvm  /
   └─rhel-swap 253:1    0  2.1G  0 lvm  [SWAP]

Шаг 3. Изменение размера логического тома, чтобы он занимал все пространство

Изменить размер физического объема.

$ sudo pvresize /dev/vda2
  Physical volume "/dev/vda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

$ sudo pvs
  PV         VG   Fmt  Attr PSize   PFree 
  /dev/vda2  rhel lvm2 a--  <39.00g 10.00g

Проверьте размер настроенной группы томов.

$ sudo vgs
   VG   #PV #LV #SN Attr   VSize   VFree 
   rhel   1   2   0 wz--n- <39.00g 10.00g

Затем измените размер корневого логического тома с помощью группы томов с измененным размером.

sudo lvextend -l +100%FREE /dev/name-of-volume-group/root

В моем примере это будет:

$ df -hT | grep mapper
 /dev/mapper/rhel-root xfs        27G  1.9G   26G   8% /

$ sudo lvextend -l +100%FREE /dev/mapper/rhel-root
Size of logical volume rhel/root changed from <26.93 GiB (6893 extents) to <36.93 GiB (9453 extents).
Logical volume rhel/root successfully resized.

Вы можете заменить команду 100% БЕСПЛАТНО предпочитаемым пространством в  МБ , например, добавить 256 МБ,  заменить ее на + 256  МБ .

Шаг 4: Обновите изменения в файловой системе

Ваша корневая файловая система все равно покажет старый размер.

$ df -hT | grep mapper
 /dev/mapper/rhel-root xfs        27G  1.9G   26G   8% /

Сделаем так, чтобы файловая система сообщала фактический размер, в том числе расширенный.

Для файловой системы ext4

sudo resize2fs /dev/name-of-volume-group/root

Для файловой системы xfs

$ sudo xfs_growfs /
 meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=1764608 blks
          =                       sectsz=512   attr=2, projid32bit=1
          =                       crc=1        finobt=1, sparse=1, rmapbt=0
          =                       reflink=1
 data     =                       bsize=4096   blocks=7058432, imaxpct=25
          =                       sunit=0      swidth=0 blks
 naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
 log      =internal log           bsize=4096   blocks=3446, version=2
          =                       sectsz=512   sunit=0 blks, lazy-count=1
 realtime =none                   extsz=4096   blocks=0, rtextents=0
 data blocks changed from 7058432 to 9679872

Вывод

Вы узнали, как расширить корневую файловую систему, поддерживаемую nfs и ext4, с помощью этого, как расширить корневую файловую систему, используя руководство LVM. Я надеюсь, что это было полезно, и хотел бы поблагодарить вас за чтение.

Оставить ответ

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

4 × 2 =