|
Brent N. Chun ~
California Institute of Technology ~
CACR
Overview
pcp is a system for replicating files on multiple nodes of a PC
cluster. Replication is done by building an n-ary tree of TCP sockets
and using parallelized, pipelined data transfers which use RSA
authentication. For large file transfers or replication on many nodes,
pcp provides highly efficient data transfers when compared to existing
alternatives (e.g., NFS).
Software
Documentation
- Install authd on all nodes in the cluster.
See the authd web page
for installation instructions.
- Add the following line to /etc/services on all nodes in the
cluster (not necessary on RedHat 7.3, but needed on certain
distributions such as RedHat 9.0):
pcp 2850/tcp # Caltech PCP
- Install PCP on all nodes in the cluster (e.g., cluster
nodes bar1, bar2, ..)
bar1# rpm -ivh pcp-0.3.3-1.i386.rh9.rpm
bar2# rpm -ivh pcp-0.3.3-1.i386.rh9.rpm
bar3# ...
- Run the client program pcp. Note that on newer Linux
kernels (e.g., the 2.4.x RedHat 9 kernel), you'll need to set the
LD_ASSUME_KERNEL environment variable to "2.2.5" to avoid LinuxThreads
bugs (e.g., incomplete implementation of POSIX cancellation points).
In the example below, pcp copies foo.txt to /tmp/foo.txt on three
machines: bar1, bar2, and bar3.
# export LD_ASSUME_KERNEL="2.2.5"
# pcp foo.txt /tmp/foo.txt bar1 bar2 bar3
Write succeeded on bar1 (10.0.0.1)
Write succeeded on bar2 (10.0.0.2)
Write succeeded on bar3 (10.0.0.3)
The RPM install/uninstall procedures deal with installing/uninstalling
of the software and the starting/stopping of the daemons. Since pcp
runs via xinetd, starting/stopping of the daemons simply involves
the addition/removal of a file in /etc/xinetd.d and sending SIGUSR2 to
xinetd to cause xinetd to reread its configuration files.
Some older documentation on PCP (including examples of how to use PCP)
can be found here.
|