| 48 |
<chapt id="intro">Introduction<p> |
<chapt id="intro">Introduction<p> |
| 49 |
The homepage of FAI is |
The homepage of FAI is |
| 50 |
<httpsite>http://www.informatik.uni-koeln.de</httpsite><httppath>/fai</httppath>. |
<httpsite>http://www.informatik.uni-koeln.de</httpsite><httppath>/fai</httppath>. |
|
|
|
| 51 |
There you will find any information about FAI, for e.g. the mailing |
There you will find any information about FAI, for e.g. the mailing |
| 52 |
list archive. The FAI package is available as a Debian package from |
list archive. The FAI package is available as a Debian package from |
| 53 |
&faidownload;. It's an official Debian package and is available from |
&faidownload;. It's an official Debian package and is available from |
| 218 |
<item> <p>Tested on SUN SPARC hardware</p> </item> |
<item> <p>Tested on SUN SPARC hardware</p> </item> |
| 219 |
<item> <p>Diskless client support</p> </item> |
<item> <p>Diskless client support</p> </item> |
| 220 |
<item> <p>Easily add your own functions via hooks</p> </item> |
<item> <p>Easily add your own functions via hooks</p> </item> |
| 221 |
|
<item> <p>Easily change the default behavior via hooks</p> </item> |
| 222 |
<item> <p>Lilo and grub support</p> </item> |
<item> <p>Lilo and grub support</p> </item> |
| 223 |
</list> |
</list> |
| 224 |
|
|
| 474 |
When you make changes to &fc; or want to install a new kernel to |
When you make changes to &fc; or want to install a new kernel to |
| 475 |
nfsroot, the nfsroot has to be rebuild by calling <prgn>make-fai-nfsroot</prgn>. |
nfsroot, the nfsroot has to be rebuild by calling <prgn>make-fai-nfsroot</prgn>. |
| 476 |
|
|
| 477 |
|
<sect1 id=troublefaisetup> Troubleshooting set up |
| 478 |
|
The set up of FAI add the FAI account, exports file systems and calls |
| 479 |
|
<prgn>make-fai-nfsroot</prgn>. If you call make-fai-nfsroot |
| 480 |
|
X-v you will see more messages. When using a local Debian |
| 481 |
|
mirror it's important, that the install server can mounted this |
| 482 |
|
directory via NFS. Sometimes it has to mount it from itself. |
| 483 |
|
|
| 484 |
|
|
| 485 |
<chapt id="booting">Preparing booting <p> |
<chapt id="booting">Preparing booting <p> |
| 486 |
|
|
| 487 |
Before booting for the first time, you have to choose which medium you |
Before booting for the first time, you have to choose which medium you |
| 690 |
</footnote>. Now it's time to boot all install clients again! |
</footnote>. Now it's time to boot all install clients again! |
| 691 |
|
|
| 692 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 693 |
FAI can perform several actions when the client is booting. This action |
FAI can perform several actions when the client is booting. This action |
| 694 |
is defined in the variable <var>FAI_ACTION</var> |
is defined in the variable <var>FAI_ACTION</var> |
| 695 |
|
|
| 700 |
the section <tt>.failocal</tt> in <file>/etc/bootptab</file>, which |
the section <tt>.failocal</tt> in <file>/etc/bootptab</file>, which |
| 701 |
is a definition for all clients. |
is a definition for all clients. |
| 702 |
|
|
| 703 |
|
<sect1 id=troublebootp>Troubleshooting BOOTP daemon<p> |
| 704 |
|
The BOOTP daemon can also be started in debug modus: |
| 705 |
|
<example># bootpd -d7</example> |
| 706 |
|
|
| 707 |
<sect id="bootdhcp">Configuration of the DHCP daemon <p> |
<sect id="bootdhcp">Configuration of the DHCP daemon <p> |
| 708 |
An example for <manref name="dhcp.conf" section="5"> is available in |
An example for <manref name="dhcp.conf" section="5"> is available in |
| 709 |
<file>/usr/share/doc/fai/examples/etc</file>. Start using this example |
<file>/usr/share/doc/fai/examples/etc</file>. Start using this example |
| 1119 |
> cp -a /usr/share/fai/templates/* /usr/local/share/fai |
> cp -a /usr/share/fai/templates/* /usr/local/share/fai |
| 1120 |
</example> |
</example> |
| 1121 |
|
|
| 1122 |
These files contain configuration for some example hosts. |
These files contain configuration for some example hosts. Thers a |
| 1123 |
|
clsuter of workstation (<em>bigfoot, ant01, ant02,...</em>) and a beowulf |
| 1124 |
|
cluster with a mster node called <em>nucleus</em> and computing nodes |
| 1125 |
|
<em>atom01, atom02,...</em>. |
| 1126 |
|
|
| 1127 |
<taglist> |
<taglist> |
| 1128 |
<tag>bigfoot</tag> <item> <p>This is a server with much software. It |
<tag>bigfoot</tag> <item> <p>This is a server with much software. It |
| 1132 |
<file>/usr</file> and <file>/home</file> from bigfoot. Most of |
<file>/usr</file> and <file>/home</file> from bigfoot. Most of |
| 1133 |
the disk space is spend for a scratch partition, which is exported |
the disk space is spend for a scratch partition, which is exported |
| 1134 |
to a netgroup of hosts.</p> </item> |
to a netgroup of hosts.</p> </item> |
| 1135 |
|
|
| 1136 |
|
<tag>nucleus</tag> <item> <p>This beowulf master node is a server with much software. It |
| 1137 |
|
provides the home directory and all programs for its computing nodes. Also some |
| 1138 |
|
daemons are installed and activated by default.</p> </item> |
| 1139 |
|
<tag>atom01,...</tag> <item> <p>These clients mount |
| 1140 |
|
<file>/usr/local</file> and <file>/home</file> from <em>nucleus</em>. Most of |
| 1141 |
|
the disk space is spend for a scratch partition, which is exported |
| 1142 |
|
to a netgroup of hosts.</p> </item> |
| 1143 |
</taglist> |
</taglist> |
| 1144 |
Start looking at these examples and study them. Then change or add |
Start looking at these examples and study them. Then change or add |
| 1145 |
things to these examples. But don't forget to plan your own |
things to these examples. But don't forget to plan your own |
| 1147 |
|
|
| 1148 |
<sect id=s1> Set up FAI<p> |
<sect id=s1> Set up FAI<p> |
| 1149 |
|
|
| 1150 |
This jobs is done by the tasks: <em>confdir</em> and <em>setup</em>.<p> |
After the subroutine <em>fai_init</em> has done some basic |
| 1151 |
|
initialization, the setup continues. This jobs is done by the tasks: |
| 1152 |
|
<em>confdir</em> and <em>setup</em>.<p> |
| 1153 |
|
|
| 1154 |
|
|
| 1155 |
Since only the ramdisk is writable in the beginning, all log |
Since only the ramdisk is writable in the beginning, all log |
| 1707 |
<tag>configure</tag> <item><p>Called before the scripts in |
<tag>configure</tag> <item><p>Called before the scripts in |
| 1708 |
<file>/fai/scripts/</file> are called.</p> </item> |
<file>/fai/scripts/</file> are called.</p> </item> |
| 1709 |
|
|
| 1710 |
|
<tag>finish</tag> <item><p>Called after the coniguration is |
| 1711 |
|
finished.</p> </item> |
| 1712 |
|
|
| 1713 |
|
<tag>faiend</tag> <item><p>Called when the installation is |
| 1714 |
|
finished, but before the automatic reboot is performed.</p> </item> |
| 1715 |
|
|
| 1716 |
<tag>chboot</tag> <item><p>Called before the boot device should |
<tag>chboot</tag> <item><p>Called before the boot device should |
| 1717 |
be changed.</p> </item> |
be changed.</p> </item> |
| 1718 |
|
|
| 1719 |
<tag>savelog</tag> <item><p>Called before are log files are save |
<tag>savelog</tag> <item><p>Called before are log files are save |
| 1720 |
to local disk and to the install server.</p> </item> |
to local disk and to the install server.</p> </item> |
| 1721 |
|
|
|
<tag>faiend</tag> <item><p>Called when the installation is |
|
|
finished, but before the automatic reboot is performed.</p> </item> |
|
|
|
|
| 1722 |
</taglist> |
</taglist> |
| 1723 |
|
|
| 1724 |
FAI has default jobs for following values of <var>FAI_ACTION</var>. |
FAI has default jobs for following values of <var>FAI_ACTION</var>. |
| 1787 |
|
|
| 1788 |
<example>egrep "tftpd|bootpd" /var/log/*</example> |
<example>egrep "tftpd|bootpd" /var/log/*</example> |
| 1789 |
|
|
|
The BOOTP daemon can also be started in debug modus: |
|
|
<example># bootpd -d7</example> |
|
|
|
|
| 1790 |
|
|
| 1791 |
If the installation process stops or even it finishes, parse all log files for errors using: |
If the installation process stops or even it finishes, parse all log files for errors using: |
| 1792 |
<example> |
<example> |
| 1804 |
have any questions. Sample log files from successful |
have any questions. Sample log files from successful |
| 1805 |
installed computers are available on the FAI homepage. |
installed computers are available on the FAI homepage. |
| 1806 |
|
|
| 1807 |
|
<chapt id=beowulf>How to build a beowulf cluster using FAI<p> |
| 1808 |
|
|
| 1809 |
|
This chapter describes the particularities about building a beowuld |
| 1810 |
|
cluster. For maore information about the beowulf concept, look at |
| 1811 |
|
<httpsite>http://www.beowulf.org/</httpsite>. The master node (in my |
| 1812 |
|
examples I call it <em>nucleus</em>) has two |
| 1813 |
|
network cards. One for the connection to the external Internet, one for |
| 1814 |
|
the connection to the internal cluster network. If connected from the |
| 1815 |
|
external Internet, it's called <em>nucleus</em>, but the cluster nodes |
| 1816 |
|
accesses the master node with name <em>atom00</em>, which is a name |
| 1817 |
|
for the second network interface. |
| 1818 |
|
|
| 1819 |
|
<p> |
| 1820 |
|
All computing nodes (called <em>atom01</em> to <em>atom99</em>) are |
| 1821 |
|
connected via a switch with the second interface card of the master |
| 1822 |
|
node. They can only connect to the other nodes or the master, but |
| 1823 |
|
can't communicate to any host outside their cluster network. So, all |
| 1824 |
|
services (time server, DNS, ...) must be available on the master |
| 1825 |
|
server. |
| 1826 |
|
<p> |
| 1827 |
|
|
| 1828 |
|
I choose the class C network address <em>192.168.49.</em> for building |
| 1829 |
|
the local cluster network. You can replace the subnet 49 with any |
| 1830 |
|
other number you like. I you have more that 253 computing nodes, |
| 1831 |
|
choose a class A network address (10.X.X.X). |
| 1832 |
|
</p> |
| 1833 |
|
<sect id=master> Set up the master server<p> |
| 1834 |
|
|
| 1835 |
|
The master server will be installed by hand, cause it could be your |
| 1836 |
|
first computer installed with Debian. It you have already a Debian |
| 1837 |
|
host running, you can also install it via FAI. After the normal Debian |
| 1838 |
|
system is installed to the master server you have to add some software |
| 1839 |
|
packages and |
| 1840 |
|
|
| 1841 |
|
|
| 1842 |
|
The master server is also the install server for the computing |
| 1843 |
|
nodes. It has |
| 1844 |
|
|
| 1845 |
|
Create a local Debian mirror on <file>/files/scratch/</file> using |
| 1846 |
|
<prgn>mkdebmirror</prgn>. This will need about 2.6GB disk space for |
| 1847 |
|
Debian 2.2 (aka potato). |
| 1848 |
|
|
| 1849 |
|
|
| 1850 |
|
|
| 1851 |
|
Add following lines for the second network card to <file>/etc/network/interfaces</file>: |
| 1852 |
|
<example> |
| 1853 |
|
# beowulf cluster connection |
| 1854 |
|
iface eth1 inet static |
| 1855 |
|
address 192.168.49.200 |
| 1856 |
|
netmask 255.255.255.0 |
| 1857 |
|
broadcast 192.168.49.255 |
| 1858 |
|
</example> |
| 1859 |
|
|
| 1860 |
|
<file>/etc/hosts</file>: |
| 1861 |
|
<example> |
| 1862 |
|
# beowulf nodes |
| 1863 |
|
# atom00 is the master server |
| 1864 |
|
192.168.49.200 atom00 |
| 1865 |
|
192.168.49.1 atom01 |
| 1866 |
|
192.168.49.2 atom02 |
| 1867 |
|
</example> |
| 1868 |
|
|
| 1869 |
|
Add following packages to the install server |
| 1870 |
|
<example>nucleus:/# apt-get install task-dns-server ntp</example> |
| 1871 |
|
|
| 1872 |
|
|
| 1873 |
|
It's very important to use the network name of the cluster network for |
| 1874 |
|
the master node in <file>/etc/bootptab</file> and <file>/etc/fai.conf</file>. |
| 1875 |
|
|
| 1876 |
|
<file>/etc/bootptab:</file> |
| 1877 |
|
<example> |
| 1878 |
|
.failocal:\ |
| 1879 |
|
:tc=.faiglobal:\ |
| 1880 |
|
:sa=atom00:\ |
| 1881 |
|
:ts=atom00:\ |
| 1882 |
|
:T170="atom00:/usr/local/share/fai":\ |
| 1883 |
|
:T171="sysinfo":\ |
| 1884 |
|
:T172="verbose createvt sshd":\ |
| 1885 |
|
:sm=255.255.255.0:\ |
| 1886 |
|
:gw=192.168.49.200:\ |
| 1887 |
|
:dn=pc.uni-koeln.de:\ |
| 1888 |
|
:ds=192.168.49.200:\ |
| 1889 |
|
:ys=atom00:yd=nisnucleus:\ |
| 1890 |
|
:nt=atom00: |
| 1891 |
|
</example> |
| 1892 |
|
|
| 1893 |
|
|
| 1894 |
<chapt id=sparc>FAI on SUN SPARC<p> |
<chapt id=sparc>FAI on SUN SPARC<p> |
| 1895 |
Even FAI is architecture independent, there are some packages, that |
Even FAI is architecture independent, there are some packages, that |
| 1896 |
are only available for certain architectures (eg. silo, sparc-utils). |
are only available for certain architectures (eg. silo, sparc-utils). |
| 1946 |
|
|
| 1947 |
general hints: |
general hints: |
| 1948 |
|
|
| 1949 |
all in one config file, or multiple small config files. Ypou can |
all in one config file, or multiple small config files. You can |
| 1950 |
choose ! |
choose ! |
| 1951 |
|
|
| 1952 |
FAI-BOOTPART |
FAI-BOOTPART |
| 1953 |
--> |
--> |
| 1954 |
</book> |
</book> |
| 1955 |
</debiandoc> |
</debiandoc> |