-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The mbuffer
settings relate to the remote system only, is this right?
#629
Comments
At least, can confirm the observed (may be not "desired") behavior in codebase.
And per git blame, this remote-ness of Lines 60 to 76 in 16467ee
znapzend/lib/ZnapZend/Config.pm Lines 125 to 130 in 16467ee
So to minimize surprises in the field, any change here should honour that singular setting of |
…ource and destinations [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…ource and destinations [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…ource and destinations [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…tiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…tion (and source) system (#630) * bin/znapzendzetup: update documentation for --mbuffer option variants Signed-off-by: Jim Klimov <jimklimov@gmail.com> * Refactor "mbuffer(_size)" settings to handle different variants for source and destinations [#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com> * README.md: clarify about requirements for a remote destination system Signed-off-by: Jim Klimov <jimklimov@gmail.com> * README.md: update for src_mbuffer* [#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com> * .github/workflows/spelling/expect.txt: update for mbuffer changes [#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com> --------- Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…off [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…mbuffer, fall back to "off" [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…off [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…mbuffer, fall back to "off" [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…mbuffer, fall back to "off" [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…mbuffer, fall back to "off" [oetiker#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
* lib/ZnapZend/Config.pm: checkBackupSets(): do not ignore src_mbuffer=off [#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com> * lib/ZnapZend/Config.pm: checkBackupSets(): do not assign "undef" src_mbuffer, fall back to "off" [#629] Signed-off-by: Jim Klimov <jimklimov@gmail.com> --------- Signed-off-by: Jim Klimov <jimklimov@gmail.com> Co-authored-by: Tobias Oetiker <tobi@oetiker.ch>
At least, this is what I see in practice, per znapzend logs (wrapped for readability) e.g.:
...although documentation examples (in
znapzendzetup
embedded man page) seem to imply that this is (was originally?) about the sender's localmbuffer
:On one hand, having it remote-only adds constraints on present software (and run-time resources like RAM) of the destination host(s).
On another, if the main goal of
mbuffer
is to level out the burstiness of original ZFSsend
stream generation (and/or, to an extent, of its consumption on the other side) - so sender is not always blocked on the receiver and vice versa - then thembuffer
may as well run on the source system (assuming network speed roughly a constant).Running the buffer on sender also allows for a more predictable use of RAM (sender may control how many streams it is sending and how large their buffers are sized, but may not control how many different systems are currently backing up into the same destination server and the impact of the many buffers spawned only there).
In fact, with manual replications I often end up having both (to level out network lags):
zfs send | mbuffer | ssh "mbuffer | zfs recv"
This issue is posted to begin a discussion about perhaps adding another group of settings (
src_mbuffer
andsrc_mbuffer_size
?) to optionally use that instead of (or in addition to) anmbuffer
on the destination system.Technically, it could be more correct to track independent
dst_N_mbuffer(_size)
settings and keep the current one for source, but this might break some deployments upon upgrade?..Finally note that there may be local destinations, and running two mbuffer's talking to each other on the same host is an overkill. Although... if the user's
znapzendzetup
calls for it? Maybe warn, but honour their choice.The text was updated successfully, but these errors were encountered: