Wednesday, November 5, 2008

Why I set up my home network with Solaris

I often worked with Solaris, and I felt in love with it years ago, but until 2004 I never thought about installing it at home, mainly because what I really wanted was the system and a Sun machine. And in those times I couldn't afford buying a decent machine, neither was I interested in looking for an old-one and substituting my Slackware-based network, which was running on decent hardware.

I started to use Solaris for core network services, like exporting NFS shares, DHCP and so on. When Solaris 10 made was released and the Solaris Express program started, things have changed a lot and know I find myself running a pure 100% Solaris network and was left with not even a single GNU/Linux machine. Technologies like ZFS, DTrace and containers are revolutionary, I found them astonishing since the beginning: you canLink virtualize operating system and storage, or instrument your system with a new ad-hoc language and clean set of administrative commands; this, and much more, supported by good documentation. I think they are a major feature I would really miss using another operating system. I couldn't think living without ZFS or zones, nowadays.

I have a X2100 M2 server running the following services on top of Solaris 10 update 4:
  • DHCP server (global zone)
  • DHCP relay (zoned)
  • DNS server (global)
  • Subversion server (global zone, zoned)
  • NFS server (global)
  • LDAP server (global)
  • Web Proxy Server (global)
  • packet forwarding
All of these services, except LDAP and Subversion, are built-in in Solaris. Configuring them and starting them up was trivial, just a read-the-manual exercise. A good Subversion package, with even an SMF manifest, was installed from Blastwave repository, my favorite choice when I look for a Solaris package. The LDAP service is run with Sun Java System Directory Server, while the web proxy is a Sun Web Proxy Server instace, both of which are part of the Sun Java Enterprise System. Integration of Sun software packages and Solaris is obviously very good, and that's why everytime I can, I go for a Sun package rather than using an altenative. Installers are well done, your system is automatically patched, the installer usually let the administrator perform the initial configuration of the product and in a short time the service is up and running.

Another thing I love in Solaris 10 is the philosophy of some administrative commands: if you want to read the classical plain text UNIX configuration files, they're there. But the administrator is help by a great set of administrative command which act as a front-end to such files, greatly reducing the possibility of typos and misconfigurations which sometimes can be an headache.Link
All of the clients I have are either Solaris 10 or Solaris Express Community Edition whose setup is trivial: just install the system and load the LDAP profile. VoilĂ , 5 minutes after the first reboot, the machine is up and running and you can login with your LDAP-maintained account. And this is the same procedure I configure non-global zones, too. Moreover, since the earliest releases of the now defunct Solaris Express Developer Edition, I don't feel any longer the need of installing GNU/Linux in my clients because I have a good desktop and everything I need.

Another great feature of Solaris 10 are zones. Configuring a basic sparse zone is easy and it's a well documented procedure. The first zone I setup was aimed to solve a problem I had with deploying Blastwave's software. The second zone I deployed is used as development zone with an instance of Glassfish application server and Subversion server. The server is relatively small and always ran without any glitch. I don't have numbers, and I would like to have them, but zones seems a very lightweight solution with a good potential for scalability.

I can now connect to my home network, receive a DHCP number for the subnet I am connected to and start to browse files shared via NFS (or via the SMB protocol in the case a Windows succeeds entering my home), listening to music, watching a movie stored in my ZFS base RAID-Z disk array, or using remotely whichever program I need.

The only thing of which I'm left with the curiosity to try is buying a Sun Ray Client and give it a try.

100% Solaris, rock-solid, and free.

No comments: