Newsgroup: it.comp.os.linux.sys
Titolo: [LVM] Associazione LV in PV

Ho un server (DomU Xen) con alcuni dischi attaccati.
Tutti i dischi sono dei PV, associati ad un unico VG
Su questo VG ho creato svariati LV
 
Ora, visto che uno di questi PV è circa 50GB e che 
l'intero server occupa si e no 30GB, vorrei poter rimuovere
il PV in eccesso.
 
Ovviamente se lo faccio, perdo dati.
 
C'è modo di sapere quali volumi fanno uso di un dato PV?
Ma sopratutto, c'è modo di fare lo shrink liberando il PV ?

 Ma sopratutto, c'è modo di fare lo shrink liberando il PV ?
 
Sì, prima sposti i segmenti sull'altro disco (tramite pvmove), poi riduci il
VG (tramite vgreduce)
 
Enrico

 VG (tramite vgreduce)
 
Questo non credo mi dia garanzie, io devo poter staccare l'intero disco dalla VM,
non solo ridurlo.
 
E non vorrei ritrovarmi con il PV usato per 1 byte da qualche LV e che pertanto
mi impedirebbe la rimozione del disco dalla VM

 pertanto mi impedirebbe la rimozione del disco dalla VM
 
Questo lo puoi vedere fin da ora con lvs -o name,devices,seg_le_ranges (che ti
da la distribuzione dei segmenti sui dischi) e pvdisplay (che ti dice quanti
segmenti hai a disposizione sul disco)
 
Enrico

 segmenti hai a disposizione sul disco)
 
Non ci sta:
 
# lvs -o name,devices,seg_pe_ranges,seg_size
  LV      Devices          PE Ranges             SSize 
  lv_home /dev/xvda5(6436) /dev/xvda5:6436-12783 24.80g
  lv_home /dev/xvdc(0)     /dev/xvdc:0-12798     50.00g
  lv_root /dev/xvda5(5244) /dev/xvda5:5244-6435   4.66g
  lv_tmp  /dev/xvda5(0)    /dev/xvda5:0-475       1.86g
  lv_usr  /dev/xvda5(476)  /dev/xvda5:476-2859    9.31g
  lv_var  /dev/xvda5(2860) /dev/xvda5:2860-5243   9.31g
 
 
lv_home, che è quello "problematico", ha solo 24g su xvda5, e l'utilizzo attuale è 31g:
 
# df -h /home/           
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv_home
                       74G   31G   43G  43% /home
 
 
quindi, non posso ridurre nulla.
 
qualche idea su come rimuovere tale disco? A me ne viene in mente solo 1:
- snapshot e conversione in VM
- aggiungo un terzo disco, alla nuova VM, grande come tutto lo spazio che mi serve
- pvmove di tutto, root compreso
- vgreduce etc etc
- rimuovo i dischi vecchi
 
Non so se poi riesce a far di nuovo il boot, conoscendo XenServer, se
qualcosa può dare problemi, sicuramente li darà, una operazione del
genere mi fa rabbrividire, per questo la farei su una VM clonata.
 
Se tutto riparte, faccio un rsync di ciò che è cambiato nella VM originale
ed elimino la VM originale
 
Perdo un sacco di tempo e ci sono un sacco di passaggi in più che possono
portare ad errori........

 qualche idea su come rimuovere tale disco? A me ne viene in mente solo 1:
 
Quindi tu vuoi rimuovere xvda1 e mettere tutto su xvdc? Se sì, penso che i
passi che hai descritto siano abbastanza ok, l'unica cosa che devi tenere conto
è dove si trova /boot e l'installazione di Grub. Se il problema invece è solo
ridurre /home, puoi fare un thin volume copiare i dati su quest'ultimo e poi
rimuovere il vecchio volume, ma diventa più rognoso
 
Enrico

 Quindi tu vuoi rimuovere xvda1 e mettere tutto su xvdc?
 
L'opposto. 
Voglio togliere xvdc e mettere tutto su xvda5 (ma non ci sta)
Però potrebbe tornare comodo su altri server, nel caso avessi abbastanza spazio.

 Voglio togliere xvdc e mettere tutto su xvda5 (ma non ci sta)
 
Allora devi seguire la strada del thin provisioning, mettendo però in mezzo un
altro disco per migrare i segmenti di xvda5
 
Enrico

 altro disco per migrare i segmenti di xvda5
 
Nemmeno convertendo un export XVA in raw si può fare ?
Dato che questa è una delle VM che andrò a migrare a breve da XS a Proxmox
e che la migrazione implica un dump -> estrazione del XVA -> conversione
dei vari chunk in immagine raw (una per ogni disco), magari c'è qualche
modo per farne il merge delle due immagini.