Pvreduce » История » Редакция 3
Редакция 2 (Андрей Волков, 2012-02-12 16:32) → Редакция 3/4 (Константин Пильник, 2015-06-19 18:01)
h1. Уменьшаем жесткий диск с PV h2. 1. Уменьшаем фаловые системы. h2. 2. Уменьшаем LV разделы h2. 3. Уменьшаем PV разделы Имеем: <pre> pvs </pre> <pre> PV VG Fmt Attr PSize PFree /dev/vda safe lvm2 a- 40.00g 32.00g </pre> Уменьшаем размер PV. <pre> pvresize --setphysicalvolumesize 9G /dev/vda </pre> Есть два варианта вывода для этой команды. h3. 3a. Простой (моментальный успех) <pre> Physical volume "/dev/vda" changed 1 physical volume(s) resized / 0 physical volume(s) not resized </pre> h3. 3b. Сложный (отложенный успех) <pre> /dev/vda: cannot resize to 2303 extents as later ones are allocated. 0 physical volume(s) resized / 1 physical volume(s) not resized </pre> h4. 3b.1. Смотрим, как LV экстенты на располагаются на PV разделе. <pre> lvs --segments -o +seg_pe_ranges </pre> <pre> 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 </pre> h4. 3b.1. Перераспределяем LV экстенты к началу диска. Перебрасываем экстенты, которые располагаются дальше 2303-го <pre> pvmove -i 10 --alloc anywhere -n srv /dev/vda:3584-4095 /dev/vda:1024-1535 </pre> <pre> /dev/vda: Moved: 0.0% /dev/vda: Moved: 35.9% /dev/vda: Moved: 79.7% /dev/vda: Moved: 100.0% </pre> Смотрим результат: <pre> lvs --segments -o +seg_pe_ranges </pre> <pre> 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 </pre> h4. 3b.2. Изменяем размер диска: <pre> pvresize --setphysicalvolumesize 9G /dev/vda </pre> <pre> Physical volume "/dev/vda" changed 1 physical volume(s) resized / 0 physical volume(s) not resized </pre> h3. 4. Результат: <pre> pvs </pre> <pre> PV VG Fmt Attr PSize PFree /dev/vda safe lvm2 a- 9.00g 3.00g </pre> h3. 5. Если жесткий диск на машине qemu Сначала уменьшить раздел на хосте, а затем уменьшить блочное устройство в qmp-интерфейсе. Размер можно указать 0 <pre> 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) </pre>