beowulf-fstab

Name

/etc/beowulf/fstab, /etc/beowulf/fstab.id -- cluster node filesystem table

Description

The fstab files contains a list of filesystems that should be mounted on compute nodes at boot time and later. The purpose, format and contents are very similar to the traditional fstab, with a few cluster-specific features.

The Scyld fstab system is designed to keep all configuration information on a master node. It allows compute node-specific tables for specialized compute nodes, with a default table used for non-specialized compute nodes. Node specific filesystem information may be coded in /etc/beowulf/fstab.id, where id is a node number. If no node-specific file is present, the default file /etc/beowulf/fstab is used.

The root filesystem on each compute node is a tempfs filesystem, automatically sized for the available RAM. In earlier versions of Scyld ClusterWare, this root filesystem was explicitly declared in fstab, but this is no longer done.

One use of the root filesystem is for dynamically caching binaries and libraries from the master. Since RAM space is limited, creating a root filesystem on a local disk provides more caching space and more RAM for running applications, and may reduce the load on the master node while improving application performance.

This file interacts with the mksf and fsck directives in the /etc/beowulf/config file to control automatic creation of filesystems on local disks.

Syntax

The syntax and layout is identical to the single machine fstab file. The file is processed line by line. All blank lines and lines that begin with a "#" are ignored. All other lines should have six fields, separated by tabs or spaces.

The first field is the device to mount. For filesystems on local hard drives, this should point to a /dev entry such as /dev/hda2. If you are mounting an NFS filesystem, the device should be specified as hostname:directory, where hostname is the hostname of the NFS server, and directory is the path on the NFS server you want to mount. If the NFS server is the master node, you can use "$MASTER" as the hostname. For some special filesystems, such as proc and devpts, this can be set to "none".

The second field is the mount point. For your swap partition, this can be "swap", but for all other filesystems, this must be a path that begins with "/". Any paths that you specify as mount points will be automatically created by the node_up script before it tries to mount the filesystem. Please make sure that you do not specify the same mount point on more than one line, because this can cause problems. You can have multiple lines that use "swap" as the mount point, but that is the only exception to the rule.

The third field is the filesystem type. This should be "swap" for swap partitions, "ext2" for standard Linux filesystems, "proc" for the proc filesystem, "devpts" for the devpts filesystem, and "nfs" for an NFS file system. Any filesystem that can normally be used by Linux can also be put here, but you must also take steps to create the filesystem on the compute nodes.

The fourth field lists the mount options for the filesystem. All options should be comma-separated with no spaces. If you do not know of any options to use, you should use defaults for the mount options. In addition to the mount options normally supported by Linux, one additional option, "NONFATAL", is supported.

The fifth and sixth fields are left there for compatibility with the standard fstab format. These fields are not used at the moment, but are required to be there. We recommend they both be set to "0".

Mount Options

nonfatal

Specifies that a failure to mount this file system will be ignored, and will not cause the node to enter the "error" state.

Examples

# This file is the fstab for nodes.
# One difference is that we allow for shell variable expansions...
#
# Variables that will get substituted:
#  MASTER = IP address of the master node.  (good for doing NFS mounts)

# This is the default setup from beofdisk, once you setup your disks.
#/dev/hda2	swap		swap	defaults	0 0
#/dev/hda3	/		ext2	defaults	0 0

# These should always be added
none		/proc		proc	defaults	0 0
none		/dev/pts	devpts	gid=5,mode=620	0 0

# NFS (for example and default friendliness)
$MASTER:/home	/home		nfs	nolock,nonfatal		0 0

Files

/etc/beowulf/fstab, /etc/beowulf/fstab.node-number, /etc/beowulf/fstab.station-address, /etc/beowulf/config