Backup LVM · 3 min read · Feb 14, 2026

Eseguire il backup di un ospite LVM XEN contenente LV

Eseguire il backup di un ospite LVM XEN contenente LV

Nel mio lavoro quotidiano, tutte le nostre macchine Linux (tranne 3) sono VM Xen. Volevo un modo per eseguire il backup di queste senza il rischio che i file cambiassero nel frattempo. Per motivi di prestazioni, le sto eseguendo tutte su Volumi Logici.

All’interno di queste VM, il sistema operativo DomU sta ancora utilizzando LVM per vari motivi. Questo crea alcuni problemi per eseguire il backup.

L’idea di base è:

  1. Creare un Volume Logico snapshot
  2. Consentire al Dom0 di vedere i Volumi Logici all’interno del Volume Logico (uff).
  3. Montare i Volumi Logici appena scoperti.
  4. Eseguire il backup
  5. Riordinare

Ci sono un paio di assunzioni che ho fatto. Ho assunto che tu abbia utilizzato nomi personalizzati per i Gruppi di Volumi in Dom0 (host) o DomU (guest), o in entrambi. Personalmente, utilizzo sempre un file kickstart per creare i miei DomU, quindi ho impostato il VG principale su XenVG00. Tutti i miei DomU sono in un VG su Dom0 chiamato vg_xen - questo non è però essenziale.

La seconda assunzione è che tu abbia dello spazio libero nel Gruppo di Volumi che contiene le immagini DomU. Non deve essere molto, poiché rimuoveremo il volume snapshot quando avremo finito con esso.

Per prima cosa, dobbiamo creare il nostro snapshot:

[root@dom0 ~]# lvcreate -L 1G -s -n lv_snapshot /dev/vg_xen/lv_xen_snaptest
Logical volume “lv_snapshot” created

Questo crea un volume snapshot chiamato lv_snapshot di un DomU che sta utilizzando un LV Dom0 chiamato lv_xen_snaptest. Questo è utile di per sé poiché ora potresti prendere un’immagine di questo LV. Faccio esattamente questo per il Disaster Recovery (dd if=/dev/vg_xen/lv_snapshot | bzip2 | dd of=/path/to/dr_image.bz2). In uno scenario peggiore, questa immagine potrebbe essere ripristinata in un nuovo Volume Logico, su un nuovo sistema, per eseguire una nuova istanza di Xen.

Tuttavia, ciò che vogliamo fare è accedere ai file in questo snapshot. Poiché il DomU sta utilizzando LVM, questo è purtroppo non banale. Prima dobbiamo usare kpartx per estrarre i dati LV:

[root@dom0 ~]# kpartx -av /dev/vg_xen/lv_snapshot
add map lv_snapshot1 : 0 208782 linear /dev/vg_xen/lv_snapshot 63  
add map lv_snapshot2 : 0 20755980 linear /dev/vg_xen/lv_snapshot 208845

Puoi vedere che sono stati trovati 2 LV. Poiché lv_snapshot1 è più piccolo, sappiamo che è il file di swap e lv_snapshot2 è il file system /. Ora dobbiamo far vedere a LVM questi LV e attivarli.

[root@dom0 ~]# vgscan
Reading all physical volumes. This may take a while…  
Found volume group “vg_xen” using metadata type lvm2  
Found volume group “XenVG00” using metadata type lvm2  
Found volume group “VolGroup00” using metadata type lvm2
[root@dom0 ~]# vgchange -ay XenVG00
2 logical volume(s) in volume group “XenVG00” now active

Ora che gli LV sono attivi, possiamo montarli come se fossero qualsiasi altro disco.

[root@dom0 ~]# mount /dev/XenVG00/LVroot /mnt/

E eseguire qualsiasi comando ci piaccia

[root@dom0 ~]# rsync -avhp /mnt/ /backup/xen_test/

Ovviamente ora dobbiamo pulire dopo di noi:

[root@dom0 ~]# umount /mnt  
[root@dom0 ~]# vgchange -an XenVG00
0 logical volume(s) in volume group “XenVG00” now active
[root@dom0 ~]# kpartx -d /dev/vg_xen/lv_snapshot  
[root@dom0 ~]# lvremove /dev/vg_xen/lv_snapshot
Do you really want to remove active logical volume “lv_snapshot”? [y/n]: y  
Logical volume “lv_snapshot” successfully removed

La cosa importante qui è che non abbiamo mai messo in pausa la nostra VM, ma siamo stati in grado di eseguire un backup completo di essa.

La dimensione del volume snapshot è la parte difficile qui. Ho utilizzato un LV snapshot da 1G. Per dare un’idea di quanto debba essere grande: quando un’immagine DR del mio wiki è stata presa, compressa e inviata tramite SSH a un’altra macchina per la memorizzazione, l’uso dello snapshot ha raggiunto quasi il 7%.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.