The Unix (i.e. *BSD, Linux, Solaris, etc.) Virtual Filesystem is a grouping of several filesystems (trees of files) from disks and network, into a single tree. (A single physical filesystem is an arrangement of data on a disk or in memory, together with metadata that describes particular parts of the data as files, and allows the structuring of access to the files into a tree-like directory structure.) The root of the Unix VFS tree is denoted `/' (a slash), and the main branches of the tree (directories) are described in the Filesystem Hierarchy Standard (official site here).
All of the system files and open-source programs that are part of the Gentoo distribution are stored on the disk array that is the first part of this tree, the `root' filesystem. Users cannot write to any of these areas. The main extra filesystems mounted on the root filesystem, with user-writable directories, are:
The main place for a user's files is that user's `home directory'. This is, on our systems, /home/USERNAME . The environment variable $HOME, or the ~ (tilde) symbol in the shell, give this path. All user-specific configuration of programs is made (usually automatically by the program) in hidden files in the home. (Hidden files are those whose names begin with a dot; they can be listed by the command `ls -a' rather than just `ls'.) All important data should (soon) be written to the user's home directory, since this is the only place where data is backed up automatically.
The home directories are mounted by NFS v3 (network file-system) from the fileserver `penguin'. Thus, all our simulation servers, as well as the webserver and other linux desktop computers, give the user access to the same set of files in the same path. (This home directory is the same as can be seen from a ms-windows system as \\penguin\USERNAME, which for some ms-windows users will be automatically mounted on their desktop computers, perhaps called "H:".) Note that we use `automount' which means that each home directory will only be visible under /home when its user is accessing files.
The NFS mount options for all hosts that automount from penguin are set to do no metadata caching: this means that metadata such as filesize, modification times etc. has very little delay between hosts, which is helpful when using the shared home-directory for communication between programs on different computers (see potential uses in the performance section). The possible disadvantages with using the home directory for simulation files are when very large amounts of data (many gigabytes) are involved, or when very fast access is important.
Incidentally: all files put within the public_html directory inside a user's home directory, will be available on the web under http://www.etk.ee.kth.se/personal/USERNAME/ , as long as they're readable by the webserver. All executable files put in the bin directory inside a user's home directory will be available to that user as commands.
The servers use software RAID5 on three disks, to provide a fast, redundantly stored (robust to failure of one disk) storage for the system, mounted at the root directory /. Most of the rest of the disk-space forms a further RAID5 device , mounted on /local .
/local may be used as temporary space when one needs lots of space. There is no quota limit on this space, and it will not automatically be wiped. It is not, however, backed up in any way, and home-directories should therefore be used for storing important final results. /local is also a good place for users to install any programs that they want for themselves on a particular computer (and that are inconveniently large for the home directory).
It is desirable that users create one or a few directories under /local and put files in these, instead of littering /local with files and directories!
Exception: As of 2008-05, diagsim uses normal disks (/local) for /tmp, in
order to provide enough temporary space for running vmware.
/tmp on our systems is actually a filesystem in the computer's memory.
So, the contents of this directory is not normally written to disk at all,
with the consequence that ALL WILL BE LOST if the computer is restarted
for any reason (power failure, maintenance, ...). The advantage is that
as there is no mechanical hardware involved, everything about reading
and writing files is fantasticly fast, both in terms of high transfer speeds
and of low latency (delay). Use /tmp if you're dealing with lots of use
of loads of files and notice that input-output wait (iowait) is the main
part of your CPUtime.
There is no quota on /tmp either, but filling it up would be annoying to other users: use the command `df -h /tmp' to see how much space is used. tmpfs allows the used memory to be swapped out to disk, if not in use; this means that use of tmpfs for /tmp is not directly locking up valuable RAM.
Currently, magsim has copies of the main proprietary programs that we use
-- e.g. matlab, comsol, Ace -- in its /local/pkg directory. This is copied
to diagsim so that both these computers can quickly start the programs.
Other computers have the /pkg directory mounted by NFS (network file-system),
using long caching times for the files (see /pkg line in /etc/fstab or gnu!).
This means that the same programs and versions should
be available on all systems, in the same path. 64bit systems (all of our
shared computers) put /pkg/bin64:/pkg/bin32 on the PATH variable, so
that if a 64-bit version of a program doesn't exist, a 32-bit version can
be tried. Any computer on the subnet can mount magsim:/pkg to use these
programs.
Page started: 2007-11-xx
Last change: 2008-12-01