tbku / Imaging-SUSE-Linux-With-tbku.txt
@tundra tundra on 11 Mar 2008 4 KB Minor edits.
How To Image SUSE Linux Systems Using ``tbku``

This document describes how to use the TundraWare Inc. ``tbku``
utility to "image" or "clone" SUSE Linux systems.

  .. Note::
     Most/Much of this will also be relevant to other Linux distributions,
     though some of the fine points may be different.

Why Bother Imaging?

Suppose we need to build a new instance of a ``SUSE Linux`` system.
Perhaps we need to replace one that just had a hard drive failure.
Maybe we want to build a new server that is based on our "standard"
system configuration.  In other words, we want to go from "bare
metal" hardware to a fully running *and configured* system as quickly
as possible.

There are a number of commercial and open source solutions to this
problem, but they all have one thing in common: We want to minimize
the amount of manual labor needed to install, configure, and otherwise
customize the final system.  This is especially important in large
data centers where it is impractical to manually (re)install each and
every server, its applications, and its customization information.

"Imaging" or "Cloning" allows us to keep a copy of the entire OS *as
configured* - that means with all its applications and configuration
options set up as desired.  We then load a new hard drive with this
image and *voila'*, "instant" running system.

What Is ``tbku``?

``tbku`` is a shell script that makes it easy to create tarballs
of some of all of your filesystems.  If you've never used it before,
take a moment to download it and read the documentation.  You'll
find the latest copy at:

There is no fee for using ``tbku`` in any context, personal or
commercial.  However, there are some licensing terms you have to abide
by to use it, so take a moment to read the license in the distribution

  .. Note::
     You don't *have* to use ``tbku`` to create your backup image.
     The description below should work fine so long as you have a
     backup of all the relevant files that preserves all the
     appropriate file information such as ownership and permissions.
     ``tbku`` just makes it easy to automate the creation of such

The Big Picture

Before diving into the details, it's good to get a sense of the
overall process.  Imaging a system requires the following steps:

1) Create the "master" image

   - Create a baseline system configured as you want it.
   - Take an "image" of it.  (That's where ``tbku`` is helpful.)
   - Save the image somewhere (DVD, USB drive, network drive ...).
     you can get at when you need it to (re)install a system.

2) Use the master image to (re)provision a machine

   - Prepare the target hard disk to receive the image.
   - Dump the image onto the hard disk.
   - Adjust the configuration if/as needed for the new hardware.

Creating The Master Image

Unlike other approaches that make an image of *the disk*, ``tbku``
creates an image of *files* on the disk.  This means that your new
target disk does not have to be physically the same as the one on
which the master image (sometimes called a "snapshot") was made.  You
can clone systems back and forth between SCSI, IDE, and SATA.  You can
clone from smaller disks to larger ones or go the other way.

  .. Note::

     The whole point of doing imaging is to avoid having to do custom
     configuration for each new installation.  However, some small
     amount may be necessary when the target hardware is different
     than the hardware on which the master image was created.  This is
     discussed a bit more below in the `Gotchas`_ section.

Provisioning With The Master Image

Now that we have a "snapshot" or master image, we can use it
to (re)provision machines.


There are some circumstances where you cannot avoid doing some
small amount of configuration on the newly provisioned machine.


    Tim Daneliuk -

    Comments and/or improvements welcome!

Document Revision Information

``$Id: Imaging-SUSE-Linux-With-tbku.txt,v 1.103 2008/03/11 23:11:20 tundra Exp $``