NFS servers

From UGCS
Jump to: navigation, search

NFS is the standard way to use network file systems in a Unix environment. As such, UGCS employs several. We recently gained the ability to quickly configure and deploy NFS servers using cfengine. Furthermore, we also use cfengine to mount NFS (except for mounts essential in the boot process). Future improvements involve using Kerberos to authenticate and secure via NFS4.

Contents

Cfengine

All of the NFS servers will be put into a cfengine class that overwrites the /etc/exports file when cfrun is activated. This class will also restart nfs-kernel-server to take the new settings into effect. Then, each group of servers will have an separate class that concatenates the appropriate exports files to this blank file.

Servers mounting various NFS shares will be grouped into classes (depending on the share). Then, cfengine will locally edit /etc/fstab to update the mount points and remount.

Exports

Each individual set of exports is self-contained, and ideally configured for an individual purpose. If a server pulls double duty, it should be entered into multiple classes and thus have multiple concatenated exports files.

Keytab exports

At the moment, the keytabs are generated separately (via configurator). This will need to be automatically generated eventually.

Other details

Currently, the individual settings on each server are not set via cfengine. Things such as local permissions, sticky bits, quotas, will be defined locally.

Relevant files

  • /afs/.../cfengine/global/inputs/cfagent.conf - contains class definitions
  • /afs/.../cfengine/global/inputs/nfs.conf - NFS server and mount commands
  • /afs/.../cfengine/hosts/nfs/<exports> - export definitions imported by cfengine
  • /afs/.../configurator/generate_nfs_exports.py - creates the keytab export from the UGCSComputer pickle

Current NFS settings

Current NFS servers

  • Apollo - common keys for shellservers (/ug/nfs/keys)
  • Apollo - common opt for shellservers (/opt)
  • Apollo - large shared filespace for groups (/mnt/shared)
  • Demeter - cfengine root (not configured by cfengine) (/ug/nfs/cfengine)

Current NFS mount groups (in cfengine)

See Also

Personal tools