Update Freenas 8.3.1

This weekend I applied the first update from FreeNAS. It is very easy to do. First you need to stop all services in the webinterface. Then, you download the apropiate patch and checksum from their website. After. In the advanced settings of the webinterface you upload the patch, copy and paste the checksum and apply the patch for update. You wait 10 min or less if you have a fast server. The secer will restart twice. After that, you re-enable you services and all is done. Very easy, it is the only thing I had to do, since I configured this server 3 months ago. It is working non- stop and flawless for me.

Benchmarks: ZFSGuru vs FreeNas vs Nexenta, hot from the press!

Nexenta is based on Solaris, which is the home-base of ZFS. FreeNas and ZFSGuru are based on BSD.

http://www.zfsbuild.com/2013/01/25/zfsbuild2012-nexenta-vs-freenas-vs-zfsguru/

It is amazing that FreeNas 8.3 can keep up with Nexenta now. ZFSGuru can´t keep up with  the other two and according to the benchmarks the difference is quite big. The makers of ZFSGuru are looking now if there is a benchmark error or it is because of the version (0.2 Beta 7) used in the benchmarking. Since ZFSGuru comes with a full version of FreeBSD, there are a lot of possibilities of tweaking with the commandline.

However, I personally prefer FreeNas on a production system since ZFSGuru is still more in development (but stable according to many users), missing alot of features in the GUI, and they (still) are missing a good manual (like FreeNas 8) which makes life for noobs like me easier.

RAIDZ

A quick word about RAIDZ, like I promised many posts ago.

What is RAIDZ?

RAID-Z is not actually a kind of RAID, but a higher-level software solution that implements an integrated redundancy scheme similar to RAID 5, using ZFS.RAID-Z avoids the RAID 5 “write hole” using copy-on-write: rather than overwriting data, it writes to a new location and then automatically overwrites the pointer to the old data. It avoids the need for read-modify-write operations for small writes by only ever performing full-stripe writes. Small blocks are mirrored instead of parity protected, which is possible because the file system is aware of the underlying storage structure and can allocate extra space if necessary. RAID-Z2 doubles the parity structure to achieve results similar to RAID 6: the ability to sustain up to two drive failures without losing data. (source wikipedia)

This means in plain language:

RAIDZ is comparable with RAID5: e.g. you need minimum of 3 discs.  If 1 disc will crash, your data will still be safe. If more than 1 disc will crash you will loose your data.

RAIDZ2 is comparable with RAID6: you need a minimum of 4 discs. If 1 o 2 discs will crash, your data will still be safe. If more than 2 discs will crash you will loose your data.

RAIDZ3 don´t exist as a physical RAID: you need a minimum of 5 discs .If 1-3 discs will crash, your data will still be safe. If more than 3 discs will crash you will loose your data.

Practical:

RAIDZ 3,5 and 9 discs.

RAIDZ2 4, 6 and 10 discs.

RAIDZ3 5, 7 and 11 discs.

My ZFS is now running about 3 weeks without problems. I will tell more about it next time

L2ARC

In my previous posts are links posted about the advantage of ZFS.

I will repeat in short some highlights:

-Checksums watch over data integrety on disks.

-It can repair corrupt and bad sectors. ZFS has a repair tool called “scrub” which examines and repairs Silent Corruption and other problems.

-It makes silent errors (normally repaired by the internal software of modern HD) visible

-ZFS can function as a software RAID. However, it needs to have direct contact with the discs. A hardware RAID needs to configured as JBOD (Just a bunch of discs).

One of the most interesting features, I like, is: L2ARC

Most data will be cached into RAM memory, so it will be quickly available when needed.

If you add a SSD in ZFS, you can configure it as a second cache.

The read SSD cache is called L2ARC and is similar to Level 2 CPU cache.

The write SSD cache is called the Log Device, and it is used by the ZIL (ZFS Intent Log). Read more about this on http://en.wikipedia.org/wiki/Zfs. With ZIL ZFS can watch the consistency of its filesystem and its applications. This is a log almost never read unless there is a problem like power-loss. You can put ZIL on a different SSD.  However lots of read and write cycles in this log will happen and your SSD will break down quicker.

So the last one is not really interesting (you might want to mirror ZIL on a second SSD) for a home user like me. But L2ARC is. The read performance improvement is huge with a SSD as L2ARC read cache. Image this with a RAID and you will have a fast and reliable fileserver. It funcions a bit like Intels SRT technology, Seagates HDD with a SSD cache and  recently Apples Fusions discs (which is also a HDD plus SSD).

L2ARC is also safer then e.g. Intels SRT, because Intels system cannot detect when data on a SSD cache gets corrupt. ZFS can detect corruption on a SSD cache: it will simply deactivate the SSD as read cache and read the data directly from its normal filesystem.

So here you are. ZFS RAID with L2ARC for a safe and reliable fileserver.

I will soon tell more about the filesystem. It wil be my next project: a reliable AMD Brazos home fileserver.

ZFS

For the problem of High Capacity disks in RAID there is now a better solution: ZFS

What is ZFS?

ZFS or Zettabyte File System is a new kind of filesystem. ZFS differs greatly from other filesystems, because the next generation filesystem also has the same kind of funcions that LVM and RAID can provide. We therefore call  it a hybrid filesystem. Traditional file systems are FAT32, NTFS, Ext3 / 4 (the latter is even more unreliable than NTFS)

Almost all existing file systems work on a storage device such as a hard disk. They are not made to communicate with multiple hard disks. A separate RAID layer is needed then for multiple drives and then placed on a filesystem. The file system is not aware of the fact that its data is placed on multiple disks is those two worlds are strictly separated.

ZFS works quite differently, it speaks directly to multiple disks and integrates the functionality of RAID, LVM and file system in one package. This has many advantages, especially in terms of reliability, but also performance.

Read more about the many benefits of ZFS (dutch):

http://gathering.tweakers.net/forum/list_messages/1452380. Cipher has very clear (for noobs) set done the benefits of ZFS

or

http://en.wikipedia.org/wiki/ZFS

There are really only 2 competitors: Btrfs (Linux) and refs (Microsoft). These are in a different stage of development as ZFS. ZFS is the most stable, (And Mr. Reiser is in prison …)

ZFS has been developed 10 years ago in the laboratory of IBM. Apple was once very interested and at the time (in Snow Leopard if I’m not mistaken) it was even hidden in the OS. Sun came to power and for political reasons, Apple removed ZFS. Apple continued to HFS +. (so sorry,  Apple). Everbody hopes now that with Oracle as the new owner of ZFS Apple will reconsider its former choice.

Where can you find ZFS?

In (Open) Solaris Oracle course. There are several paid and opensource versions: Nexenta, Napp-it, Openindiana, EON-zfs storage, etc.

But also in FreeBSD: mfsBSD, Freenas, NAS4FREE. ZFSguru.

Integration with Linux is not yet stable. And Microsoft has its own file systems.

Do you like to do things yourself (eventually appear unix commands of Linux, BSD and Apple together) then you can use FreeBSD ZFSGuru a server build. It has a complete FreeBSD build as a base. With ZFSGuru to control the ZFS filesystem.
IF you are a noob like me, you might like FreeNAS 8 (now owned by Ix systems) or NAS4FREE.
All this is open source and therefore free to download.

I myself tested FreeNAS 8 under Virtualbox and it runs very well and stable as fileserver. It has NFS, Samba, Apple shares, (s) FTP, iSCSI…, it’s all in there. FreeNAS is also based on a minimal version of BSD.