ZFS-Stats is online

I’m glad to announce that the first beta version of ZFS-Stats is finally completed and available to download.

The Ruby on Rails server application is available for download through this Github repository. Installation documentation is there as well.

Clone this repository on all your ZFS nodes.

Also, I’ve put a demo application online. Click here to check it out! To get access as a read-only user, you can login with the following credentials:

Username: guest@zfsstats.io
Password: guest

Switched to Octopress

Since I wanted to try something new and exciting, I moved my website from Wordpress to Octopress. This is a static site generator written in Ruby, built on top of the Jekyll framework. Check it out here! Octopress relies on a couple of Rake tasks. For example, creating a new blogpost is as simple as:

rake new_post['Your post name here']

Another cool feature of static websites in general is, they of course don’t use a database. All content is directly written to local .html files. Version control is maintained by Git, and pushing a new article from your local PC to your webserver can be achieved with Git too.

In general, most third party themes of Octopress are very clean and lightweight. I liked the Oscailte theme in particular, since it add’s a nice personal welcome page out of the box.

Greetings, Jeroen

Python: Parsing tab indented file

While developing my new ZFS stats program, i needed to parse the output of ‘zdb’, a ZFS command which returns a tab indented output with a parent-child hierarchy. I made a recursive function in Python which reads all the lines in the ‘file’, and parses the output in a hierarchical dictionary so each key-value pair is directly accessible in Python, with the logic of the original output still maintained.

Read on →

Play framework: ORM & Oracle RDBMS

While developing a Java RESTful API with help of the Play Framework, i ran into some trouble when connecting to an Oracle Express 11g database. I wanted to use ORM to map my Java models to a database, and let Evolutions automatically update the database tables. Apparently, Evolutions won’t create the play_evolution table by himself when using the Oracle JDBC driver. So, here are the steps to make it all work.

Read on →

Setting up ZFS ACL’s

This afternoon i have been setting up the ZFS ACLs (Acces Control Lists) on my SAN in order to regulate the permissions for SMB/CIFS sharing. Because the NFSv4 ACL system is quite different compared to the traditional POSIX permissions, i decided to write an article about it on my weblog.

Read on →

Solaris: Install i386 UnRar

In addition to my tutorial about how to install SABnzbd, here’s an explanation about how to install the correct version (eeg, a working version) of UnRAR on Solaris. The UnRAR version that was called in the external tutorial didn’t work for me. It was throwing errors about incompatible hardware. That probably has to do with the fact that the previous version was built for SPARC processors and not for Intel i386.

Read on →

Solaris: Publish RAM disk over FC

This is a simple tutorial to demonstrate how to create a RAMdisk in Solaris and share is as a LUN (Logical Unit Number) over FibreChannel. With a RAMdisk you can benchmark your network connection (Ethernet, Infiniband or FibreChannel) without suffering from the most common bottleneck, your storage. In this tutorial i will present the created device as a LUN and initiate it over a 4Gbit FibreChannel link to a Windows Server 2008 R2 initiator. When this is done, you can achieve some pretty impressive speeds.

Read on →