Non sono sicuro di come formulare questa domanda (da qui il titolo scarso), quindi lasciatemi fornire un esempio di ciò che sto cercando di fare.
Sul mio (vecchio) host Xen, sono in grado di presentare i filesystem LVM direttamente a ciascun guest. Questi filesystem sono effettivamente creati e formattati sull'host e passati direttamente. Ad esempio, per uno dei miei host che usano partizioni tmp e swap separate, definisco la memoria in questo modo:
disk = [
'phy: / dev / vg1 / guest1-swap, sda1, w',
'phy: / dev / vg1 / guest1-disk, sda2, w',
'phy: / dev / vg1 / guest1-tmp, sda3 , w ',
]
Quindi, guest1-swap è formattato come una partizione di swap, guest1-disk e guest1-tmp sono formattati con ext4, e dal punto di vista del guest li vede semplicemente come tre partizioni formattate in / dev / sda.
(Questo può sembrare un sacco di lavoro, ma ci sono script di provisioning, come i fantastici strumenti xen , che hanno automatizzato praticamente tutto).
Ciò fornisce alcune funzionalità davvero utili, due delle quali sono particolarmente interessato a capire per KVM:
Montare i filesystem guest dal sistema operativo host . Posso eseguire un montaggio in sola lettura di qualsiasi file system guest in qualsiasi momento, anche mentre l'host è in esecuzione. Questo ha il vantaggio secondario di consentire a my di creare snapshot LVM di qualsiasi volume esistente mentre il guest è in esecuzione. In questo modo, sono in grado di eseguire il backup centralizzato di tutti i miei ospiti, mentre sono in esecuzione, dall'host.
Ridimensionamento del volume online . Poiché i volumi contengono filesystem Linux standard, posso usare una combinazione di lvextend e resize2fs per far crescere i miei filesystem guest, mentre sono online.
Attualmente sto configurando un host KVM che sostituirà l'host Xen. Simile all'installazione di Xen, sto sfruttando LVM per fornire l'accesso diretto al filesystem, ma KVM / qemu si comporta diversamente in quanto crea sempre un file di immagine per gli ospiti, anche sul volume LVM. Dal punto di vista del guest, vede questo come un disco non partizionato, e spetta al guest applicare un'etichetta di partizione, quindi creare le partizioni e i filesystem.
Dal punto di vista dell'ospite va bene, ma dal punto di vista del server / della gestione sembra essere molto meno flessibile della configurazione di Xen che ho descritto. Sono ancora nuovo in KVM, quindi potrei mancare (speriamo) qualcosa.
Ho riscontrato questo problema durante il tentativo di reimplementare la mia precedente soluzione di backup sull'host KVM e il comando mount si è bloccato quando ho provato a montare uno dei filesystem del guest. Quindi, affrontare questa è la mia attuale preoccupazione, ma mi ha anche preoccupato della cosa del ridimensionamento, perché sono sicuro che anche a un certo punto sorgerà il problema.
Quindi, ecco le mie domande:
C'è un modo per fare in modo che kvm / qemu utilizzi i filesystem di volume LVM direttamente come ho descritto per la mia configurazione di Xen? Uso libvirt per la gestione se questo fa la differenza.
In caso contrario, cosa posso fare per ottenere funzionalità di montaggio / backup simili in KVM? Ho visto discussioni sull'uso di libguestfs w / FUSE per farlo, ma è davvero l'opzione migliore? Preferirei rimanere con un mount di filesystem nativo se possibile.
Inoltre, in caso contrario, è possibile eseguire il ridimensionamento di un filesystem online in KVM? Ho trovato diverse discussioni / howtos su questo, ma le risposte sembrano essere dappertutto senza soluzioni chiare, e sicuramente non semplici.
Ci scusiamo per il lungo post, volevo solo assicurarmi che fosse chiaro. Per favore fatemi sapere se posso fornire altre informazioni che potrebbero essere utili. In attesa di discussione. :-)