Zones + ZFS = Zen
By Frederic Pariente-Oracle on Oct 31, 2008
The US Center for Disease Control (CDC) BioSense data warehouse for national bio-surveillance undergoes nightly updates from an SQL server to a (data mart) SAS® SPD Server which is made available to the researchers community each morning. During that time, the SPD Server goes offline. As data volume grows, nightly updates may eventually spill into the next business day, so when in 2007 CDC upgraded their server to a Sun Fire 2900 system, they knew that a simple processor upgrade would not be enough in the long run. The solution of replicating SPD Server domains was however complex (software redesign) and/or costly (full server/storage duplication).
Enter Zones and ZFS. Zones, a.k.a. Solaris Containers, are an operating system abstraction for partitioning Solaris systems --they are kinda lightweight logical instances-- allowing multiple applications to run in isolation from each other on the same physical hardware. ZFS is a new kind of filesystem that provides simple administration, transactional semantics and immense scalability. A ZFS snapshot is a consistent point-in-time image of a filesystem. A clone is a writable copy of a snapshot. Solaris creates ZFS clones quickly using no additional disk space to start with. Both Zones and ZFS were technological innovations originally introduced with Solaris 10.
Leveraging Zones and ZFS, the following solution was designed for CDC. ZFS clones of the Biosense 1TB datasets can be created within minutes in a separate Solaris Container, where one can run a second read-only instance of the SPD Server with no modifications of config files or metadata, since Zones appear as brand new Solaris instances to applications. Zones & ZFS combined are solving CDC's problem very elegantly (built-in Solaris features, 4-hour proof-of-concept!), effectively (maintenance window is confined) and at no incremental cost (no extra server/storage, no SPD Server metadata redesign). In addition, the SAS admins are able to define access rights such that the few SAS programmers can update the live SPD Server in the global zone while the general scientific community accesses the cloned data.