Увеличение размера файловой системы. Увеличение раздела LVM

Есть тестовая тачка testlvm.devel.local.ru

Она у нас заинсталлена на LVM диске в контейнере XEN.

LV Path /dev/xenvg/testlvm.devel.local.ru
LV Name testlvm.devel.local.ru
VG Name xenvg
LV UUID q52VUk-jNLB-fsTk-inPy-4pqR-5JIC-ZvsDy4
LV Write Access read/write
LV Creation host, time node16.xen.local.ru, 2015-07-08 07:13:05 +0000
LV Status available
# open 1
LV Size 5.50 GiB
Current LE 176
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:46 

Иногда возникает потребность в увеличении дискового пространства машины.

Рассмотрим как увеличить размер диска на вот таком работающем сервере.

Увеличим размер диска /dev/xenvg/testlvm.devel.local.ru на 200Мб:

[root@node16 ~]# lvextend -L+200M /dev/xenvg/testlvm.devel.local.ru
Rounding size to boundary between physical extents: 224.00 MiB
Extending logical volume testlvm.devel.local.ru to 5.72 GiB
Logical volume testlvm.devel.local.ru successfully resized

Идем на саму тачку testlvm.devel.local.ru
Смотрим что у нас по дискам:

[root@testlvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 5.0G 893M 3.8G 19% /
tmpfs 245M 0 245M 0% /dev/shm

Воспользуемся утилитой fdisk, чтобы увеличить размер раздела (на самом деле будет осуществляться удаление этого раздела и повторное создание раздела с дополнительными цилиндрами, который будет представлен файлом устройства /dev/xvda2):

[root@testlvm ~]# fdisk /dev/xvda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): p

Disk /dev/xvda: 6140 MB, 6140461056 bytes
255 heads, 63 sectors/track, 746 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040829

Device Boot Start End Blocks Id System
/dev/xvda1 1 66 524288 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/xvda2 66 717 5233990+ 83 Linux

Command (m for help): d
Partition number (1-4): 2

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (66-746, default 66): 
Using default value 66
Last cylinder, +cylinders or +size{K,M,G} (66-746, default 746): 
Using default value 746

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Попросим систему перечитать таблицу разделов:

[root@testlvm ~]# partprobe /dev/xvda
Warning: WARNING: the kernel failed to re-read the partition table on /dev/xvda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.

Не сработало, видимо ядро не может перечитать таблицу разделов если у нас всё в корне. Ребутаемся.

После ребута смотрим:

[root@testlvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 5.0G 877M 3.9G 19% /
tmpfs 245M 0 245M 0% /dev/shm

По дискам всё также.

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

[root@testlvm ~]# resize2fs /dev/xvda2 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvda2 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/xvda2 to 1366733 (4k) blocks.
The filesystem on /dev/xvda2 is now 1366733 blocks long.

[root@testlvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 5.2G 877M 4.1G 18% /
tmpfs 245M 0 245M 0% /dev/shm

Как видим размер диска увеличился на наши 200Мб. 

 

unix-way