]>
Commit | Line | Data |
---|---|---|
b8523c40 EP |
1 | POHMELFS usage information. |
2 | ||
e0ca8739 EP |
3 | Mount options. |
4 | All but index, number of crypto threads and maximum IO size can changed via remount. | |
5 | ||
b8523c40 EP |
6 | idx=%u |
7 | Each mountpoint is associated with a special index via this option. | |
8 | Administrator can add or remove servers from the given index, so all mounts, | |
9 | which were attached to it, are updated. | |
10 | Default it is 0. | |
11 | ||
12 | trans_scan_timeout=%u | |
13 | This timeout, expressed in milliseconds, specifies time to scan transaction | |
14 | trees looking for stale requests, which have to be resent, or if number of | |
15 | retries exceed specified limit, dropped with error. | |
16 | Default is 5 seconds. | |
17 | ||
18 | drop_scan_timeout=%u | |
19 | Internal timeout, expressed in milliseconds, which specifies how frequently | |
20 | inodes marked to be dropped are freed. It also specifies how frequently | |
21 | the system checks that servers have to be added or removed from current working set. | |
22 | Default is 1 second. | |
23 | ||
24 | wait_on_page_timeout=%u | |
25 | Number of milliseconds to wait for reply from remote server for data reading command. | |
26 | If this timeout is exceeded, reading returns an error. | |
27 | Default is 5 seconds. | |
28 | ||
29 | trans_retries=%u | |
30 | This is the number of times that a transaction will be resent to a server that did | |
31 | not answer for the last @trans_scan_timeout milliseconds. | |
32 | When the number of resends exceeds this limit, the transaction is completed with error. | |
33 | Default is 5 resends. | |
34 | ||
35 | crypto_thread_num=%u | |
36 | Number of crypto processing threads. Threads are used both for RX and TX traffic. | |
37 | Default is 2, or no threads if crypto operations are not supported. | |
38 | ||
39 | trans_max_pages=%u | |
40 | Maximum number of pages in a single transaction. This parameter also controls | |
41 | the number of pages, allocated for crypto processing (each crypto thread has | |
42 | pool of pages, the number of which is equal to 'trans_max_pages'. | |
43 | Default is 100 pages. | |
44 | ||
45 | crypto_fail_unsupported | |
46 | If specified, mount will fail if the server does not support requested crypto operations. | |
47 | By default mount will disable non-matching crypto operations. | |
48 | ||
49 | mcache_timeout=%u | |
50 | Maximum number of milliseconds to wait for the mcache objects to be processed. | |
51 | Mcache includes locks (given lock should be granted by server), attributes (they should be | |
52 | fully received in the given timeframe). | |
53 | Default is 5 seconds. | |
54 | ||
55 | Usage examples. | |
56 | ||
e0ca8739 | 57 | Add server server1.net:1025 into the working set with index $idx |
b8523c40 | 58 | with appropriate hash algorithm and key file and cipher algorithm, mode and key file: |
e0ca8739 | 59 | $cfg A add -a server1.net -p 1025 -i $idx -K $hash_key -k $cipher_key |
b8523c40 EP |
60 | |
61 | Mount filesystem with given index $idx to /mnt mountpoint. | |
62 | Client will connect to all servers specified in the working set via previous command: | |
63 | mount -t pohmel -o idx=$idx q /mnt | |
64 | ||
e0ca8739 EP |
65 | Change permissions to read-only (-I 1 option, '-I 2' - write-only, 3 - rw): |
66 | $cfg A modify -a server1.net -p 1025 -i $idx -I 1 | |
67 | ||
68 | Change IO priority to 123 (node with the highest priority gets read requests). | |
69 | $cfg A modify -a server1.net -p 1025 -i $idx -P 123 | |
b8523c40 | 70 | |
e0ca8739 EP |
71 | One can check currect status of all connections in the mountstats file: |
72 | # cat /proc/$PID/mountstats | |
73 | ... | |
74 | device none mounted on /mnt with fstype pohmel | |
75 | idx addr(:port) socket_type protocol active priority permissions | |
76 | 0 server1.net:1026 1 6 1 250 1 | |
77 | 0 server2.net:1025 1 6 1 123 3 | |
b8523c40 EP |
78 | |
79 | Server installation. | |
80 | ||
81 | Creating a server, which listens at port 1025 and 0.0.0.0 address. | |
82 | Working root directory (note, that server chroots there, so you have to have appropriate permissions) | |
83 | is set to /mnt, server will negotiate hash/cipher with client, in case client requested it, there | |
84 | are appropriate key files. | |
85 | Number of working threads is set to 10. | |
86 | ||
87 | # ./fserver -a 0.0.0.0 -p 1025 -r /mnt -w 10 -K hash_key -k cipher_key | |
88 | ||
89 | -A 6 - listen on ipv6 address. Default: Disabled. | |
90 | -r root - path to root directory. Default: /tmp. | |
91 | -a addr - listen address. Default: 0.0.0.0. | |
92 | -p port - listen port. Default: 1025. | |
93 | -w workers - number of workers per connected client. Default: 1. | |
94 | -K file - hash key size. Default: none. | |
95 | -k file - cipher key size. Default: none. | |
96 | -h - this help. | |
97 | ||
98 | Number of worker threads specifies how many workers will be created for each client. | |
99 | Bulk single-client transafers usually are better handled with smaller number (like 1-3). |