pvresize, похоже, не меняет размер после увеличения размера базового блочного устройства
Я увеличил размер раздела, который я использую в качестве LVM PV, но запуск pvresize, похоже, не видит дополнительного пространства:
cuttle:~# fdisk -l /dev/vda
Disk /dev/vda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x00027dbb
Device Boot Start End Blocks Id System
/dev/vda1 * 1 31 248976 83 Linux
/dev/vda2 32 2610 20715817+ 8e Linux LVM
Который говорит, что vda2 составляет около 20 гигов
cuttle:~# pvdisplay
--- Physical volume ---
PV Name /dev/vda2
VG Name debian
PV Size 4.76 GiB / not usable 3.08 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1217
Free PE 0
Allocated PE 1217
PV UUID tehZic-5vfN-rsrm-B8lN-lpgc-yQT1-ioH1V0
Так что в настоящее время PV составляет около 4-5 концертов
cuttle:~# pvresize -v /dev/vda2
Using physical volume(s) on command line
Archiving volume group "debian" metadata (seqno 12).
No change to size of physical volume /dev/vda2.
Resizing volume "/dev/vda2" to 9975981 sectors.
Updating physical volume "/dev/vda2"
Creating volume group backup "/etc/lvm/backup/debian" (seqno 13).
Physical volume "/dev/vda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
pvresize говорит: "Без изменения размера физического тома /dev/vda2"
cuttle:~# pvdisplay
--- Physical volume ---
PV Name /dev/vda2
VG Name debian
PV Size 4.76 GiB / not usable 3.08 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1217
Free PE 0
Allocated PE 1217
PV UUID tehZic-5vfN-rsrm-B8lN-lpgc-yQT1-ioH1V0
и размер PV не изменился.
Не уверен, что еще я мог бы сделать, чтобы использовать дополнительное пространство. Я полагаю, что могу изменить размер раздела до размера pv, а затем добавить второй раздел, но мне действительно кажется, что то, что я пытаюсь сделать здесь, должно работать.
6 ответов
В моем случае у меня был объем 60Гб, и я расширил его до 110Гб.
После изменения размера диска с консоли AWS, а затем при запускеdf -kh
, система показывает новый размер диска, как и ожидалось:
nvme3n1 259:4 0 110G 0 disk
└─nvme3n1p1 259:5 0 60G 0 part
└─vg_user01-lv_user01 253:0 0 60G 0 lvm /home/user01
В обычном случае следующим шагом будет расширение физического тома./dev/nvme3n1p1
, но командаpvresize
не отразило новое дополнительное пространство, как ожидалось.
sudo pvresize -v /dev/nvme3n1p1
Archiving volume group "vg_user01" metadata (seqno 22).
Resizing volume "/dev/nvme3n1p1" to 125827072 sectors.
No change to size of physical volume /dev/nvme3n1p1.
Updating physical volume "/dev/nvme3n1p1"
Creating volume group backup "/etc/lvm/backup/vg_user01" (seqno 23).
Physical volume "/dev/nvme3n1p1" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
После изучения проблемы выяснилось, что это проблема ядра, и обычно новые ядра автоматически обнаруживают это дополнительное пространство. Я видел, что некоторые советуют перезагрузить инстанс, но это тоже не помогло.
Чтобы решить эту проблему, нам нужно запустить командуgrowpart
в целевом разделе диска.
[root@ec2-basic user01]# growpart /dev/nvme3n1 1
CHANGED: partition=1 start=2048 old: size=125827072 end=125829120 new: size=230684639 end=230686687
Затем мы можем увидеть отраженные изменения:
[root@ec2-basic user01]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme3n1 259:4 0 110G 0 disk
└─nvme3n1p1 259:5 0 110G 0 part
└─vg_user01-lv_user01 253:0 0 60G 0 lvm /home/user01
Затем нам нужно проверить путь LVM:
[root@ec2-basic user01]# sudo lvdisplay
--- Logical volume ---
LV Path /dev/vg_user01/lv_user01
....
Скажите LVM расширить логический том, чтобы использовать весь новый размер раздела:
[root@ec2-basic user01]# lvextend -l +100%FREE /dev/vg_user01/lv_user01
Size of logical volume vg_user01/lv_user01 changed from <60.00 GiB (15359 extents) to <110.00 GiB (28159 extents).
Logical volume vg_user01/lv_user01 successfully resized.
Наконец, мы расширяем файловую систему:
[root@ec2-basic user01]# resize2fs /dev/vg_user01/lv_user01
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg_user01/lv_user01 is mounted on /home/user01; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 14
The filesystem on /dev/vg_user01/lv_user01 is now 28834816 blocks long.
[root@aws-test user01]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme3n1 259:4 0 110G 0 disk
└─nvme3n1p1 259:5 0 110G 0 part
└─vg_user01-lv_user01 253:0 0 110G 0 lvm /home/user01
partprobe /dev/vda
человек зонд
NAME partprobe - информировать ОС об изменениях таблицы разделов
SYNOPSIS partprobe [-d] [-s] [устройства...]
Я столкнулся с этой проблемой в гостевой системе CentOS 7. В моем случае я увеличил размер ZFS ZVOL и не увидел никаких изменений в гостевой системе, и pvresize не изменит его. В итоге я загрузился в SystemRescueCD 4.4.0 и использовал "parted" с командой resizepart. В CentOS я расстался с 3.1, и эта команда была недоступна. Похоже, что parted 3.2 теперь в SysRescCD, который работал.
После загрузки в sysresc iso запустите parted /dev/ и используйте в качестве примера следующее:
resizepart 2 37.6G
Где 2 - номер раздела, а желаемый новый больший размер был 37,6G.
После этого, пока я был все еще в загрузочном iso, я запустил pvresize, и он работал правильно. Перезагрузитесь в виртуальную машину (или вашу систему), и все будет хорошо.:) Надеюсь, это поможет!
Сначала необходимо добавить пространство на уровне хранилища, а затем увеличить пространство на устройстве ISCSI, выполнив:
pvresize --setphysicalvolumesize 40G /dev/sda1..
Сначала вы должны увеличить размер разделов, используя fdisk или cfdisk. Только после этого он становится доступным для pvresize.
Я использовал эти команды для расширения раздела LVM. Руководство ниже написано для драйва, поэтому обратите на него внимание, не выполняйте команды вслепую.
К вашему сведению, я столкнулся с той же проблемой, что и ОП. Шаги 2,3 помогли мне сделать систему(lsblk
) показать новый размер диска.
- Используйте, чтобы убедиться, что система видит полный размер вашего диска.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT FSTYPE LABEL FSAVAIL FSUSE%
sda 8:0 0 110G 0 disk
├─sda1 8:1 0 1G 0 part /boot ext4 754,1M 16%
└─sda2 8:2 0 59G 0 part LVM2_member
├─ro_redos-root 253:0 0 35,6G 0 lvm / ext4 5,4G 79%
├─ro_redos-swap 253:1 0 6G 0 lvm [SWAP] swap
└─ro_redos-home 253:2 0 17,4G 0 lvm /home ext4 16G 0%
sr0 11:0 1 1024M 0 rom
Кроме того, вы можете проверить неиспользуемое пространство с помощью .
echo 1 > /sys/block/sda/device/rescan
Развернуть диск (
sda
в моем случае) с командойparted /dev/sda resizepart 2 100%
*На месте цифры "2" укажите номер раздела, на котором установленаlvm
флаг, который вы можете увидеть из ответаparted /dev/sda unit MB print free
pvresize /dev/sda2
lvscan
ACTIVE '/dev/ro_redos/swap' [5,98 GiB] inherit
ACTIVE '/dev/ro_redos/home' [17,39 GiB] inherit
ACTIVE '/dev/ro_redos/root' [35,62 GiB] inherit
Дополнительно вы можете проверить результатыpvdisplay
.
- В следующей команде замените имя раздела из предыдущего шага:
lvextend -l +100%FREE /dev/ro_redos/root -r
Size of logical volume ro_redos/root changed from 35,62 GiB (9119 extents) to 85,62 GiB (21919 extents).
Logical volume ro_redos/root successfully resized.
resize2fs 1.44.6 (5-Mar-2019)
Filesystem at /dev/mapper/ro_redos-root is mounted on /; on-line resizing required
old_desc_blocks = 5, new_desc_blocks = 11
The filesystem on /dev/mapper/ro_redos-root is now 22445056 (4k) blocks long.
- Проверьте результаты с помощью
lsblk -a -o +FSTYPE,LABEL,FSAVAIL,FSUSE%,STATE,UUID
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT FSTYPE LABEL FSAVAIL FSUSE%
sda 8:0 0 110G 0 disk
├─sda1 8:1 0 1G 0 part /boot ext4 754,1M 16%
└─sda2 8:2 0 109G 0 part LVM2_member
├─ro_redos-root 253:0 0 85,6G 0 lvm / ext4 52,7G 33%
├─ro_redos-swap 253:1 0 6G 0 lvm [SWAP] swap
└─ro_redos-home 253:2 0 17,4G 0 lvm /home ext4 16G 0%
sr0 11:0 1 1024M 0 rom
Как видите, мойsda2
вырос в РАЗМЕРЕ с 59 ГБ до 109 ГБ. Теперь командыdf -h
иlvs
покажет новые размеры разделов.