You can access Gfarm file system from a GridFTP client via a GridFTP server (globus-gridftp-server).
-
GridFTP server (globus-gridftp-server)
- https://gridcf.org/gct-docs/latest/gridftp/admin/index.html
- Dependent Packages
- Debian system: globus-gridftp-server-progs libglobus-gridftp-server-dev
- RedHat system: globus-gridftp-server-progs globus-gridftp-server-devel
- Globus packages are included in EPEL. EPEL packages can be used by
- yum install epel-release
-
Gfarm file system
- https://github.com/oss-tsukuba/gfarm
- Gfarm client library is required.
GridFTP server
- (Preparation) Install Gfarm packages and configure Gfarm client.
- (Preparation) Set up GSI environment for GridFTP server. (CA, Certificate, grid-mapfile)
./configure --libdir=$(pkg-config --variable=libdir globus-gridftp-server)
make
sudo make install
sudo globus-gridftp-server -dsi gfarmGridFTP client
- (Preparation) Install GridFTP clients.
- (Preparation) Set up GSI environment for GridFTP client. (CA, Certificate)
globus-proxy-init
globus-url-copy file gsiftp://HOSTNAME/dir/fileTo install libglobus_gridftp_server_gfarm into the library path of globus-gridftp-server, execute the following:
./configure [--libdir=<Library path of globus-gridftp-server>]
make
sudo make installTo know the library path of globus-gridftp-server, execute pkg-config --variable=libdir globus-gridftp-server.
If the Gfarm library is not found, please specify the directory where
gfarm.pc is installed to PKG_CONFIG_PATH environment variable, and
then run configure.
For example:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configuresudo rpmbuild --rebuild gfarm-gridftp-dsi-X.X.X-X.src.rpmAdd the following to /etc/gridftp.conf to enable Gfarm GridFTP DSI.
load_dsi_module gfarm
or specify -dsi gfarm option as a command line argument of globus-gridftp-server.
With gfarm-gridftp-dsi, the block size can be specified by client_file_bufsize in a Gfarm configuration file. The block size specified by the blocksize in the configuration file of
globus-gridftp-server or by the -bs option of a command line argument is ignored.
For other settings of globus-gridftp-server, see the following:
https://gridcf.org/gct-docs/latest/gridftp/admin/index.html
For settings of Gfarm globus-gridftp-server, see the following:
http://oss-tsukuba.org/gfarm/share/doc/gfarm/html/en/ref/man5/gfarm2.conf.5.html
-
GFARM_DSI_BLOCKSIZESpecify blocksize for globus-gridftp-server.
client_file_bufsizefor Gfarm is not changed. -
GFARM_DSI_CONCURRENCYSpecify the number of parallelism for the GridFTP client and GridFTP server to transfer in parallel. (globus-gridftp-server and Gfarm do not communicate in parallel.)
Please refer to the following for how to start globus-gridftp-server. You can start using inetd/xinetd.
https://gridcf.org/gct-docs/latest/gridftp/admin/index.html
If you have installed globus-gridftp-server-progs with RPM package, You can also start it as a daemon (without xinetd) using the following method.
sudo /sbin/chkconfig --level=35 globus-gridftp-server on
sudo systemctl enable globus-gridftp-server
sudo systemctl restart globus-gridftp-serversudo globus-gridftp-server -dsi gfarm -log-level ALL -logfile /dev/stdoutPlease refer to the following for examples of GridFTP clients.
https://gridcf.org/gct-docs/latest/gridftp/user/index.html
- when using
-verify-checksumoption- Specify the same algorithm as checksum (digest) enabled in Gfarm.
- example:
-checksum-alg `gfstatus -M digest` - When a different algorithm is specified, an error will be returned.
- If the algorithm in Gfarm is changed during operation, the checksum type stored in existing file metadata will differ from the new configuration, which causes a checksum mismatch error, even if the same algorithm is specified.
- To resolve this issue, recalculate and update the checksum values of existing files in Gfarm after changing the algorithm.
- Modification time is not kept. use
uberftpinstead.
- get (download)
- put (upload)
- mkdir
- rmdir
- rename (
uberftp -rename) - chmod (
uberftp -chmod) - chgrp (
uberftp -chgrp) - symlink (
uberftp -symlink) - utime (keep modification time when using
uberftp) - checksum (
globus-url-copy -verify-checksum)
- gfarm/docker/dev
make rebornmake gridftp-setupmake gridftp-test
- test case