# Understanding ZFS



## Ben (Feb 8, 2010)

Hi,

As I found out via another thread in this forum I will have to reinstall my server as I want to upgrade from 7.2 i386 to 8.0 AMD64.

Now I want to change my partitioning design a little and am thinking to configure the system as follows:

/boot => UFS filesystem
/var  => UFS filesystem
/usr  => UFS filesystem
SWAP  => SWAP partition
/usr/storage => ZFS filesystem

I was thinking to have the UFS filesystems mirrored using gmirror and the ZFS filesystem having mirrored via the ZFS builtin RAID functionality.

Is it easily possible to do it this way?

Im very new to ZFS but want to try it. I understood that you create a container and "assign" drives/partitions to it. Is this correct? So I would create 3 slices, one for swap, one for the UFS/gmirrored partitions and one for ZFS.

This is possible or what do you recommend?

Thanks a lot for your help!


----------



## wonslung (Feb 8, 2010)

you can also use gpt partitions instead of slices.  It's a little more work but it's a lot more fun.

Also, there is a ZFS only install which is REALLY cool.  Infact, there is a really easy to use script which does it for you....i think it's part of the mfsbsd system 

go to http://mfsbsd.vx.sk/ and get the special editon and try it out.  Pretty cool


----------



## Ben (Feb 8, 2010)

Thanks for your reply.

I am very new to ZFS, you dont think it would be too difficult for me? 

I will have a look, thanks for the hint.


----------



## Ben (Feb 8, 2010)

I had a look at the mfs-Script which seems really cool. But I also read somewhere that binary updates (I use freebsd-update) are no longer possible as it would install a GENERIC loader without ZFS support?!

You have any experience about this?


----------



## Ben (Feb 8, 2010)

I have a problem using this mfsBoot but will create a new topic.


----------



## phoenix (Feb 9, 2010)

Keep it simple:

/ on UFS  (this will include the directories /boot and /usr)
swap
rest on ZFS (separate filesystems for /var, /tmp, /usr/local, /usr/ports, /usr/obj, /usr/src, /home)

To keep it even simple, you can put the UFS filessytem onto a USB stick and use the entire disk(s) for ZFS.  And you can use 2 USB sticks with gmirror to protect the UFS filesystems.

You'll have to do a minimal install to a single UFS filesystem, then configure ZFS using <mountpoint.tmp> for the names (/home.tmp, /usr/local.tmp, etc), move stuff to the ZFS filesystem from the UFS directories, then rename the ZFS filessytem to <mountpoint> (/home, /usr/local, etc).  Best to do that in single-user mode.

Works quite nicely.  I've used this setup on my home server, and our two storage server (although those use CompactFlash instead of USB, the process is the same).


----------



## Ben (Feb 9, 2010)

Thanks phoenix, I will do it in a similar way, just I cant use the USB things. But I guess I will try once more to set up the ZFS only by hand. Maybe then it works. If not I will use UFS for the system and ZFS for the data only.

Thanks for your help.

UPDATE: I followed this tutorial: http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/Mirror and it worked like a charm.


----------

