Using Systemimager with Redhat RHEL 4.0
---------------------------------------

Version: 1.0

Author:  Ole Holm Nielsen <[EMAIL PROTECTED]>
Department of Physics, Technical University of Denmark,
Building 307, DK-2800 Kongens Lyngby, Denmark


Tested configurations:

Server OS: Redhat RHEL 4.0
Client OS'es:
   Redhat RHEL 4.0
   Centos 4.0 (clone of RHEL 4.0 from http://www.centos.org/)
   Redhat Fedora Core 3

Installation method: RPM packages.

Documentation: Systemimager documentation is available at
http://www.systemimager.org/documentation/
The present document and the files mentioned are available from
ftp://ftp.fysik.dtu.dk/pub/SystemImager/


Note:
-----

Systemimager v3.5.X or higher is required for Redhat RHEL 4.0 clients.
We tried to use the v3.4.1 RPMs from http://sourceforge.net/projects/systemimager/
but all RHEL 4.0 clients would fail to boot after cloning because
of a broken boot sector on the disk.  Perhaps this
is due to Systemimager v3.4 and earlier using kernel 2.4, whereas v3.5.X
uses kernel 2.6.10.  The problems with RHEL 4.0 may also be caused
by a variety of other new software versions - at present this error
is not fully understood.

With Systemimager v3.5.2 we can successfully clone Redhat RHEL 4.0
clients, and other clients as noted.


Prerequisites:
--------------

On the server, create a directory, for example /scratch/systemimager-3.5.2.
Do a CVS checkout of the Systemimager code as explained in
http://sourceforge.net/cvs/?group_id=259:

   cd /scratch/systemimager-3.5.2
   cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/systemimager login
cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/systemimager co -P systemimager

Make a tar-ball of the source and copy it to the SOURCES directory:

   cd /scratch
tar cjf /usr/src/redhat/SOURCES/systemimager-3.5.2.tar.bz2 systemimager-3.5.2

A RPM spec-file is required to build the Systemimager RPMs.
The CVS contains a file systemimager.spec in the root, but this
file needs a few fixes.  Therefore, an updated systemimager.spec
file is available in
   ftp://ftp.fysik.dtu.dk/pub/SystemImager/systemimager.spec
Copy this file to /usr/src/redhat/SPECS/systemimager.spec

The Systemimager building process actually requires a large number
of packages which will be downloaded during the building process.
They will be found in the directories
   /usr/src/redhat/BUILD/systemimager-3.5.2/src/
and
   /usr/src/redhat/BUILD/systemimager-3.5.2/initrd_source/src/
after the building process.  It is wise to copy those tar-ball
files to the /usr/src/ directory prior to building the RPMS so
that they may be reused rather than downloaded each time you
run "rpmbuild".

Beware that Systemimager tries to download rsync version 2.6.4,
but this package has been updated to 2.6.5 so that the download
may fail.  Older versions of rsync can be found in
http://rsync.samba.org/ftp/rsync/old-versions/

Copies of these tarball files may be found at
ftp://ftp.fysik.dtu.dk/pub/SystemImager/src/


Building process:
-----------------

Build the RPMS by this command:

rpmbuild -ba /usr/src/redhat/SPECS/systemimager.spec

Upon completion (takes a long time!) the RPM packages will be
located in /usr/src/redhat/RPMS/noarch/ and the Source RPM
will be in /usr/src/redhat/SRPMS/.  The RPM packages built
with our systemimager.spec file will be labelled like this
with an indication of the CVS date and "fys" to indicate
that it is built at fysik.dtu.dk rather than by the
systemimager.org folks:

systemimager-client-3.5.2-1.cvs20050601.fys.noarch.rpm
systemimager-common-3.5.2-1.cvs20050601.fys.noarch.rpm
systemimager-flamethrower-3.5.2-1.cvs20050601.fys.noarch.rpm
systemimager-i386boot-standard-3.5.2-1.cvs20050601.fys.noarch.rpm
systemimager-server-3.5.2-1.cvs20050601.fys.noarch.rpm

These RPMs can be downloaded from
ftp://ftp.fysik.dtu.dk/pub/SystemImager/RPMS/


Golden Client installation:
---------------------------

Install the Redhat RHEL 4.0 Golden Client machine from the CDs by
the usual procedure.

When the golden client is up and you're logged in to it, you
need to modify /etc/fstab to work around an issue in SystemImager.
First make a backup:

   cd /etc
   cp -p fstab fstab.orig

Edit the fstab file lines for all swap devices like this:

LABEL=SWAP-hda2  swap  swap  defaults  0 0

Change the LABEL into the actual device-name:

/dev/hda2        swap  swap  defaults  0 0

Note: The LABEL items for the filesystems must not be changed,
it's only the lines for swap spaces.

Copy the SystemImager RPMs to the Golden Client system.

Install the prerequisite RPMs:
   rpm -ivh perl-AppConfig-1.52-4.noarch.rpm
   rpm -ivh systemconfigurator-2.2.2-1.noarch.rpm

Install the Systemimager RPMs:
   rpm -ivh systemimager-client-3.5.2-1.cvs20050601.fys.noarch.rpm \
            systemimager-common-3.5.2-1.cvs20050601.fys.noarch.rpm \

systemimager-i386boot-standard-3.5.2-1.cvs20050601.fys.noarch.rpm

The last "i386boot" RPM is needed on clients because of the new Systemimager
Perl module /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm.

Run "prepareclient" to set up the Golden Client for extraction of
the image:

   si_prepareclient --server <server-name>

where <server-name> is your Systemimager server.


Systemimager server installation:
---------------------------------

Install the prerequisite RPMs:
   rpm -ivh perl-AppConfig-1.52-4.noarch.rpm
   rpm -ivh perl-XML-Simple-1.08-1.noarch.rpm
   rpm -ivh systemconfigurator-2.2.2-1.noarch.rpm
   rpm -ivh systeminstaller-1.04-1.noarch.rpm

Install the Systemimager RPMs:
   rpm -ivh systemimager-server-3.5.2-1.cvs20050601.fys.noarch.rpm \
            systemimager-common-3.5.2-1.cvs20050601.fys.noarch.rpm \

systemimager-i386boot-standard-3.5.2-1.cvs20050601.fys.noarch.rpm

Run the si_getimage command to extract a disk image from the
Golden Client.  We use these options:

   si_getimage -golden-client <golden-client-name> -image rhel4_image \
     -no-listing -exclude-file /etc/exclude.getimage -post-install reboot

The file /etc/exclude.getimage is available in
ftp://ftp.fysik.dtu.dk/pub/SystemImager/exclude.getimage
You may want to fine-tune the exclusions for your own environment.

Make sure that all the prerequisite server RPMs are installed:
   rpm -q dhcp syslinux tftp-server
Install them with up2date or yum if they're missing.

Set up the DHCP server operation by executing "si_mkdhcpserver", following
the Systemimager manual (http://www.systemimager.org/documentation/).
Also run the si_addclients command in order to define client nodes.

Double-check the sanity of the /etc/dhcpd.conf config file.
Check the file /etc/sysconfig/dhcpd for the correct network
devices, so that you don't accidentally run a DHCP-server on
the departmental network !  Ours looks like this:
   DHCPDARGS="eth0 eth1"

Make sure that the DHCP and TFTP servers are enabled:
   chkconfig tftp on
   chkconfig dhcpd on
   service tftp start
   service dhcpd start

For PXE-booting of clients across the network, copy the required
files to /tftpboot:

   mkdir /tftpboot
   cd /usr/share/systemimager/boot/i386/standard
   cp -p initrd.img kernel /tftpboot/
   cp -p /usr/lib/syslinux/pxelinux.0 /tftpboot/pxelinux.bin
   cp -rp /etc/systemimager/pxelinux.cfg /tftpboot/
   cp -p /etc/systemimager/pxelinux.cfg/message.txt /tftpboot/

The PXE booting of client nodes will be controlled by files in the
/tftpboot/pxelinux.cfg/ directory, which will be downloaded by
the client using TFTP during the PXE booting process.
The pxe daemon software mentioned in the Systemimager documentation
is *not* needed with modern implementations of PXE.

Management of the PXE booting files in /tftpboot/pxelinux.cfg/
may be done by the Systemimager "si_netbootmond" tool.  However,
we prefer to use Bas van der Vlies' pxeconfig tool available in
   ftp://ftp.sara.nl/pub/outgoing/pxeconfig.tar.gz
Check the README file for details.  The pxeconfig tool will
create a soft-link in /tftpboot/pxelinux.cfg/ for each client
node that needs to be installed.  Upon completion of the
node installation, the node will connect to the pxeconfigd daemon
on the server and remove the soft-link.  On subsequent PXE-boots
the client node will be instructed to boot from local hard disk.


Optimization of the installation:
---------------------------------

During Systemimager installation locally customized scripts
may be added in order to enhance or debug the installation.
These scripts must be put in the /var/lib/systemimager/scripts/
subdirectories pre-install and post-install (see the
post-install/README file for usage information).
This method is preferred over manual editing of the
Master scripts.

We have used two customized scripts (available in
ftp://ftp.fysik.dtu.dk/pub/SystemImager/scripts/):

1. pre-install/10all.disk_dma
   To be used for IDE disks, setting DMA mode in stead of PIO
   mode (the default).  Also loads the Intel PIIX driver.
   This speeds up disk I/O by an enormous factor !
   You may need to customize this for your chipset and disks.

2. post-install/30all.pxeconfig
   To be used with the above mentioned pxeconfig tool.
   This script connects to the pxeconfigd daemon on the server.


Cloning of clients:
-------------------

Set up the client node's BIOS so that it will use the following boot order
(if applicable):
   1. Diskette
   2. CD-ROM
   3. Network
   4. Hard disk
The first two items are required for diagnostic boots, and you may
perhaps add USB devices for these items.  Thirdly, the network
PXE boot, and finally the hard disk as a catch-all in case the network
isn't connected.

Reboot the client node and watch it perform a Systemimager network
installation, and subsequently rebooting from its newly cloned hard
disk.  All of this happens without any manual intervention !
The time for an installation process is of the order of 5 minutes
in our experience, using a reasonable powerful server and 100 or
1000 Mbit/s Ethernet.


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
Sisuite-users mailing list
Sisuite-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sisuite-users

Reply via email to