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