Configuring rsyncd server for LIGO ELabs e-Lab
The rsync protocol is more efficient than http, so this is the prefered way to move data from Caltech to Argonne.
We also run rsyncd on the ELabs servers at Argonne to provide an efficient method of distributing data files for tasks running on remote Grid nodes.
This section describes how to set up
rsyncd
, which is simply rsync running as a daemon. See the Unix man page for rsync(1) for more complete details on how to run rsync as a daemon. It is possible to run rsyncd either as a system service ("daemon") or from xinetd. Given that we expect intermittent use, xinetd seems to be the prefered method.
The rsync protocol uses port 873, so this must be open or passed through any intervening firewalls.
Here are the basic steps
- Create the file
/etc/rsyncd.conf
to hold the rsyncd configuration. The file should contain something like this:
# rsyncd server configuration
#
pid file = /var/run/rsyncd.pid
[ligo]
comment = I2U2 Reduced Data Set
path = /disks/i2u2/ligo/data
read only = true
ignore nonreadable = true
transfer logging = false
The path should point to the data directory which contains the "frames" subdirectory. The name of the "module" (the bit in [square brackets] )could be something else, but cannot contain slashes and should not contain spaces. See the Unix man page for rsyncd.conf(5) for details on the file format.
- Go to
/etc/xinetd.d
and edit the file rsync
, changing the "disable" line to "enable". If there is no rsync
file then create one, containing
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
- Restart the xinetd daemon:
/etc/init.d/xinetd restart
The
rsync
command using
rsync://
as the protocol specification and no destination directory or filename will simply list available files on the rsync server. So to test the server, simply give commands like this:
$ rsync rsync://www13.i2u2.org/
ligo I2U2 LIGO Reduced Data Set
To test actual file transfer, try this:
$ cd /tmp
$ rsync -v rsync://www13.i2u2.org/ligo/frames/trend/minute-trend/LHO/H-M-915/H-M-915109200-3600.gwf .
Note the trailing dot. This will copy one frame file from the server to the current directory.
You should be sure that the daemon is turned off if you configure to use xinetd. On our Ubuntu servers the command is
# update-rc.d -f rsync remove
-- Main.EricMyers - 09 Dec 2008
-- Main.EricMyers - 23 Jan 2009