Newsgroup: it.comp.os.linux.sys
Titolo: KVM & Filesystem

Sto mettendo in piedi un serverino con Debian+KVM. Siccome conosco poco 
KVM, volevo sapere quale potrebbe essere il miglior filesystem per lo 
storage delle macchine virtuali.
Io pensavo di utilizzare BTRFS (ma sembra che sia lento: 
http://lkml.org/
lkml/2010/7/12/5) per poterne utilizzare le funzioni native.
Un amico mi ha detto che usa ReiserFS, ma mi fido poco di questo 
filesystem.
Avete qualche esperienza con altri filesystem (ext*, XFS, JFS, etc,) e 
KVM?
Quale è il più veloce?


Per questo scopo specifico senza alcun dubbio XFS.
-- 
Paranoia is a disease unto itself. And may I add: the person standing
next to you may not be who they appear to be, so take precaution.
-----------------------------------------------------------------------------
http://bofhskull.wordpress.com/

 poco KVM,
http://pve.proxmox.com
Basato du Debian.
-- 
Vincenzo

 Basato du Debian.
La conoscevo, l'ho usata in passato e mi piace molto (perchè combina 
OpenVZ e KVM).
Purtroppo questa volta avevo un cavolo di controller RAID non 
riconosciuto (leggi il post precedente) che mi ha costretto a fare 
software RAID.
Proxmox purtroppo non supporta, se non in maniera sperimentale, il RAID 
software e considerando che la macchina va in un datacenter a Milano non 
ho voluto rischiare.
Proxmox utilizza XFS, mi sa che lo utilizzerò anche io.

 Proxmox utilizza XFS, mi sa che lo utilizzerò anche io.
Mi pare proprio di no. Usa ext3
-- 
Vincenzo

 Proxmox utilizza XFS, mi sa che lo utilizzerò anche io.
Nell'isntallazione "baremetal" usa ext3.


Usa ext3 per il sistema, lo storage dei dischi delle VM è direttamente 
su volumi LVM.

 storage delle macchine virtuali.
NON usare un filesystem: usa raw device LVM per lo storage delle VM. Hai 
meno overheaded e tutti i vantaggi di LVM inclusi snapshot ecc.

 direttamente su volumi LVM.
???
proxmox:~# mount
/dev/mapper/pve-root on / type ext3 (rw,errors=remount-ro)
....
/dev/mapper/pve-data on /var/lib/vz type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
-- 
Vincenzo

 /dev/mapper/pve-data on /var/lib/vz type ext3 (rw)
per openVZ, ma per KVM?


Ecco un esempio su un mio server.
   --- Volume group ---
   VG Name               vg_data
   System ID
   Format                lvm2
   Metadata Areas        1
   Metadata Sequence No  33
   VG Access             read/write
   VG Status             resizable
   MAX LV                0
   Cur LV                2
   Open LV               2
   Max PV                0
   Cur PV                1
   Act PV                1
   VG Size               135,97 GB
   PE Size               4,00 MB
   Total PE              34808
   Alloc PE / Size       33280 / 130,00 GB
   Free  PE / Size       1528 / 5,97 GB
   VG UUID               5ZGUH5-ZBRZ-m4Uc-drtG-jxG4-He6F-okGtyy
  --- Logical volume ---
   LV Name                /dev/vg_data/vm-101-disk-1
   VG Name                vg_data
   LV UUID                bPIIXM-bYpz-NwfV-jRRC-Cq57-EAdo-YIKPZa
   LV Write Access        read/write
   LV Status              available
   # open                 1
   LV Size                70,00 GB
   Current LE             17920
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           254:3
   --- Logical volume ---
   LV Name                /dev/vg_data/vm-102-disk-1
   VG Name                vg_data
   LV UUID                6y9Pde-Ec8N-reEk-q5mh-N4cq-GVYY-XTwGLY
   LV Write Access        read/write
   LV Status              available
   # open                 1
   LV Size                60,00 GB
   Current LE             15360
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           254:4
Ovviamente non sono montati sull'host, ma assegnati alle VM.

 Quale è il più veloce?
storage delle macchine virtuali = storage contenente le immagini delle 
stesse ?
LVM e raw devices. O non ho capito la domanda.

 per openVZ, ma per KVM?
Ti ho postato l'output dell'host costruito da una installazione standard
da cd di Proxmox 1.7 (ma la 1.6. e` uguale da questo punto di vista)
che, ovviamente, gestisce sia KVM che OpenVZ.
-- 
Vincenzo

 LVM e raw devices. O non ho capito la domanda.
Hai capito benissimo e ti ringrazio della risposta :-)

 wrote:

P.S.
Come viene gestito?Nel senso che si fa un unico raw device e lì si
mettono tutte le immagini delle VM oppure si fanno tanti devices uno
per ogni macchina virtuale?


Se hai delle VM con KVM posta anche l'output di 'lvs'

 Se hai delle VM con KVM posta anche l'output di 'lvs'
Uso solo KVM:
proxmox:~# lvs
   LV   VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
   data pve  -wi-ao 815.50G
   root pve  -wi-ao  96.00G
   swap pve  -wi-ao  15.00G
-- 
Vincenzo

 swap pve -wi-ao 15.00G
Beh, che dire allora hai ragione. Ero convinto che lo storage di default 
fosse su LVM, come risulta anche dal post di Jacopo

 ogni macchina virtuale?
Ogni LV (logical volume) lo puo indicare come disco per la VM.
Fuori dalla VM sarà appunto un LV, dentro la VM sarà un disco (dev/sdX o /
dev/vdX).
Quindi da dentro lo gestisci come fai di solito (fdisk etccc).
Per ogni VM puoi specificare N device e quindi aggiungergli un HD 
virtuale quando più ti aggrada.

 dev/vdX).
E giusto per completezza, usando snapshot e kpartx puoi gestire il
backup online e consistente delle macchine virtuali :-)
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

> backup online e consistente delle macchine virtuali :-)
Mi sfugge come puoi ritenere consistente un backup online del solo filesystem,
la memoria e la cpu (e eventuali transazioni) che completano lo stato di una macchina come le cristallizzi ?
Giulia

 Proxmox.
Purtroppo Proxmox non si installa sulla Squeeze :-(


La gestione dell'integrità dei dati deve essere gatantita a prescindere
dala fatto che tutti i dati siano già stati scritti sul supporto fisico.
Se così non fosse in caso di guasto della motherboard o di UPS fumato o
anche solo di un kernel panic che interrompa in modo brusco
l'elaborazione si avrebbero perdite di dati, e questo non sarebbe
accettabile (non per nulla tutti i controller e gli storage disabilitano
la cache in scrittura nel momento in cui la batteria non è più funzionale).
La gestione delle scritture con transazioni, che sia un DB o un
filesystem, serve appunto per garantire la consistenza del dato a
prescindere dall'istante in cui un guasto dovesse avvenire.
Va da sè che garantire la consistenza dei dati non implica
necessariamente che vi sia consistenza da un punto di vista applicativo.
Non esistono sistemi che possano garantire la consistenza di
un'applicazione scritta con il culo, come purtroppo troppo spesso capita.
Certamente però, se le macchine sono configurate in modo corretto, il
backup di uno snapshot consente di ripartire da una situazione coerente
con tutte le transazioni (di DB o di FS) commmit-ate o rollback-ate.


 Purtroppo Proxmox non si installa sulla Squeeze :-(
Io lo ho aggiornato a squeeze da parecchio tempo e finora non mi ha dato
alcun problema.
proxmox:~# cat /etc/issue
Debian GNU/Linux 6.0 \n \l



No no, scusa, io ti ho postato i dati del vg LVM e relativi volumi che 
uso come storag; scusa se sono stato poco chiaro. Lo spazio per 
utilizzare volumi LVM direttamente come dischi sulle VM lo devi creare 
da solo.

 squeeze?
Questa in particolare è una Lenny upgradata, ma ho installato un cluster
partendo da squeeze circa due settimane fa.


 partendo da squeeze circa due settimane fa.
Come hai fatto?
Io ho provato a aggiungere il repository di Proxmox, ma non mi
installa i pacchetti.

 > >> alcun problema.
Tra l'altro la Squeeze ha il pacchetto libvirt con un bel bug, me lo
sono ricompilato a mano, ma ho fatto più casino che mai.
Ora ci metto Ubuntu Server (bleah! lo so...) che so per certo
funzionare

 Viva proxmox tutta la vita, almeno testano il kernel PVE ampiamente...
Vi aggiorno: alla fine sono passato a Proxmox a partire da Debian Lenny e 
va alla grandissima (anche con Solaris, che purtroppo devo installare e 
gestire). Ho avuto un po' di problemi con il bootloader perchè Grub non 
parte da RAID software + LVM, ma alla fine ho risolto mettendo la /boot 
in RAID senza LVM.
D'ora in avanti se non ci gira ESXi, ci metto Proxmox senza tanti 
tentativi.