Distributions
Rockstor — A Btrfs-based NAS distribution
This is the second article in a short series on distributions designed for use in a network-attached storage (NAS) box. The first was a look at OpenMediaVault, a fairly traditional NAS distribution. The subject this time around — Rockstor — is a different beast; its purpose is to make the features of the Btrfs filesystem available behind an easy-to-use, web-oriented management interface.
Given that, by some accounts, Btrfs is still not ready for production use,
one might wonder about the wisdom of using it in an NAS box, which, after
all, could be the definition of "production use." The Rockstor developers
are clearly sensitive to that concern, to the point that they have
dedicated an
FAQ entry to it: "In our experience, BTRFS has become very
reliable. Also, Rockstor confines users from using BTRFS more freely, thus
reducing the chances of hitting deep intricate bugs.
" The Rockstor forums do not contain
any reports of data loss as of this writing, which is an encouraging sign. But
it is not clear
that Rockstor has a lot of users yet, and advice in the project
documentation like "so
wear your Linux ninja hat to troubleshoot serious data loss
problems.
" might be seen as troubling. Rockstor is probably of most
interest to users who want to explore the leading edge and are prepared for
the possibility of trouble.
The distribution appears to be built by a small group of developers at a company (Rockstor, Inc.) that hopes to monetize it via support contracts and partnerships with other companies. That, too, could be an area of concern; if Rockstor's commercial plans don't work out, the distribution could end up in an unsupported state. The best defense against that outcome, of course, would be to grow an active development community outside of the corporation; it is not clear that this has happened so far, though. The Rockstor GitHub repository shows commits from four contributors, three of which are listed as employees of the company.
The Rockstor distribution is based on CentOS 7. Given the rapid pace of Btrfs development, one might wonder about using a set-in-stone enterprise-oriented distribution. Rockstor ships a newer kernel than CentOS, though; the 3.5 release tested by your editor runs a 3.17 kernel seemingly taken from ElRepo. Assuming that no bugs are introduced in the newer kernel, a CentOS base should provide the kind of stability that is more than welcome in a storage server. It also allows Rockstor to depend on CentOS to provide the bulk of its security updates.
Installation
The initial installation experience was not entirely pleasant. The installation documentation says that the installation image can be copied to a USB drive and booted from there — as one would expect these days. Nothing your editor tried would render that drive bootable, though. A question on the forum yielded the truth: booting from USB simply does not work. That would have been nice to know before sinking some hours into the attempt.
The acquisition of a cheap USB optical drive was sufficient to get past this problem. Once booted, the CD provides a fairly straightforward, Anaconda-based graphical installation experience. Like OpenMediaVault, Rockstor wants an entire drive for its own use; it will not share a drive with the filesystems it serves. Happily, the small server used as a testing platform has a MicroSD slot on the motherboard; purchasing a 16GB card along with the USB drive enabled an installation that leaves all of the drive bays free for data storage.
Managing Rockstor
Unlike OpenMediaVault, Rockstor uses SSL with its web-based administration interface from the outset. At this point, of course, the user has had no opportunity to install an SSL certificate on the machine, so Rockstor generates its own. That leads to the inevitable "unknown certificate" warnings when first connecting to the new machine — unfortunate, but it would be hard to do better. The warning seems preferable to managing a storage server over an unencrypted connection.
The first step requires the user to agree to the end-user license agreement. It was with some trepidation that your editor went off to see what he was agreeing to, but the actual EULA is sufficiently short and sweet that most users should have little trouble with it.
The administrative interface itself starts with a "dashboard" view with a
number of little, constantly updating widgets. The usual information is
there, showing parameters like available space, network bandwidth, and CPU
usage at a glance. The Rockstor interface also shows I/O bandwidth to the
individual storage devices, which is a useful feature.
The first step, naturally, is to set up some filesystems to export to the network. The only available filesystem type is Btrfs, and its use forces a different view of the task than one sees with more traditional filesystems. The first step is to organize the available devices (Rockstor only deals with full drives; no partitioning is available) into "pools" for use. Pools can be set up with any of the usual RAID configurations from standalone drives through RAID6; data compression can also be enabled at this level.
The pool setup process feels a bit fragile at times; it will fail if it looks like the drive is in use for any other purpose. Seemingly the presence of a partition table on the drive is all it takes to block the pool-creation process. Getting around such issues can require some manual command-line work — not the experience that the web interface is meant to provide. The error messages can also be misleading; it claimed that a disk was unusable due to having a Btrfs filesystem on it, when that drive was previously part of an MD RAID setup hosting an ext4 filesystem.
Existing pools can be resized by adding or removing disks. The resizing dialog, though, warns that the pool must be rebalanced manually after adding or removing drives. There is no indication of how to do that rebalancing. So it is safe to say that, for all practical purposes, the pool-resizing functionality in the web interface does not really work yet.
One other place where Rockstor falls a bit short is that it has no support for SMART monitoring of drive health. Drives fail, and anything that can be done to gain some advance warning of a failure can only be welcome. Rockstor's web interface also lacks any sort of power-management configuration for drives.
After at least one pool has been set up, it is time to create "shares,"
otherwise known as filesystems. Each share draws space from one pool; it
can share that space with other filesystems. The space in the pool can be
overcommitted if one desires, as long as the relevant filesystems don't all
fill at the same time.
A separate "exports" screen controls the exporting of shares to the net; it can manage NFS, CIFS, and Apple (AFP) shares. The NFS screen is simple but straightforward; it allows the specification of a special host that is allowed root access to the filesystem. The CIFS (Samba) screen is also simple; one thing that is lacking here is support for the Samba home directories feature.
If one digs far enough into the "shares" screens, one finds the ability to
work with Btrfs snapshots. Taking a snapshot is a simple matter of hitting
a button and giving the snapshot a name. Snapshots can be cloned and
deleted. There is also a function to roll a filesystem back to a previous
snapshot, but that will only work if that filesystem is not exported to the
net.
There is a set of screens for managing users and groups. There also appears to be the ability to obtain this information from a NIS or LDAP server on the net. In general, one gets the sense that the Rockstor developers assume that user management will be handled elsewhere.
Command-line administration — sort of
The web interface is nice, but it seems obvious that not all tasks can be accomplished that way currently. Obtaining a shell on the device is easy enough, of course, but one naturally wonders how much command-line work can be done before one runs into conflicts with the Rockstor software. There is, for example, a PostgreSQL database humming away in the background, so there is clearly some significant state being maintained; putting the system in a condition that doesn't match that state is unlikely to lead to pleasant results.
The Rockstor developers seem to have thought of this problem; for that reason, they have provided a command-line interface providing access to a variety of management functions. The documentation says that this interface is entered automatically when an administrative user logs into the server with SSH. That did not happen; an SSH login leads to an ordinary bash prompt. Some digging around turned up the actual interface in /opt/rockstor/bin/rcli, though.
The functionality provided there is useful, and could make the writing of shell scripts easier. Unfortunately, the command-line interface is fragile at best. Various functions don't work and just about any error leads to a Python traceback and the program's untimely demise. Clearly some work is still needed to get this tool into a usable condition.
Closing notes
One interesting feature that your editor was unable to play with is server replication; Rockstor can be configured to automatically replicate filesystems across servers. The Btrfs send/receive feature is used to implement this functionality. If it works as advertised, it is a feature that could prove useful, especially in larger installations.
The web interface advertises an "analytics" function that is supposed to provide information on what is keeping the NFS server busy. It seems to be based on a set of SystemTap probes. Your editor was unable to get it to produce any output, though.
To summarize: Rockstor is an interesting distribution with a number of useful features. It could well serve as the base for a production NAS device. That said, much of this code has the appearance of being rather new and immature. The Rockstor distribution could certainly benefit from a larger group of developers who could round out its functionality and deal with the various glitches. If Rockstor the company survives long enough to build a development community and get that work done, it could have a bright future; this is a project to watch.
Brief items
Distribution quote of the week
Debian 7.8 released
The eighth update to Debian 7 "wheezy" has been released. As usual this update adds corrections for security issues and serious problems. "Those who frequently install updates from security.debian.org won't have to update many packages and most updates from security.debian.org are included in this update."
Distribution News
Debian GNU/Linux
Marvell donation accelerates Debian ARM package builds
The Debian Project has announced that Marvell has donated equipment to help the ARM port. "Starting in April, several Debian ARM port builder machines have been upgraded to substantially faster Marvell Armada XP based servers. Marvell has donated eight Marvell MV78460 SoC development boards using Marvell Armada 370/XP CPUs running at 1.6GHz."
Bug Squashing party for Debian and Ubuntu
There will be a bug squashing party for Debian and Ubuntu January 31-February 1 in Oslo, Norway. There will be a workshop for new contributors.
Fedora
FESCo and Env and Stacks WG upcoming elections nominations are open
Nominations are open for the Fedora Engineering Steering Committee (FESCo) and the Environment and Stacks Working Group (WG). There are five seats open on FESCo and four seats open for the WG. Nominations are open through January 19.
Newsletters and articles of interest
Distribution newsletters
- DistroWatch Weekly, Issue 592 (January 12)
- Ubuntu Weekly Newsletter, Issue 399 (January 11)
6 new things Fedora 21 brings to the open source cloud (Opensource.com)
Jason Baker takes a look at Fedora 21 Cloud, on Opensource.com. "When you're talking about paying for space for hundreds of virtual machines, or even just waiting for a configured image to upload from your local machine to your cloud environment, size matters. The Fedora maintainers made strong progress bringing down the base size of the Fedora cloud image for the new release. Cloud images now clock in at a 10% smaller size than the previous release, with a qcow2 formatted version under 200MB."
Deepin Linux: A Polished Distro That's Easy to Install and Use (Linux.com)
Linux.com has a review of Deepin Linux. "Even if it looks like Gnome Shell, Deepin is not using the shell. They started off with the Shell, but encountered many problems as they tried to customize it to their needs (that could be one of the many reasons there are so many forks or alternatives to Gnome Shell: Cinnamon, Mate, Elementary OS' Pantheon, and Unity, among many others). Similar to other projects Deepin went ahead and developed their own Shell which was simply called Deepin Desktop Environment. DDE is based on HTML5 and WebKit and uses a mix of QML and Go Language for different components. Core components of DDE include the desktop itself, the brand new launcher, bottom Dock, and the control center."
Page editor: Rebecca Sobol
Next page:
Development>>
