LV verplaatsen naar andere VG

Een Logical volume binnen een  Volume Group verplaatsen naar een andere disk om een schijf vrij te spelen kan  je eenvoudig doen met een pvmove dit kan zelfs online. In dit geval moest ik een disk vrij maken die in een ander Volume Group zat, de VG was niet meer in gebruik kwam uit een oude machine maar ik wilden de dat nog wel bewaren omdat ik niet zeker ben of ik alles al elders had opgeslagen. Je kan de data verplaatsen door een nieuwe lv te maken en beide filesystemen te mounten en dan de dat kopiëren bv met rsync, Maar in dit voorbeeld kopiëren we de data zonder te weten wat voor een type fs het is. we gebruiken dd. 

Om hem te verplaatsen mag de LV niet in gebruik zijn, dit kan je controleren met lvdisplay kijk naar de status # open die moet 0 zijn. 

root@hostA:~# lvdisplay old-vg/old-lv
--- Logical volume ---
LV Path /dev/oldvg/old-lv
LV Name old-lv
VG Name old-vg
LV UUID t2BZ2O-APsg-BHdt-3QGW-Ocaf-kJVo-Zs62QS
LV Write Access read/write
LV Creation host, time hostX, 2016-09-05 12:12:26 +0000
LV Status available
# open 0
LV Size 340.00 GiB
Current LE 87040
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:13

We hebben dus minimaal 340G vrije ruimte nodig in de nieuwe VG. Maak in deze VG een nieuwe LV aan van de zelfde grote met lvcreate.  

root@hostA:~# lvcreate -L 340G -n new-lv new-vg

als de nieuwe LV gemaakt is gaan we de data er in kopiëren, het is gewoon  een blok device dus gebruiken we hier dd voor. 

root@hostA:~# dd if=/dev/old-vg/old-lv of=/dev/new-vg/new-lv bs=4M

hierna kan je de oude LV gewoon opruimen en je disk weer ergens anders voor gebruiken.