linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] Xen: virtual storage per le virtual machines

Luca Coianiz luca a coianiz.it
Mer 6 Ott 2010 18:39:34 UTC
  Allora... volevo aggiornare gli eventuali interessati sul discorso in oggetto _E_ porre una domanda alla lista.

[aggiornamento]

  Al momento ho visto, leggendo il manuale "user" di Xen 3.3 (penultima release), che è possibile passargli dei file come 
storage per le VM. Il mio dubbio era legato all'allocazione "statica" di questi file (che in realtà sono "immagini" montate 
in loop) ma ho risolto anche questo, senza andarmi ad incasinare con il già suggerito thin provvisioning: allocando degli 
sparsefile da 1TiB l'uno ho ottenuto, tramite LVM, un Logical Volume (teorico) di 3TiB ma praticamente alloco 2,5GiB su 
disco... che era il mio target.

  Quindi, riassumendo la configurazione attuale:

  .-----------------------------------------.
  ! Dom0 ! DomU1 ! DomU2 ! ... !            ! <- le VM (lo storage è visto via Dom0)
  !--------------------.--------------------!
  !  3TiB virtuali LVM ! 1TiB virt. LVM     ! <- layer LVM per l'espansione futura dei dischi virtuali
  !--------------------!--------------------!
  ! 1TiB ! 1TiB ! 1TiB ! 1TiB ! (and so on) ! <- virtuale
  !--------------------'------'-------------!-----
  !                 3TiB LVM                ! <- logico (con LVM per eventuali espansioni dello storage fisico)
  !-----------------------------------------!-----
  !               3TiB RAID5 sw             ! <- fisico
  '-----------------------------------------'

  Al momento, per l'esperimento (di creazione dello storage virtuale in sparsefile), ho usato /dev/loop0..N ma, per evitare 
problemi di performance, gli sviluppatori di Xen raccomandano l'uso di BLKTAP (block tap) al suo posto.

  Quel che volevo ottenere (e che, teoricamente, ho ottenuto) è lo sganciamento della gestione dello storage fisico, che posso 
espandere tramite LVM ed ha le sicurezze hardware del RAID5, da quello logico... che posso poi espandere sempre tramite LVM e 
della cui "sicurezza hardware" non mi dovrei preoccupare (dato che, se ci devono esser problemi hardware, questi dovrebbero 
riguardare i dischi fisici e non quelli virtuali).

  Tramite i dischi virtuali, visibili "in cima" con LVM, posso allocare N macchine virtuali con la sicurezza che queste 
allocheranno solo lo spazio effettivamente in uso e non "tutto quello previsto".

[la domanda]

  Mi è stato fatto notare che un "castello" del genere potrebbe presentare dei colli di bottiglia immensi e, soprattutto, 
inutili. (Breve) premessa: nello strato virtuale ho usato LVM non solo per espandere (in futuro) lo storage delle VM ma anche 
per raggruppare più "partizioni virtuali" (gli sparsefile) in quanto ext3 non supporta file di dimensioni maggiori di 2TiB 
(ed uno dei miei target era un disco virtuale da 3TiB): ho messo in gruppo 3 file da 1TiB ottenendo il disco da 3TiB.

  Però... da un lato mi si consiglia ext4, ma ho letto qui http://wiki.debian.org/Ext4 che la Lenny non supporta Ext4 (trucchi 
a parte) e Squeeze lo supporterà appieno MA con un bug nel resize (che è la cosa che interessa a me).

  D'altro canto leggo qui (http://backdrift.org/online-ext3-grow-resize-with-lvm) che il resize è possibile sia con Ext3 che 
con LVM (che è fatto apposta): in pratica, se ho capito bene, con LVM basta creare un nuovo file da 1TiB (formattarlo Ext3?) 
aggiungerlo al Virtual Group e dire al Logical Volume "guarda che c'è altra roba per te" (via lvextend): siccome poi il 
filesystem della VM che lo usa ha come riferimento il LV creato via LVM e non il singolo disco/sparsefile la cosa dovrebbe 
essere indolore... giusto? (sempre poi terminando con un resize2fs dopo che LVM ha allargato gli orizzonti)

  Quindi, la domanda: fidarmi dell'online resizing di Ext3 da solo senza usare LVM (cosa che ho letto da un'altra parte... ma 
prevedeva il ripartizionamento via fdisk seguito a ruota da un resize2fs... un pò da panico) oppure meglio lavorare in tandem 
ext3+LVM?

  Non solo... l'LVM che lavora sul RAID5 sw mi si dice esser di troppo in quanto, comprando un nuovo HD da aggiungere al RAID, 
basterebbe "aggiungerlo" tramite mdadm senza bisogno di LVM... è corretto?

  In pratica pare io stia usando un paio di layer di troppo... o no?

     LC


Maggiori informazioni sulla lista Lug