Category: Linux

supermicro 5036
Since I started working for a software vendor, my personal use of virtualization has grown exponentially. Everything I demo is contained within a VMware virtual machine. When I need to test new products or complex multi-product configurations, virtualization is the obvious choice, especially considering that my office is my home. I’ve been doing most of my work on a laptop, but I’m constantly running in to resource limits. Not enough disk space, not enough RAM, and lacking the CPU/Storage speed necessary for simulating enterprise software.

To solve my resource limitations, I decided to build a workstation that would function as a VMWare ESXI server. ESXi was the obvious choice since its the most widely used, and its completely compatible with the virtual machines I run on my Ubuntu laptop using VMware workstation. I wanted to get a pre-built whitebox that was supported by VMware. I selected the Supermicro 5036, which basically has server class hardware in a mid-tower form factor. I picked up a 3 ghz quad core i7 CPU and 12GB of ram. For storage I chose 4 1TB drives that I was planning on using in a RAID5 array.

When my hardware arrived, I burnt the latest ESXi iso (4.1) to a CD and began the install. I quickly discovered that ESXi does not support the on-board RAID capability of the motherboard. I naively assumed that when VMware said a device was supported, that all the functions of that device were supported. I really wanted to utilize RAID in my configuration, so I found a ESXi 4 supported 3ware RAID card on Ebay for a reasonable price. When the RAID card arrived, I installed the card and quickly discovered that VMware dropped support of the 3ware 9550sxu-4lp RAID card with version 4.1, so I would need to utilize 4.0 update 1 if I wanted to use RAID with my current card. The bottom line is VMware ESXi hardware support is very limited and subject to rapid changes.

So I downloaded and installed ESXi version 4.0 update 1 and the driver for 3ware RAID cards. I had 4 1TB drives setup in a RAID5 array, which seemed like a very basic configuration. However, when I logged in via the client I found out that ESXi cannot handle disk arrays over 2TB. My compromise configuration was to set up 2 drives as RAID 0 and 2 drives as RAID 1. One datastore for speed, and one datastore for data integrity.

With the installation complete, I was able to quickly move my existing VM’s to my new server using VMware converter. Besides the hardware compatibility issues, I’m really happy with the performance of the ESXi server. My only big gripe is that the Vsphere client used for accessing the ESXi server is Windows only, which is absolutely inexcusable.

With my previous file server down for the count, I decided to spend some money to build new home storage system.

Operating System
Linux is the obvious choice. I took a quick peek at Nexenta, but decided that ZFS was probably overkill. The harder question for me was what Linux distribution? I took a look at Openfiler, but decided that I wanted to run a more “general purpose” distribution. Typically, Debian is my distribution of choice for servers. I narrowed it down to Debian or Ubuntu server, which is really a Debian derivative. I ended up going with Ubuntu, because I figured it would have the most bleeding edge enhancements. If stability was paramount, Debian would be the right choice.

Hardware
computer case
I wanted to over-engineer the hardware configuration. My last file server had about 850 GB of usable storage, and it filled up quickly with pictures, videos, and legal music. I also used it for backup space. Even though software raid has come along way, I still wanted to use a hardware raid card. I ended up getting a fantastic deal on a 8 port 3ware SATA II raid card with a battery backup unit. Processing power was not really a concern, I just needed to get the cheapest PCI-X compatible motherboard I could find. I ended up setting on Tyan board for $66. For the enclosure, I picked up a cheapo Antec case with 6 drive bays for $50. The most important part of the file server server is obviously the disks. For my storage partition I chose 5 Western Digital 1 TB SATA drives in a big RAID-5 ARRAY.

  1. Tyan S5161G3NR-RS $66
  2. Corsair 1GB DDR2 $16
  3. Pentium D 940 3.2 GHZ $89
  4. 3ware 9550SX-8LP $150
  5. Antec Case $50
  6. 5 1TB drives $500
  7. 1 80GB drive $35
  8. Power Supply $100
  9. Grand total $1006

It really doesn’t need to be that expensive, you could easily bring that total down to $700. Use software RAID, an existing case, a cheaper power supply, and a cheaper CPU.

Configuration
I installed Ubuntu Server on a single 80GB drive, and I have the huge array mounted on /home. With the large RAID 5 partition, I had to use GNU parted instead of Fdisk to partition. Fdisk has a 1.5TB partition limit. I also had to use the GPT partition format, since DOS partitions have 1.5 TB limitation as well. For the file-system, I decided to use EXT4, since its supported with latest edition of Ubuntu server. If you really care about your data, I would suggest using EXT3.


For file access, I’m using NFS4 for my Linux and OSX clients. SSHFS and Samba are enabled as well For alterting, I have 3ware’s management interface from the server. Not only can I login to see what’s going on with the array, but I will receive e-mail alerts if anything bad happens to the disks.

. I’m also using this server as my primary bittorrent client. I found
Deluge, which is a modern bittorrent client written in python. My only two requirements were that it had a web interface, and it supported UPNP. Deluge has 3 different client options to chose from: GUI, Command Line, and Web. Running deluge in the background, I can access the web interface from any computer.

Overall, I’m very pleased with my current configuration. Its amazing what $1000 will get you these days..
3.6 TB usable

Desktop Linux has come a long way over the last ten years. There are lots of projects and people who have made desktop Linux a viable option for users everywhere. Most notably, the development of Ubuntu has done more for desktop Linux than any other distribution or project.

A lot of the problems that plagued desktop Linux five years ago are solved today. The installation is a lot easier, and hardware support has greatly improved. Usability improvements are obvious, and fundamental applications like web browsing and office suites are on par with the closed alternatives.

While there are lots of areas where desktop Linux has improved greatly, there are a few notable exceptions:

E-mail and Calendaring

The Evolution project looked like it was going to be the great groupware client for Linux, but sadly Novell has pretty much abandoned it over the years, mostly due to their collaboration with Microsoft. There is not a viable alternative to Outlook that runs natively on Linux today. This is a huge barrier to corporate adoption.

Photo and Video Editing

This is the main reason why I had to buy a Mac. You cannot do advanced content creation and use Linux as your primary desktop operating system. There are many basic applications for managing and editing photos, but don’t even try to edit RAW files coming out of a DSLR. There are a few apps that will do it, but nothing close to the sophistication of whats available on OSX and Windows.

Video editing is another glaring support hole for desktop Linux. Sadly, there is no real good solution for this problem. None of the major Linux distributions are going to spend resources developing solutions for content creators. The existing market players like Adobe, don’t have enough fiscal justification for spending money on a Linux port. Sadly, I do not see this situation improving anytime soon.

Device Synchronization

Once upon a time, Ipods played nicely with Linux, but not anymore. Sadly, this is really an Apple problem. Apple has deliberately obfuscated the Ipod in order to prevent it from playing nice with Open source software. Because Ipods are such a huge part of people’s everyday computing, the integration with Linux needs to be seamless. Unfortunately, Apple is evil.

Smartphones are another issue. People need to be able to synchronize their phone with a Desktop computer without having to be a genius. In the age when everyone owns a device that syncs with their computer, Linux is way behind the times.

As a company, Sun may be getting close to needing life support, but their new storage product is very nice.

A good blog about how Sun is using SSD’s in this device.

Eweek’s Writeup

Its easy to see why Network Appliance is suing Sun, this product is probably a huge wake up call for Netapp. Unless you are using their products for legacy reasons, I don’t see why anyone would be buying Netapp at this point.

Now, if only Sun would port ZFS to Linux..

Ubuntu is popular, popular for a Linux distribution anyway. You think commercial and enterprise Linux distributions would look to Ubuntu for inspiration, but most companies are close minded.

I was in a meeting the other day with some salespeople from Novell, and we were discussing how RPM is essential broken, and its been frozen in time since the late 90’s. I suggested looking at the most popular Linux distribution for inspiration on packaging.

The salespeople looked puzzled, What distribution is that? “Ubuntu” I said.. From the looks on their faces, I think a few of them were questioning Ubuntu’s popularity.

Here is the data from Google trends..

ubuntu is popular Google trends.

Basically, if you take every other popular Linux distribution and combine them, it might equal Ubuntu’s share. Now, your typical sales person would say, “well that’s because they give it away for free!” Sadly, the lack of a price tag has nothing to with Ubuntu’s popularity. Fedora has been around a lot longer (for free) and has more money thrown at it, but Ubuntu still leads.

Redhat and Novell should take a hard look at Debian and Ubuntu, they could probably learn a few things about what makes a good Linux distribution.