Я попросил обновить жесткий диск для моего виртуального сервера под управлением centos 6.5
Я вижу, что пространство было увеличено, так как / dev / sdb теперь составляет 214,7 ГБ, а раньше было 150,3 ГБ
root@webhost [/sys/class/block/sdb/device]# fdisk -l
Disk /dev/sda: 85.9 GB, 85899345920 bytes
64 heads, 32 sectors/track, 81920 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000390ad
Device Boot Start End Blocks Id System
/dev/sda1 * 2 501 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 502 3573 3145728 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 3574 81920 80227328 83 Linux
Disk /dev/sdb: 214.7 GB, 214748364800 bytes
64 heads, 32 sectors/track, 204800 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x796ffff3
Device Boot Start End Blocks Id System
/dev/sdb1 1 143360 146800624 83 Linux
Disk /dev/mapper/backup-lv0: 150.3 GB, 150319661056 bytes
255 heads, 63 sectors/track, 18275 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
root@webhost [/sys/class/block/sdb/device]#
как видите, текущий размер lvm составляет 140 ГБ
--- Volume group ---
VG Name backup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 15
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 140.00 GiB
PE Size 4.00 MiB
Total PE 35839
Alloc PE / Size 35839 / 140.00 GiB
Free PE / Size 0 / 0
VG UUID 9WAEQb-oEXG-QdJ0-MIK9-ZEu1-x176-U76PzS
root@webhost [/sys/class/block/sdb/device]#
как я могу изменить размер раздела lvm в соответствии с размером диска?
Вам нужно расширить sdb1
чтобы покрыть все доступное дисковое пространство. Тогда ты можешь pvresize /dev/sdb1
и lvextend -l +100%FREE <your_volume_name>
.
Общая информация: в RHEL6 и более ранних версиях RedHat предлагал создать «Защитную MBR», чтобы старые ОС не могли изменять метаданные LVM. Это означает, что физические тома LVM основаны на разделах, а не на дисках (как в вашем случае). Итак, чтобы расширить физический том, вам сначала нужно расширить раздел.
Однако fdisk
версия, поставляемая с RHEL6, не поддерживает простое изменение размера раздела. Вам нужно удалить и воссоздать sdb1
перегородка, которая должна быть абсолютно идентичный к тому, что у вас есть сейчас (кроме длины / размера, конечно). я сильно предлагаю вам использовать fdisk -u
, что даст вам размер раздела в количестве секторов, а не в цилиндрах.
В качестве альтернативы вы можете использовать parted
который должен поддержка изменения размера раздела (эта функция зависит от версии, и я не помню, поддерживает ли ее тот, который поставлялся с RHEL6).
Будьте осторожны: неправильно воссозданный раздел приведет к ПОТЕРЕ ДАННЫХ. Я предлагаю вам потренироваться на тестовой виртуальной машине, прежде чем делать это в производстве.
@shodanshok, спасибо, что указали мне правильное направление
К сожалению, мой том lvm был основан на разделах, и поскольку я не хотел удалять текущий раздел, чтобы изменить его размер (как только я потерял все данные), я создал другой раздел и использовал его для расширения lvm. Итак, что я сделал: 1) создал новый раздел с
fdisk /dev/sdb
2) я инициализировал физический том для управления lvm с помощью:
pvcreate /dev/sdb2
3) я добавил новый физический том в свою группу lvm с помощью:
lvextend /dev/backup/lv0 /dev/sdb2
4) наконец, я изменил размер файловой системы:
resize2fs /dev/backup/lv0
Вам нужно выполнить pvresize, чтобы LVM распознал дополнительный диск. Это так же просто, как pvrsize / path / to / blockdevice