Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] LVM vs File system file for KVM Virtual Machines?



> From: discuss-bounces+blu=nedharvey.com at blu.org [mailto:discuss-
> bounces+blu=nedharvey.com at blu.org] On Behalf Of Derek Atkins
> 
> Think about it this way:  when using a file on the file system the VM has
> a whole extra layer of indirection that it has to go through, because it
> has to go through the FS layer in the VM, then the block layer in the VM,
> then the VM system storage layer, and then the FS layer in the host, then
> block layer in the host..   Whereas if it's just an LVM container then you
> can bypass the FS layer in the host completely.  So I would always expect
> the direct LVM container to be faster and more resource efficient.

Agreed, but how significant?  Not at all.  You can easily see this - if you
create a file, and start doing benchmarks against it, using something like
iozone, bonnie, etc. Then you actually measure performance limited only by
the disk hardware in the system.  All the extra filesystem overhead amounts
to something negligible.

Your main advantage, I think, is in the way you
create/delete/expand/shrink/interact with the device.  When you use LVM, all
that stuff is clear and simple and difficult to destroy with a simple
type-o.  And with LVM, all that stuff is instant, or near-instant.  But if
you are using a 30G file for the backend storage...  You've got to wait for
the system to create a 30G file.  Unless you create it sparsely, in which
case you're still going to wait for it - but the waiting will be spread out
and aggregate during runtime.

I see very little, if any, argument in favor of using the file.  I suppose,
if you wanted to run your virtual head on some other machine, then you could
export your file via NFS instead of iscsi, and that gives you one extra
degree of freedom if you're using a file.  Also, if you got something like a
snapshotting storage server, you could migrate your file over to that
server, and benefit by snapshots.

All in all, I don't see any huge compelling reasons for either one.  Both
ways are fine, with small advantages in favor of each one, for specific
circumstances.




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org