Проект

Общее

Профиль

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>