CentOS 7 Linux изменяет размер файловой системы после изменения размера раздела

7066
Pandy Legend

Я работаю CentOS 7на HyperVвиртуальном сервере. Недавно я увеличил размер жесткого диска с 32 ГБ до 64 ГБ и использовал его GParted Liveдля расширения раздела, который, кажется, работал так, как показано здесь:

Снимок экрана жесткого диска 64 ГБ

Однако при проверке Disk Usage Analyserон сообщает об этом как 28,4 ГБ:

Анализатор использования диска

В терминале я бегу df -hи он показывает следующее:

df -h в терминале

Я пытался, xfs_growfs /dev/mapper/centos-root -dно это говорит data size unchanged, skipping.

Я довольно неопытный с Linux и, при попытке найти решение этой проблемы, большинство скриншотов df -hшоу /dev/sda1и /dev/sda2. Какие дополнительные функции показаны здесь (несколько tmpfs и devtmpfs) и как заставить систему распознавать все пространство на диске?

1

1 ответ на вопрос

4
Deltik

You have a filesystem inside a logical volume inside volume group which encompasses all of your physical volume inside your now-64GiB block device.

What you have done through GParted was extend the physical volume to fill the block device, and the volume group automatically fills the physical volume, but you did not extend the logical volume.

As a result, the filesystem cannot grow because the logical volume did not grow.

The fix is a few commands. This one extends the logical volume to fill up the rest of the space in the volume group:

lvextend -l 100%VG /dev/mapper/centos-root 

This one extends the filesystem:

xfs_growfs / 

Full Example

Create a 1GiB block device as /dev/loop0 and later expand it to 2GiB:

root@node54 [/tmp]# truncate -s 1G demo.img root@node54 [/tmp]# losetup loop0 demo.img root@node54 [/tmp]# lsblk /dev/loop0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 1G 0 loop 

Set up LVM on the block device /dev/loop0:

root@node54 [/tmp]# pvcreate /dev/loop0 Physical volume "/dev/loop0" successfully created root@node54 [/tmp]# pvdisplay /dev/loop0 "/dev/loop0" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/loop0 VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 0GC3Hx-pwqk-CsRV-UY8W-U2s0-3YOw-1pUUus 

Now, a volume group:

root@node54 [/tmp]# vgcreate PandyDemo /dev/loop0 Volume group "PandyDemo" successfully created root@node54 [/tmp]# vgdisplay PandyDemo --- Volume group --- VG Name PandyDemo System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1020.00 MiB PE Size 4.00 MiB Total PE 255 Alloc PE / Size 0 / 0 Free PE / Size 255 / 1020.00 MiB VG UUID ybaz6R-iVnK-a0kZ-Zd39-DwS8-sln1-R9zmfz 

Now, a logical volume:

root@node54 [/tmp]# lvcreate -l 255 -n centos-root PandyDemo Logical volume "centos-root" created root@node54 [/tmp]# lvdisplay /dev/PandyDemo/centos-root --- Logical volume --- LV Path /dev/PandyDemo/centos-root LV Name centos-root VG Name PandyDemo LV UUID RrhorY-JrIH-12Yu-nkEW-MSVb-YCin-o1XKbU LV Write Access read/write LV Creation host, time node54.deltik.org, 2016-02-10 02:56:46 -0600 LV Status available # open 0 LV Size 1020.00 MiB Current LE 255 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:3 

I skipped the XFS filesystem creation on /dev/PandyDemo/centos-root for brevity, but you can create an XFS filesystem there now if you want to.

Now, shut down the volume group and block device so that we can add more disk space:

root@node54 [/tmp]# vgchange -an PandyDemo 0 logical volume(s) in volume group "PandyDemo" now active root@node54 [/tmp]# losetup -d /dev/loop0 root@node54 [/tmp]# truncate -s 2G demo.img 

Set up the block device again:

root@node54 [/tmp]# losetup loop0 demo.img root@node54 [/tmp]# lsblk /dev/loop0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 2G 0 loop root@node54 [/tmp]# pvdisplay /dev/loop0 --- Physical volume --- PV Name /dev/loop0 VG Name PandyDemo PV Size 1.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 255 Free PE 0 Allocated PE 255 PV UUID 0GC3Hx-pwqk-CsRV-UY8W-U2s0-3YOw-1pUUus 

Extend the physical volume to the entire block device, which is now 2GiB large. Notice the volume group also became 2GiB large, but the logical volume remained the same size as when we created it:

root@node54 [/tmp]# pvresize /dev/loop0 Physical volume "/dev/loop0" changed 1 physical volume(s) resized / 0 physical volume(s) not resized root@node54 [/tmp]# pvdisplay /dev/loop0 --- Physical volume --- PV Name /dev/loop0 VG Name PandyDemo PV Size 2.00 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 511 Free PE 256 Allocated PE 255 PV UUID 0GC3Hx-pwqk-CsRV-UY8W-U2s0-3YOw-1pUUus root@node54 [/tmp]# vgdisplay PandyDemo --- Volume group --- VG Name PandyDemo 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 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 2.00 GiB PE Size 4.00 MiB Total PE 511 Alloc PE / Size 255 / 1020.00 MiB Free PE / Size 256 / 1.00 GiB VG UUID ybaz6R-iVnK-a0kZ-Zd39-DwS8-sln1-R9zmfz root@node54 [/tmp]# lvdisplay /dev/PandyDemo/centos-root --- Logical volume --- LV Path /dev/PandyDemo/centos-root LV Name centos-root VG Name PandyDemo LV UUID RrhorY-JrIH-12Yu-nkEW-MSVb-YCin-o1XKbU LV Write Access read/write LV Creation host, time node54.deltik.org, 2016-02-10 02:56:46 -0600 LV Status NOT available LV Size 1020.00 MiB Current LE 255 Segments 1 Allocation inherit Read ahead sectors auto 

Extend the logical volume to be 100% the size of the volume group:

root@node54 [/tmp]# lvextend -l 100%VG /dev/PandyDemo/centos-root Size of logical volume PandyDemo/centos-root changed from 1020.00 MiB (255 extents) to 2.00 GiB (511 extents). Logical volume centos-root successfully resized root@node54 [/tmp]# lvdisplay /dev/PandyDemo/centos-root --- Logical volume --- LV Path /dev/PandyDemo/centos-root LV Name centos-root VG Name PandyDemo LV UUID RrhorY-JrIH-12Yu-nkEW-MSVb-YCin-o1XKbU LV Write Access read/write LV Creation host, time node54.deltik.org, 2016-02-10 02:56:46 -0600 LV Status NOT available LV Size 2.00 GiB Current LE 511 Segments 1 Allocation inherit Read ahead sectors auto 

At this point, you can reactivate the LVM with vgchange -ay PandyDemo and lvchange -ay /dev/PandyDemo/centos-root, and then, if you had created an XFS filesystem, you can grow it online after mounting it.


Additional Resources

If you are not using LVM and are just using GPT or MSDOS partitions and XFS, I have another detailed writeup on resizing XFS filesystems.

Спасибо за превосходный и подробный ответ. Когда я запускаю `lvextend -l 100% VG / dev / mapper / centos-root`, я получаю сообщение об ошибке:« Не удалось создать временное имя архива. Сбой архива метаданных группы томов "centos". Pandy Legend 8 лет назад 0
Я нашел https://blog.ifi.uzh.ch/root/2014/03/how-to-increase-a-logical-volume-when-root-is-full.html и запустил `lvextend -A n - l 100% VG / dev / mapper / centos-root`, что сработало. Pandy Legend 8 лет назад 0
@PandyLegend: у вас полностью не осталось места на диске, поэтому, указав LVM не выполнять резервное копирование метаданных группы томов (`-A n`), вы избежали записи в файловую систему без свободного места на диске. В нормальных условиях [LVM настоятельно рекомендует не отключать функцию автоматического резервного копирования] (http://linux.die.net/man/8/lvm), но, похоже, у вас все в порядке. Я бы порекомендовал удалить хотя бы что-то из `/`, если бы вы могли, прежде чем пытаться `lvextend`. Deltik 8 лет назад 1
Думаю, мне повезло! (Все было зарезервировано, поэтому не слишком большое дело, если что-то пойдет не так, но это было бы болью в заднице). Еще раз спасибо за вашу помощь. Pandy Legend 8 лет назад 0

Похожие вопросы