У меня VM Player работает в гостевой Linux, и я хотел знать, как мне расширить диск? В проигрывателе виртуальной машины я дал больше дискового пространства, но я не уверен, как смонтировать / расширить / подключить новое дисковое пространство к системе.
На моем старом диске было 14 ГБ
[root@localhost ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
14G 4.5G 8.2G 36% /
Затем я расширил его и теперь вижу sda2, который является новым пространством?
[root@localhost ~]# fdisk -l
Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 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: 0x000cd44d
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 14.5 GB, 14537457664 bytes
255 heads, 63 sectors/track, 1767 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: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 6408 MB, 6408896512 bytes
255 heads, 63 sectors/track, 779 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: 0x00000000
Нужно ли мне сначала смонтировать новое пространство?
resize2fs -p /dev/mapper/VolGroup-lv_root 108849018880
resize2fs 1.41.12 (17-May-2010)
The containing partition (or device) is only 3549184 (4k) blocks.
You requested a new size of 1474836480 blocks.
resize2fs -p /dev/mapper/VolGroup-lv_root 128849018880
resize2fs 1.41.12 (17-May-2010)
resize2fs: Invalid new size: 128849018880
[root@localhost ~]# lvextend -L+90GB /dev/mapper/VolGroup-lv_root
Extending logical volume lv_root to 103.54 GiB
Insufficient free space: 23040 extents needed, but only 0 available
[root@localhost ~]# lvextend -L90GB /dev/mapper/VolGroup-lv_root
Extending logical volume lv_root to 90.00 GiB
Insufficient free space: 19574 extents needed, but only 0 available
РЕДАКТИРОВАТЬ: Итак, после попытки pvcreate / vgextend пока ничего не сработало. Я предполагаю, что новое дисковое пространство, добавленное из VM Player, не отображается?
pvscan
PV /dev/sda2 VG VolGroup lvm2 [19.51 GiB / 0 free]
Total: 1 [19.51 GiB] / in use: 1 [19.51 GiB] / in no VG: 0 [0 ]
Как уже говорилось, сначала нужно было изменить размер раздела, содержащего логический том, а затем продолжить изменение размера LVM. Следуй этим шагам:
fdisk -l -u /dev/sda
обратите внимание на текущую настройку раздела (особенно начальный сектор)partprobe /dev/sda
или перезагрузите систему. Это проинформирует ядро об изменении размера раздела.pvresize /dev/sda2
. Это изменит размер структур физического объема.pvs
и vgs
чтобы проверить правильность определения нового размера LVMlvresize -l +100%FREE /dev/mapper/VolGroup-lv_root
resize2fs /dev/mapper/VolGroup-lv_root
Эти инструкции действительны для увеличения дискового пространства (расширения тома)
Уменьшение тома концептуально похоже, но вам нужно было выполнить шаги назад, начиная с сжатия файловой системы. В качестве примечания, если вы используете XFS или другие файловые системы, которые нельзя сжать, вы не можете изменить размер тома LVM без процесса резервного копирования / восстановления.
Проблема здесь в том, что вы помещаете LVM (физический том) в раздел.
Если бы он был непосредственно на устройстве, вы могли бы просто сделать
* pvextend
* lvextend
* resize2fs
В вашем случае вам придется загрузиться с live-cd или удалить /dev/sda2
разделите и воссоздайте с большим размером, затем действуйте, как описано выше
В более безопасный способ однако было бы
создайте новый том для вашей виртуальной машины, который затем будет /dev/sdb
например, инициализировать его как PV с помощью pvcreate добавить новый PV в существующую группу томов
vgextend my_volume_group /dev/sdb
теперь вы можете расширить логический том
lvextend -v -l +100%FREE /dev/mapper/VolGroup-lv_root
и наконец файловая система
resize2fs /dev/mapper/VolGroup-lv_root
Как только вы узнаете обо всех уровнях (физический диск, раздел, физический том, группа томов, логический том), это будет совсем несложно.
У меня всегда есть это руководство для живого расширения LVM
Некоторое время назад я написал руководство, как это сделать, надеюсь, это поможет.
Поскольку ваше базовое устройство уже расширено, вы должны увидеть доступное пространство в выводе vgdisplay
. Ищите строку, в которой говорится Free PE / Size
. В этом случае вы можете просто расширить логический том через lvextend
а затем увеличьте файловую систему с помощью resize2fs
.