123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- POHMELFS usage information.
- Mount options.
- All but index, number of crypto threads and maximum IO size can changed via remount.
- idx=%u
- Each mountpoint is associated with a special index via this option.
- Administrator can add or remove servers from the given index, so all mounts,
- which were attached to it, are updated.
- Default it is 0.
- trans_scan_timeout=%u
- This timeout, expressed in milliseconds, specifies time to scan transaction
- trees looking for stale requests, which have to be resent, or if number of
- retries exceed specified limit, dropped with error.
- Default is 5 seconds.
- drop_scan_timeout=%u
- Internal timeout, expressed in milliseconds, which specifies how frequently
- inodes marked to be dropped are freed. It also specifies how frequently
- the system checks that servers have to be added or removed from current working set.
- Default is 1 second.
- wait_on_page_timeout=%u
- Number of milliseconds to wait for reply from remote server for data reading command.
- If this timeout is exceeded, reading returns an error.
- Default is 5 seconds.
- trans_retries=%u
- This is the number of times that a transaction will be resent to a server that did
- not answer for the last @trans_scan_timeout milliseconds.
- When the number of resends exceeds this limit, the transaction is completed with error.
- Default is 5 resends.
- crypto_thread_num=%u
- Number of crypto processing threads. Threads are used both for RX and TX traffic.
- Default is 2, or no threads if crypto operations are not supported.
- trans_max_pages=%u
- Maximum number of pages in a single transaction. This parameter also controls
- the number of pages, allocated for crypto processing (each crypto thread has
- pool of pages, the number of which is equal to 'trans_max_pages'.
- Default is 100 pages.
- crypto_fail_unsupported
- If specified, mount will fail if the server does not support requested crypto operations.
- By default mount will disable non-matching crypto operations.
- mcache_timeout=%u
- Maximum number of milliseconds to wait for the mcache objects to be processed.
- Mcache includes locks (given lock should be granted by server), attributes (they should be
- fully received in the given timeframe).
- Default is 5 seconds.
- Usage examples.
- Add server server1.net:1025 into the working set with index $idx
- with appropriate hash algorithm and key file and cipher algorithm, mode and key file:
- $cfg A add -a server1.net -p 1025 -i $idx -K $hash_key -k $cipher_key
- Mount filesystem with given index $idx to /mnt mountpoint.
- Client will connect to all servers specified in the working set via previous command:
- mount -t pohmel -o idx=$idx q /mnt
- Change permissions to read-only (-I 1 option, '-I 2' - write-only, 3 - rw):
- $cfg A modify -a server1.net -p 1025 -i $idx -I 1
- Change IO priority to 123 (node with the highest priority gets read requests).
- $cfg A modify -a server1.net -p 1025 -i $idx -P 123
- One can check currect status of all connections in the mountstats file:
- # cat /proc/$PID/mountstats
- ...
- device none mounted on /mnt with fstype pohmel
- idx addr(:port) socket_type protocol active priority permissions
- 0 server1.net:1026 1 6 1 250 1
- 0 server2.net:1025 1 6 1 123 3
- Server installation.
- Creating a server, which listens at port 1025 and 0.0.0.0 address.
- Working root directory (note, that server chroots there, so you have to have appropriate permissions)
- is set to /mnt, server will negotiate hash/cipher with client, in case client requested it, there
- are appropriate key files.
- Number of working threads is set to 10.
- # ./fserver -a 0.0.0.0 -p 1025 -r /mnt -w 10 -K hash_key -k cipher_key
- -A 6 - listen on ipv6 address. Default: Disabled.
- -r root - path to root directory. Default: /tmp.
- -a addr - listen address. Default: 0.0.0.0.
- -p port - listen port. Default: 1025.
- -w workers - number of workers per connected client. Default: 1.
- -K file - hash key size. Default: none.
- -k file - cipher key size. Default: none.
- -h - this help.
- Number of worker threads specifies how many workers will be created for each client.
- Bulk single-client transafers usually are better handled with smaller number (like 1-3).
|