# VM storage: is ZFS a bad idea in this case?



## cedivad (Jun 25, 2012)

I felt in love with ZFS in the past, but I'm afraid that this isn't a case where I should use it. I will have a server with 10+ hard disks, in RAID 6 or 60, it's a home server for home purposes. It will mostly be a backup server for my online activities. I also need to run a couple of VMs with different purposes on this server, different OSs, so I can't use jails or so on.

Is it ok in your opinion to use a simple Citrix xenserver with mdadm, or should I force myself to use zfs?


----------



## throAU (Jun 25, 2012)

Zfs should do the job just fine.

Just be sure to turn access time tracking off on your VM data store.


----------



## phoenix (Jun 26, 2012)

The "best" setup for VM hosting with ZFS is to create a multi-tier setup:

storage box using ZFS and NFS, with separate filesystems for each VM
VM host box, using whatever VM solution you prefer, mounting filesystems over NFS
If you need to "clone" a VM to create a new one, just "zfs clone" the filesystem.  If you need to backup the VM, just "zfs snapshot" the filesystem.  If you need to fix an issue in the VM, just "zfs rollback" the filesystem.

Personally, I'd recommend using Linux+KVM for the VM host, using libvirt (or virt-manager if you need a GUI) to manage the VMs.

If using OSes that don't support NFS, then you can use iSCSI exports of ZFS volumes.


----------



## _martin (Jun 26, 2012)

phoenix said:
			
		

> If using OSes that don't support NFS, then you can use iSCSI exports of ZFS volumes.



Presenting ZFS volumes via iSCSI is very good approach .. but frankly I would rather use OpenIndiana here instead of FreeBSD (due to its SCSI framework). 

On one of my server I'm using FreeBSD 9, ZFS pool for VM and VirtualBox. I can't complain - performance is good for my use (no heavy I/Os, etc. though).


----------



## cedivad (Jul 20, 2012)

I have the server now. XenServer won't install (HBA driver missing).
Does FreeBSD as an hypervisor supports VT-d? Sorry but i can't find any info online...


----------



## phoenix (Jul 27, 2012)

Don't use FreeBSD as a virtualisation host server. It doesn't have good support for that yet.

And, I'd recommend avoiding Xen-based setups. KVM is much nicer to work with, and has much more dev support.


----------



## alexv (Feb 1, 2013)

I'm using following solution http://myitnotes.info/doku.php?id=en:jobs:freebsd_zfs_nfs_for_vmware


----------



## usdmatt (Feb 1, 2013)

If you only have the one server then the best advice is probably to install Linux and use KVM.
NFS/iSCSI is only of use if you have separate storage and compute servers. On FreeBSD all we really have at the moment is VirtualBox which may do you but isn't as stable or high performance as KVM.

Funnily enough this is the second time in about 30 mins I've seen a link to the above guide (Wasn't aware of it before seeing it on serverfault earlier). I like how they say 'don't forget to turn sync off for normal i/o speed' without any mention of possible corruption. Probably acceptable to run no sync at home to get better performance if none of the VMs are particularly critical but users should know the consequences.

We should have bhyve for native type-2 virtualisation (with VT-x/Vt-d) on FreeBSD soon but it'll be a year or 2 at least before it's stable I would of thought. Plus I don't really like some of the design choices for it at the moment, hopefully it'll get cleaned up and improved before hitting release status.


----------

