zfs

Top 7 Cool Things About the New Oracle Solaris 11 Express Release

Solaris_11_Express.jpg

At last, it is here: After lots of waiting, speculation, community self-help efforts, future directions, anticipation and more, we're now holding it in our hands: Oracle Solaris 11 Express is here!

While you're testing/installing/upgrading to this new release, let's check out the following top 7 cool things about Oracle Solaris 11 Express:

Oracle Solaris 10 09/10: ZFS Highlights

Solaris10_0910.jpg

The recently announced Oracle Solaris 10, 09/10 release introduced a number of significant upgrades to the ZFS file system.

Ironically, Solaris 10 now comes with a higher ZFS pool version (19, at least) than OpenSolaris 2009.06 (14).

So let's look at some of the key ZFS improvements that came in this update and figure out why they're so useful.

In this article, you'll learn more about LUN Expansion, Snapshot Holds, Triple Parity RAID-Z, Log Device Improvements, Pool Recovery, Splitting Mirrors and we'll discover a new scheduler class!

And as a bonus, we'll get to watch some videos that explain these features in further detail.

Solaris ZFS, Synchronous Writes and the ZIL Explained

ZIL.jpg

When talking to customers, partners and colleagues about Oracle Solaris ZFS performance, one topic almost always seems to pop up: Synchronous writes and the ZIL.

In fact, most ZFS performance problems I see are related to synchronous writes, how they are handled by ZFS through the ZIL and how they impact IOPS load on the pool's disks.

Many people blame the ZIL for bad performance, and they even try to turn it off, but that's not good. Actually, the opposite is true: The ZIL is there to help you.

In this article, we'll learn what synchronous writes are, how they're processed by ZFS, what the ZIL is, how it works, how to measure ZIL activity and how to accelerate synchronous write performance, which is at the root of many, if not the majority of ZFS performance problems.

ZFS is for 1337 Hax0rz

ZFSCode.jpg

The developers of ZFS are a funny bunch of people. You can tell that by watching the "ZFS: The Next Word" talk, meeting them on conferences, reading their blogs or their comments on mailing lists.

And there are also some funny parts in the ZFS source code, too. In fact, if you use ZFS, you'll have a funny joke sitting on your disk, right under your nose!

I was reminded about this particular joke while listening to Ulrich Gräf's excellent talk on ZFS internal data structures during OSDevCon 2009 (watch a video of Ulrich's talk here).

But first, we need to dig a little bit into the world of ZFS data structures.

A Closer Look at ZFS, Vdevs and Performance

vdevs.jpg

When looking at the mails and comments I get about my ZFS optimization
and my RAID-Greed posts, the same type of questions tend to pop up over and over again. Here's an example from a reader email:

"I was reading about ZFS on your blog and you mention that if I do a 6 drive array for example, and a single RAID-Z the speed of the slowest drive is the maximum I will be able to achieve, now I thought that ZFS would be better in terms of speed. Please let me know if there is a newer ZFS version that improved this or if it does not apply anymore."

This is just an example, but the basic theme is the same for much for the reactions I see: Many people think that RAID-Z will give them always good performance and are surprised that it doesn't, thinking it's a software, an OpenSolaris or a ZFS issue.

In reality, it's just pure logic and physics, and to understand that we should look a little closer at what vdevs are in ZFS and how they work.

Ten Ways To Easily Improve Oracle Solaris ZFS Filesystem Performance

ZFS Performance

This is a long article, but I hope you'll still find it interesting to read. Let me know if you want me to break down future long articles into multiple parts instead.

One of the most frequently asked questions around ZFS is: "How can I improve ZFS performance?".

This is not to say that ZFS performance would be bad. ZFS can be a very fast file system. ZFS is mostly self-tuning and the inherent nature of the algorithms behind ZFS help you reach better performance than most RAID-controllers and RAID-boxes - but without the expensive "controller" part.

Most of the ZFS performance problems that I see are rooted in incorrect assumptions about the hardware, or just unrealistic expectations of the laws of physics.

So let's look at ten ways to easily improve ZFS performance that everyone can implement without being a ZFS expert.

New Video: Implementing a Simple SMF Service: Lessons Learned

During OSDevCon 2009 in Dresden, I had the honor to present on some lessons learned while putting together a ZFS Automatic-Scrubbing SMF service.

Today, Deirdre was so kind to publish the video recording of my presentation on The Oracle Solaris Video Blog.

From the description:

This talk walks you through the implementation of a simple SMF service. What sounds "simple" at first, develops a life of its own when you consider installation/de-installation, security considerations, error handling and debugging, and of course unexpected little bugs and shortcomings. Finally, we add a GUI to our service by discovering the OpenSolaris Visual Panels project. This "lessons learned" talk is intended to be a practical roundup of things to consider for developers interested in integrating with SMF.