New feature: GekkoFS Proxy
Compare changes
Files
8+ 1
− 1
@@ -71,7 +71,7 @@ constexpr auto zero_buffer_before_read = false;
The GekkoFS proxy is an additional (alternative) component that runs on each client and acts as gateway between the client and daemons. It can improve network stability, e.g., for opa-psm2, and provides a basis for future asynchronous I/O as well as client caching techniques to control file system semantics.
The gkfs
script fully supports the GekkoFS proxy and an example can be found in scripts/run
. When using the proxy
manually additional arguments are required on the daemon side, i.e., which network interface and protocol should be
used:
<daemon args> --proxy-listen eno1 --proxy-protocol ofi+sockets
The proxy is started thereafter:
./gkfs_proxy -H ./gkfs_hostfile --pid-path ./vef_gkfs_proxy.pid -p ofi+sockets
The shared hostfile was generated by the daemons whereas the pid_path is local to the machine and is
detected by clients. The pid-path defaults to /tmp/gkfs_proxy.pid
.
Under default operation, clients detect automatically whether to use the proxy. If another proxy path is used, the
environment variable LIBGKFS_PROXY_PID_FILE
can be set for the clients.
Alternatively, the gkfs
automatically sets all required arguments:
scripts/run/gkfs -c scripts/run/gkfs.conf -f start --proxy
* [gkfs] Starting GekkoFS daemons (1 nodes) ...
* [gkfs] GekkoFS daemons running
* [gkfs] Startup time: 2.013 seconds
* [gkfs] Starting GekkoFS proxies (1 nodes) ...
* [gkfs] GekkoFS proxies running
* [gkfs] Startup time: 5.002 seconds
Press 'q' to exit
Please consult include/config.hpp
for additional configuration options. Note, GekkoFS proxy does not support
replication.
Closes #114 (closed)