Проект

Общее

Профиль

Действия

Уменьшаем жесткий диск с PV

1. Уменьшаем фаловые системы.

2. Уменьшаем LV разделы

3. Уменьшаем PV разделы

Имеем:

pvs

  PV         VG   Fmt  Attr PSize  PFree 
  /dev/vda   safe lvm2 a-   40.00g 32.00g

Уменьшаем размер PV.

pvresize --setphysicalvolumesize 9G /dev/vda

Есть два варианта вывода для этой команды.

3a. Простой (моментальный успех)

  Physical volume "/dev/vda" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

3b. Сложный (отложенный успех)

  /dev/vda: cannot resize to 2303 extents as later ones are allocated.
  0 physical volume(s) resized / 1 physical volume(s) not resized

3b.1. Смотрим, как LV экстенты на располагаются на PV разделе.

lvs --segments -o +seg_pe_ranges
  LV   VG   Attr   LSize PE Ranges         
  root safe -wi-ao 4.00g /dev/vda:0-1023   
  srv  safe -wi-ao 2.00g /dev/vda:3584-4095

3b.1. Перераспределяем LV экстенты к началу диска.

Перебрасываем экстенты, которые располагаются дальше 2303-го

pvmove -i 10 --alloc anywhere -n srv /dev/vda:3584-4095 /dev/vda:1024-1535

  /dev/vda: Moved: 0.0%
  /dev/vda: Moved: 35.9%
  /dev/vda: Moved: 79.7%
  /dev/vda: Moved: 100.0%

Смотрим результат:

lvs --segments -o +seg_pe_ranges

  LV   VG   Attr   LSize PE Ranges
  root safe -wi-ao 4.00g /dev/vda:0-1023
  srv  safe -wi-ao 2.00g /dev/vda:1024-1535

3b.2. Изменяем размер диска:

pvresize --setphysicalvolumesize 9G /dev/vda
  Physical volume "/dev/vda" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

4. Результат:

pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/vda   safe lvm2 a-   9.00g 3.00g

5. Если жесткий диск на машине qemu

Сначала уменьшить раздел на хосте, а затем уменьшить блочное устройство в qmp-интерфейсе.
Размер можно указать 0

ondatra ~ # qmp-shell /run/qemu/qemu322.control.sock 
Welcome to the QMP low-level shell!
Connected to QEMU 2.2.1

(QEMU) block_resize device=disk-322-obama-test size=0
{u'return': {}}
(QEMU) 

ВАЖНО pv-раздел для метаданных использует 1экстент, => , если экстент = 4m, то 1мб в начале раздела, и 3мб в конце.
Выделять на хост-системе нужно с учетом 1 гостевого экстента.

 pvdisplay 
  --- Physical volume ---
  PV Name               /dev/vdb
  VG Name               test
  PV Size               3.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              768
  Free PE               0
  Allocated PE          768
  PV UUID               3mt3f3-NtZu-0a4h-zgj1-x80J-qL0U-QHUMUd

PE Size 4.00 MiB

Обновлено Константин Пильник больше 9 лет назад · 4 изменени(я, ий)