Untitled Document

About oneSIS

oneSIS allows you to have diskless nodes, diskfull nodes, or any combination in-between. Simple setups require hardly any configuration at all, but with oneSIS even complex environments become easy to manage.

Diskless or diskfull nodes

Running a system with 'diskless' nodes eliminates at least one single point of failure and tends to make system administration significantly easier. On diskless nodes, the root filesystem is mounted read-only over NFS and local disks (if any) can be used for swap, temporary storage, or persistent local storage. 'Diskfull' nodes (nodes that boot directly from a local disk) use exactly the same root filesystem as diskless nodes and therefore behave exactly the same way. However, there is some added overhead to make sure that the root filesystem on a diskfull node remains synchronized with the master image. oneSIS was designed primary to simplify administration of diskless machines, but it can handle environments running any mix of diskless and diskfull nodes, and can deploy either with ease.

Fine-grained control of independent node behavior

oneSIS is unique in the way it is able to tailor the behavior of individual nodes. Most nodes behave in exactly the same way; they use the same configuration files in the master image. However, any node or class of nodes can be configured to load different configuration files, run different services, or otherwise use an altered filesystem in any way. The differences in the master image are centrally configured from a single configuration file. Any node or class of nodes can be configured to behave in any way you want. oneSIS provides fine-grained control of node behavior without sacrificing clarity or simplicity.

The basic concept

oneSIS is a system for enabling a single root filesystem (ie: '/' on your Linux machine) to be shared my many (even functionally different) machines. Since many nodes share a single filesystem, the primary mode of operation is to run each node with a read-only root filesystem. However, in the course of running it is common for start scripts and applications to need to write to the root filesystem for many reasons. To overcome this, oneSIS enables you to configure any file or directory to reside either in a RAM disk, on a local disk, or on any NFS (or similar) mount point. Note: The only files that oneSIS manages are those that need to be writable and those that should be different between nodes.

A strong objective in the development of oneSIS was to make a system that could essentially be a cluster 'building block' of sorts. To achieve this goal a very simple constraint was devised: The root filesystem of every node should always be EXACTLY identical. Every node is an exact mirror of the root image. This property has many desirable benefits in terms of system manageability and scalability.

What oneSIS does

A single oneSIS image can contain the configuration of many functionally different machines at the same time. In fact, much of what oneSIS does is explicitly define all the differences that exist between nodes. To be precise, oneSIS is capable of performing the following functions:

  • Configuring a linux distribution to use a read-only root filesystem
  • Configuring any file or directory in the image to be writeable
  • in RAM (for non-persistant data)
  • on a local disk
  • on a mounted network filesystem
  • Declaring class-specific or node-specific versions of any file or directory
  • Deploying the image to a local disk
  • synchronizing an image deployed on a local disk
  • In addition, oneSIS supplies several utilities that may help simplify managing your system. These utilities can be used for the following tasks:

  • Generating an initial ramdisk (initrd) to boot NFSroot nodes
  • Handling power management
  • Consolidating different power utilities into a single command
  • Handling console management
  • Consolidating different console utilities into a single command
  • Making per-node PXE configurations easier to handle
  • and more ...
  • How it works

    As mentioned above, a single oneSIS image can contain the configuration of many functionally different nodes at once. It does this by configuring a 'linkback' for any file or directory that should be different between nodes. This allows any file or directory to be changed for any class of nodes or any individual node. Here's how it works:

    If a linkback is defined for a particular file (/etc/fstab in this example), the file becomes a link into a RAM disk created by oneSIS. At boot time, each node determines its role and uses the version of the file that corresponds to that node's class (role). If a class-specific version doesn't exist, the default is used. This technique can be used to achieve any desired behavior for any node. When combined with class inheritance, the behavior of an entire complex system can be expressed with surprisingly little configuration.

    A rudimentary glance at the configuration file can give any administrator a very good impression into how the entire system is configured to operate. Changing the behavior of each type of node is very easy to do, and with diskless nodes all changes are seen instantaneously on all clients. Also, any node can change its configuration (or its role) on the fly by making a simple change to the configuration file and issuing a command. oneSIS opens up an entirely new realm of possibilities for managing diskless nodes. At least one useful side-effect is that linux cluster administration has never been so easy.

    Currently supported distributions

    oneSIS currently supports several different flavors of Linux. Don't be too upset if your target distribution is not in the list: it can take less than 5 minutes to port to a new distribution.

    Supported distributions:
  • RedHat Enterprise Linux
  • Fedora Core
  • CentOS Core
  • SuSe/SLES
  • Debian
  • Ubuntu
  • Gentoo

    Copyright © 2004-2007 Sandia Corp. All rights reserved.
    Last Modified: 07/10/08