Less Known Solaris features: Jumpstart Enterprise Toolkit - Part 4: Jumpstart FLASH
Sometimes you don´t to do a new install of a system. You just want to clone a system. For example think about a webserver farm. Let´s assume you have thirty of them. You´ve configured one and now you want to distribute this config to all of your system. You´ve tuned the system extensivly, you changed configurations throughout all components. And you don´t want to do this 29 times again.
Full Flash Archives
Solaris Jumpstart knows a special mode of operation for this task: It´s called Jumpstart FLASH. The trick of Jumpstart flash is quite easy. At first a normal Jumpstart install and the FLASH install are identical. But when it comes to the installation of the Don´t install the packages one by one. Instead jumpstart flash unpacks a archive of a running system on a new system. This archive is called FLASH archive. Technically speaking it´s not much more than cpio
archive of a runing system.
Differential Flash Archives
There is an interesting mode of operation for flash archives. You can create differential flash archives. Let´s assume you created a basic flash archive and installed all your systems with it: your webserver, your mailserver, your database server. Most parts of the system are identical. Just a few addtional binaries and configuration files differentiate your server from each other.
Let´s assume you want to create flash archives from all systems. Of course you could create a full flash archive for each system, but this would be waste of disk space. The differential flash archive creation works relatively simple. It compares the content of a flash archive with the actual state of an installed system and just archives the changed parts. The next time you want to install the system, you use both archives. At first the full archive will be installed on the system, after this you use one or more differential flash archives to complete your installation.
old | new | Action |
exists not | exists | File is included in archive |
exists | exists but different | The file from the new state is included in archive |
exists | exists not | File will be deleted, when the diff archive is used on a server | </table> </center>