Solaris Flash Software Overview
The Solaris Flash software allows system administrators to create a snapshot image of a complete system including the Solaris OE, the applications, and the system configuration into a new Flash archive format. This reference system on which the archive is created is referred to as a master system. Using the Flash archive, administrators can replicate reference server configurations onto multiple clone, or client, machines.
The three steps used to create, archive, and deploy a Flash archive are described in the following sections.
"Configuring the Master System" on page 2
"Creating a Flash Archive" on page 4
"Deploying a Flash Archive" on page 5
Configuring the Master System
The first step is to install a master machine with the configuration that you would like to have on your clone machines. For example, if you want to install ten cache servers, then first you need to install a master system and configure it to work as a cache server. To install a master system, you can use any of the Solaris installation methods, such as a Solaris JumpStart software installation or interactive installation from a CD to install the Solaris OE. After installing the Solaris OE, any software can be added or deleted and configurations can be modified as necessary.
This first step is the most time-consuming, because it requires the administrator to install one or more software packages, and then configure the system to perform as it would in production. However, this step is the most criticalonce the software load is defined and archived, it is considered to be stable and complete. It is important to spend enough resources to achieve this goal. Once a stable and complete system is configured, it need not be configured again. The modifications made in this step are archived as part of the Flash archive, and remain frozen until extracted at a later date.
FIGURE 1 provides a diagram of configuring a master system.
FIGURE 1 Configuring a Master System
When the archive is later extracted to multiple machines, the resource savings become apparent. For example, a horizontally-scaled web server is a typical application of Solaris Flash. In this scenario, a machine is installed with the Solaris OE. Next, various entries in /etc/inetd.conf are removed to harden the machine against any security breaches. Then a web server such as Apache is installed and configured to provide optimum performance and security. Finally, the machine is archived using the Solaris Flash, flar(1M) command (flar create). This archive can then be deployed across tens or even hundreds of machines to provide a quick, virtually bulletproof farm of web servers. Each machine need not be individually configured; the required configuration is created "at the factory" when the master machine is configured.
Creating a Flash Archive
Once a master system has been configured to satisfaction, a snapshot is taken. This second step assumes the master system is complete and functional. In this process, the content of the master system is archived into a Flash archive. The Flash archive is created with the flar(1M) command. Note that the Flash archive copies all software and files on the master system unless certain files are specifically excluded. For example, if a flash archive is created from a web server, then that archive contains all the software and files installed on the master web server.
When the Flash archive is created with the flar(1M) command, the archival process includes not only the software and files on the system, but also includes any identification information (such as the size, date of creation, or MD5 integrity footprint) that can be used to later identify the archive.
The archival process can be time-consuming depending on the size of the system to be archived. However, this process is completely hands-off. The output of this process is the Flash archive which can then be stored on any file system or media such as an NFS, FTP, or HTTP server, tape, CD-ROM, or DVD. Typical sizes for a Flash archive containing the Solaris OE range from 100 Mbytes up to 1 Gbyte. Compression (flar create -c) can be used to minimize the resulting footprint. The Flash archives can then be installed over the network using custom Solaris JumpStart or the Solaris Web Start software for interactive installation.
FIGURE 2 provides a diagram of creating a Flash archive.
FIGURE 2 Creating a Flash Archive
There are important considerations when creating Flash archives. The master and clone machines preferably should have the same kernel architecture. For example, Flash archives created from a master server that has a sun4u architecture can only be used to install other servers with a sun4u architecture. However, post-install JumpStart scripts can be written for any necessary modifications to configuration files such as /etc/nsswitch.conf. These modifications allow for any differences in kernel architecture or device differences between the master machine and installation client. Separate Flash archives need to be created for both SPARC® and Intel architecture machines if you need to deploy on both platforms.
Deploying a Flash Archive
The final step is to deploy the archive. Several methods of deployment can be used. Traditional Solaris installation technologies can be used, such as Solaris interactive installation or custom JumpStart software, with the new archive_location keyword. In addition, Live Upgrade (described in "Solaris Live Upgrade Software Overview" on page 6) can also be used to deploy Flash archives.
FIGURE 3 provides a diagram of deploying a Flash archive.
FIGURE 3 Deploying the Flash Archive
Since the majority of system configuration is complete, the performance of deploying a Flash archive is primarily limited by the available bandwidth between the location of the stored archive(s) and clone machines. The overhead associated with a traditional package-based install is eliminated using Flash archives. It is important to note that not everything on the clone machines is identicalfor example, each clone machine will have a unique IP address. These machine-specific configurations are minimal and are accomplished with the same techniques found in traditional installations.
Installation with Solaris Flash is faster compared to traditional package- based installation, where each package is installed individually. John S. Howard (Howard, 2001) observes, "A traditional JumpStart software installation using packages may become time consuming as pkgadd(1M) needs to update the installed package database as well as relocate files."
Solaris Flash technology can also be used to store existing server configurations in the Flash archive format as a backup. If a failure occurs, software can be reinstalled rapidly using Flash archives. Solaris Flash is also ideal for the replication and deployment of server farms. Solaris Flash technology provides the ability to have consistent, controlled, reliable, and reproducible Solaris OE installations in mission-critical operations such as those in data centers.
Solaris Flash technology is included in the Solaris 8 4/01 release. Additional information on Solaris Flash is also available from the Solaris 8 Installation Guide and in the November, 2001 Sun BluePrints OnLine article "Web Start Flash" by John S. Howard and Alex Noordergraaf.