![]() |
Difficulties, bugs, step by step installation |
|---|
A LCFG server was setup, with the LCFG release as of 2 of April 2002. This machine was first configured to install a LCFG client as a Computing Element.
Below are given some steps:
- The procedure sketched in the LCFG server instalation manual was followed, as well as other sources of information were used .
Package instalation, we have:
- Instaled RedHat 6.2 distribution with the RH6.2 updates, except that of rpm-4 since it is not compatible with the LCFG tools.
- Installed some additional packages: perl-*
- Installed the LCFG server packages: obj-*-server
Configuration issues, we have:
- Installed and started a dhcp server.
- Installed and started an Apache/HTTP server, this is used for the publication of the clients profiles through xml files.
- The LCFG server hosts the repositories of packages which will be installed on the client machines. The following directory is used: / opt/local/linux/6.2/RPMS under this, there are directories for the RH6.2 release, updates , external packages, LCFG , etc..
- Populated each of those directories with the respective rpm packages.
- Run the Makefile on each of those directories. These Makefile's have two purposes, one is to retrieve or copy the rpm's from a known location (WE DID NOT USE THIS), and a second purpose is to extract the headers from the rpm package, this permits to install the rpm's on the client machine with the "right" order, i.e., satisfying all dependencies.
- The directory /opt/local/linux/6.2/rpmcfg contains the files with the rpm package lists of the repository directories. Each list corresponds to a specific type of machine (Computing Element, Storage Element, etc).
- Created a header file which "#include"'s all needed files lists for our first LCFG client machine.
- "make" the installroot directory: /opt/local/linux/installroot/6.2 , this directory is mounted by nfs on the clients and is used during the installation procedure of these machines to install the clients operating system (presently Red Hat 6.2 with updates).
- Configured the /etc/dhcp.conf file with the network information concerning each client machine.
- The directory: /var/obj/conf/profile/source contains the header files and profiles for each client machine. There are *.def files which contain default parameters for several services for the client machines. There are *.h header files containing the profiles for specific clients; LCFG client, CE, SE, etc.
- There is a site-cfg-LIP.h file which we have configured according to our site specific parameters.
- There is a client_testbed-cfg-LIP.h file which we have configured according to our site specific parameters.
- Created the profile.clients file containing the name of the clients machine.
- Created a file name_of_client containing the profile for each specific client machine.
- Run mkxprof -v -A: this command publishes the profiles in the directory; /var/obj/conf/profile/web/profiles
- Finally, the boot diskete was created.
Up to here everything run quite smoothly, the problems really started when we turned on the first LCFG client machine with the boot disk to begin the installation.
- The kernel on the boot disk did not have the driver for the ethernet card which was installed in the machine, a RealTek (rtl 8139). Two things could be done; either recompile the kernel and make a new boot disk, or substitute the ethercard by one which was supported by that kernel. We opted by the second option and substituted the ethercard by a DEC Tulip. It worked. The first option implied not only to recompile that specific kernel 2.2.16, but doing it with the exact and correct options, in fact we tried it later for other purposes following Julian Blake's "LCFG Installation Diskette Kernel Configuration", and we were not able to boot with this "homemade" boot disk. We reported this as a bug and the problem was solved in the meanwhile; a newer boot image was released.
- A tag called "option-151" which should be passed through the DHCP server to the client, was not aquired by the last. This tag says to the client what is the "http://lcfgserver" containing the adress and path of the client profile file. We hacked the file /opt/local/linux/installroot/6.2/etc/dcsrc by explicitely inserting that tag, this file is an executable which contains the instalation steps for the client machines. We reported this as a bug and the problem was solved in a later release of the LCFG obj's.
- The kernel in the boot disk did not "know" what was a Pentium 4 processor. At this time we tried to recompile it with P4 option and following Julian Blake's "LCFG Installation Diskette Kernel Configuration" unsecefully. We hacked the /opt/local/linux/installroot/6.2/usr/lib/rpm/rpmrc making the correspondence between i?86 to i386. The "installation procedure" did not know what rpm's to intall for that unknown processor architecture. We reported this as a bug and the problem was solved in a later release of the LCFG obj's and boot disk.
- The versions of the package RPMS which are in the lists not allways agree with the RPMS in the repositories (in particular for the RH6.2 updates) this shows up in the client instalation when the packages are being flagged, checking it one by one and modifying the RPM version in the file lists, solves the problem. One should get the latest lists available in the in the CVS repository , also one should get the latest profiles for the source directory.
- Finally we manage to install "sucessfully" our first client LCFG machine as our Computing Element for the European Datagrid testbed.
- After this first installation, we made the profiles and used the RPMS lists to prepare and install a Storage Element, a Worker Node and a User Interface machines