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
  1. 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.
  2. 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
    }
    
  3. 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
Topic revision: r12 - 2019-05-22, AdminUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback