At first the CONFIG_MOSIX_FS option in the kernel configuration has to be
enabled. If the current kernel
was compiled without this option recompilation with this option enabled
is required. Also the UIDs and
GUIDs in the cluster must be equivalent.
The CONFIG_MOSIX_DFSA option in the kernel is optional but of course
required if DFSA should be used.
To mount MFS on the cluster there has to be an additional fstab-entry on
each nodes /etc/fstab.
for DFSA enabled:
mfs_mnt /mfs mfs dfsa=1 0 0 |
for DFSA disabled:
mfs_mnt /mfs mfs dfsa=0 0 0 |
the syntax of this fstab-entry is:
[device_name] [mount_point] mfs defaults 0 0 |
After mounting the /mfs mount-point on each node, each nodes filesystem is
accessable through the
/mfs/[openMosix_ID]/ directories.
With the help of some symbolic links all cluster-nodes can access the same
data e.g. /work on node1
on node2 : ln -s /mfs/1/work /work
on node3 : ln -s /mfs/1/work /work
on node3 : ln -s /mfs/1/work /work
... |
Now every node can read+write from and to /work !
The following special files are excluded from the MFS:
the /proc directory |
special files which are not regular-files, directories or symbolic
links
e.g. /dev/hda1 |
Creating links like:
or
is invalid.
The following system calls are supported without sending the migrated
process (which executes this call
on its home (remote) node) going back to its home node:
read, readv, write, writev, readahead, lseek, llseek, open, creat, close,
dup, dup2, fcntl/fcntl64,
getdents, getdents64, old_readdir, fsync, fdatasync, chdir, fchdir,
getcwd, stat, stat64, newstat,
lstat, lstat64, newlstat, fstat, fstat64, newfstat, access, truncate,
truncate64, ftruncate, ftruncate64,
chmod, chown, chown16, lchown, lchown16, fchmod, fchown, fchown16, utime,
utimes, symlink, readlink,
mkdir, rmdir, link, unlink, rename
Here are situations when system calls on DFSA mounted filesystems may not
work:
diffrent mfs/dfsa configuration on the clusternodes |
dup2 if the second file-pointer is non-DFSA |
chdir/fchdir if the parent dir is non-DFSA |
pathnames that leave the DFSA-filesystem |
when the process which executes the system-call is being traced |
if there are pending requests for the process which executes the
system-call |