Назад | Перейти на главную страницу

Увеличьте размер LVM после добавления виртуального дискового пространства

Я попросил обновить жесткий диск для моего виртуального сервера под управлением 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