Differences between revisions 28 and 29
Revision 28 as of 2012-09-02 09:26:31
Size: 5909
Editor: ?AndreasMundt
Comment: add latest features
Revision 29 as of 2012-09-02 10:17:41
Size: 6245
Editor: ?AndreasMundt
Comment: update
Deletions are marked like this. Additions are marked like this.
Line 47: Line 47:
The command lists all (non-local and not yet known) MAC addresses found in the syslog and prompts for skipping the address, adding it as workstation or as diskless machine. The command lists all (non-local and not yet known) MAC addresses found in the arp cache and prompts for skipping the address, adding it as workstation or as diskless machine.

So to (mass) add machines:
 * switch on all machines you want to add and boot via PXE
 * make sure no 'foreign' machines are in the network or note their hardware (MAC) address
 * eventually wait a bit, until all unwanted entries have vanished from the ARP cache
 * run {{{debian-lan add2dhcp}}} and choose the machines' type

Translation(s): none


Debian-LAN Setup_A

Network Topology

Two variants are available:

  • The mainserver with two network cards acts as a gateway to the external network. To trigger this setup, choose the same IP addresses for mainserver and gateway.
  • The mainserver takes part in a network with a dedicated gateway. The mainserver's IP address differs from the gateway address.

The mainserver serves the central services to the LAN and optionally the root file system for diskless machines. The clients mount their home directories via kerberized NFSv4.

By default the following IP addresses are used: The mainserver is acting as gateway: 10.0.0.1, workstations: 10.0.0.50...10.0.0.149, diskless clients 10.0.0.150...10.0.0.249. This can be modified in the config space class/SERVER_A.var.

Machine Types

  • mainserver

    • DNS and DHCP for the internal network.
    • Kerberos KDC
    • LDAP
    • Home directories distributed via NFSv4 (Wheezy: sec=krb5i by default. Squeeze: 638157, use backports)

    • Squid proxy
    • apt-cacher-ng
    • APT repository
    • etckeeper
    • System backup (/etc, home directories, FAI config space, LDAP, package selection and -configuration)
  • workstation

    • XFCE, LXDE and Gnome desktop enviroment
    • customized package selection
  • diskless (workstation)

    • same features as workstation (see below on how to activate)

Details and Hints

After installation of the mainserver (gateway version): Make sure your networks are connected to the right interfaces: Fixed IP address 10.0.0.1 to the internal network, DHCP to the outside world (internet/router).

User and Machine Management

  • The script debian-lan is provided to manage users and groups in LDAP (using ldapscripts).

  • debian-lan also helps with adding machines to dhcpd.conf and copying the Kerberos keytabs to the machines (machine principals).

To install a client machine, you have to add the hardware MAC address to /etc/dhcp/dhcpd.conf. This can be done by hand or with help of the command:

debian-lan add2dhcp

The command lists all (non-local and not yet known) MAC addresses found in the arp cache and prompts for skipping the address, adding it as workstation or as diskless machine.

So to (mass) add machines:

  • switch on all machines you want to add and boot via PXE
  • make sure no 'foreign' machines are in the network or note their hardware (MAC) address
  • eventually wait a bit, until all unwanted entries have vanished from the ARP cache
  • run debian-lan add2dhcp and choose the machines' type

Distributing Kerberos keytabs to clients: During installation of a workstation, the kerberos keytab is sent to the machine and marked with a time stamp. In case you need to repeat this procedure manually, remove the timestamp from the keytab (i.e. rename it) and use the command:

debian-lan addmachine workstationXX

on the mainserver to copy the Kerberos keytab to workstationXX. Diskless clients do not need this procedure to be activated.

Adding users: Use the command:

debian-lan adduser <list of usernames separated by spaces>

or

debian-lan adduser <path to file>

to add users. The file is a simple text file containing on each line a single username and optionally the user's password separated by spaces. If you omit the password, debian-lan will create a random password and append it to the user's line in the file.

Removing users: Use the command deluser in the debian-lan script.

For more details take a look at the debian-lan script itself.

Backup

A dedicated backup disk is recommended. Use a class *BAK* for that case. Take a look at class/50-host-classes and disk_config/*BAK* for details.

RAID1

To use a RAID1 on the server, add the class RAID and replace LVM*_A with the corresponding RAIDLVM*_A class in class/50-host-classes.

Diskless Clients

/!\ The FAI classes DISKLESS_* work only on the mainserver, making the classes independent has not been done yet.

The mainserver might serve the root file system for diskless machines. To enable diskless machines, install the mainserver with the partitioning scheme LVM6_A replaced by LVM7_A in class/50-host-classes. This will add another partition for /opt. Add the class DISKLESS_SERVER to the mainserver's classes. After installation and the creation of the FAI nfsroot (fai-setup), execute:

export LC_ALL=C
fai -vNu diskless dirinstall /opt/live/filesystem.dir/

The command will install the chroot of the diskless machines in /opt. In addition, swaping over the network is activated and the PXE configuration prepared. Unknown machines and the disklessXX hosts will be booted as diskless clients. To update the chroot, use the commands:

chroot /opt/live/filesystem.dir/
fai -vNu diskless softupdate

Local APT repository

By default the mainserver includes a (signed) APT repository to distribute site-specific customized packages in your DebianLAN. For details look into /var/www/debian/create_archive.sh. This repository is added to the clients' sources.list on a FAI softupdate as soon as the publick key can be fetched. To disable this feature, remove the corresponding variables in class/SERVER_A.var and class/CLIENT_A.var.

Known Issues and Work-Arounds

  • Installation of munin-node fails during the mainserver FAI-installation because of 612481 (still relevant on squeeze) → install munin-node after the FAI installation.

  • munin-node-configure does not link all available (i.e. working) plugins during installation → add missing links (use munin-node-configure --shell to get links for available plugins).

  • NFSv4 not kerberized: 638157 → apply patch.