[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

FAI 1.0: facts and answers



Here are some facts about FAI and some answers to questions people ask
about FAI.

One of the main goals for FAI was the FULLY (!) automatic
installation. You only need to power on the computer. After that, no
(really no) manually interaction (for example remove a boot disk,
reboot the computer) is needed.


> Why cfengine and not debconf?

debconf was not available the time FAI was created. debconf can only
response to question that are posed from the postinst
scripts.

For example you cannot configure xntp to act as an broadcast server when
you only use xntpd3.postinst. So using cfengine in FAI is more
flexible. You can also change the configuration with cfengine (not yet
used) once a package is installed.


> Have you looked at base2_2.tgz ... ? Let us know if you want to make
> any effort in merging your efforts with the boot-floppies effort.
Not yet. Maybe boot-floppies is the wrong locatiton, because FAI does
not need a floppy :-). I'm just kidding. I think I will think about it.


> One question: Is FAI _only_ a setup method for a cluster or is it also 
> an easy setup method for serveral computers without being a cluster?

We use it for a cluster (16 identical machines) but also for
different hosts that have different hardware and need different
configuration. In FAI-1.0 there are different configuration files for hosts:

roy??
faiserver
kueppers

roy?? are host of a cluster of 16 identical hosts, faiserver and
kueppers are standalone machines.


Massimo Dal Zotto <dz@cs.unitn.it> wrote:
> their context the method is not suitable for general use for the
> following reasons:

FAI is not intend to be a general purpose tool. Not yet !

FAI is for use in a network environment. An installation only from
CD-ROM is not yet indented. I assume that most computers are connected
to a ethernet network, where are other computers are available. Also I
assumed that the computer should booted from network card, or the
floppy disk is only used for booting the kernel. So there is no floppy
disk space limitation when access to configuration files or
executables is needed. Because the root file system is mounted, there
is also no great amount of RAM needed (using initrd you need as much
RAM as the filesystem consumes).


> 1)	it needs a running server with a special setup.

I think BOOTP, NFS suppport isn't a "special" setup. You are also
using ftp,NFS, HTTP in your dzinstall tool.


> 2)	it works only via NFS. This means that you can't install directly
> 	a machine from an official debian cd (and probably from any cd)
> 	or from a debian http site.
> 	So you can't use it for newbie installation of a single machine
> 	which is one of the great reasons for having an auto-installation.

The installation of packages from CD could be made via
apt-get. Currently FAI is using apt-get but only with NFS. Maybe it
will be possible in future to do the whole installation from CD and a
special floppy. A live filesystem (untar'ed base.tgz or more ) on the
CD would help for this. But FAI assumes your computer is connected to
a network. If you have a network, mostly there will be an other host
that can act as NFS and BOOTP server. You only have to do a manually
installation for the first computer in you local network.

Maybe it will be possible to create a floppy, which boots and gets the
configuration information from it, not from bootp. Then the rest could
be accessed from a CDROM. But this is future !

dzinstall (a tool from Massimo Dal Zotto) cannot us an original Debian
CD_ROM, because it needs a lot of spezial versions of Debian packages
(see below).


> 3)	it needs NFS root, a special kernel with NFS root support and the
> 	setup of TFTP and BOOTP. The ramdisk method seems much more easier
> 	to set-up and should work on any machine with a minimum amount of
> 	memory.

The "special" kernel is already prepared and included in FAI-1.0 and
it's not difficult to build such a kernel. TFTP and BOOTP is very easy
to set up.  Dzinstall uses initrd, so if the root filesystem of initrd
is larger than the RAM space, you can't do an installation. FAI only
needs the ramdisk for the log files (about 100 kbytes).


> 4)	the method of configuring the packages is really ugly. It doesn't
> 	solve at all the main problem with debian installation which is
> 	the interaction with postinst scripts.
> 	The `yes | dpkg --configure' won't work in general, unless every
> 	question provides a good default value and accepts a Return as
> 	valid answer.

I can't solve the problems with debian postinst script. This is only a
good workaround. If the default values don't fit my needs, I call
cfengine to change the configuration. Using cfengine for configuration
you are much more flexible than only using postinst scripts.

For example: try to change the line in /etc/init.d.sysklogd

from
 SYSLOGD=""
to
 SYSLOGD="-m 240"

You could not make this using debconf or postinst script. In cfengine
it's made with

  { ${target}/etc/init.d/sysklogd
          ReplaceAll "^SYSLOGD=.*" With "SYSLOGD=${dblquote}-m 240${dblquote}"
  }


> 5)	it requires a reboot and leaves the machine in an unconfigured
>	state before running the second phase of the installation.

That's wrong. After the first reboot (every installation needs one
reboot) the system is ready. The second reboot is only needed for a
clean package status. Otherwise the pcmcia-modules and one other
package will not be reported as deinstalled.

I think Dzinstall needs a reboot before the installation of selected
packages - FAI installs packages without reboot before.

These are two contradicting info's from dzinstall manuals:

    * No reboot required before package installation

    * restart the system and proceed with package installation

    When the system reboots it continues the installation by running
    automatically apt to retrieve and install the selected packages.


> 6)	it uses cfengine instead of debconf. Not knowing anything about the
>	two tools I can't say if this is a pro or a con.
It's a pro !


The main problem with dzinstall is, that it need special versions of a
lot of debian-packages
(http://boogie.cs.unitn.it/dz/debian/dzinstall/changed-packages/) 
FAI only needs very little changes to baseX.X.tgz.

Dzinstall can only configure the root and swap (only one ?)
partition. FAI is able to partition all disks and to presever data one
selected partitions if wanted.


-- 
 Thomas
----------------------------------------------------------------------
            Thomas Lange
Institut fuer Informatik         mailto:lange@informatik.Uni-Koeln.DE
   Universitaet zu Koeln
            Pohligstr. 1        Telefon: +49 221 470 5303
             50969 Koeln        Fax    : +49 221 470 5317
----------------------------------------------------------------------


Reply to: