/usr/share/doc/ganeti/html/design-sync-rate-throttling.html is in ganeti-doc 2.16.0~rc2-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DRBD Sync Rate Throttling — Ganeti 2.16.0~rc2 documentation</title>
<link rel="stylesheet" href="_static/style.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '2.16.0~rc2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Network Management (revised)" href="design-network2.html" />
<link rel="prev" title="Instance Reservations" href="design-reservations.html" />
</head>
<body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="design-network2.html" title="Network Management (revised)"
accesskey="N">next</a></li>
<li class="right" >
<a href="design-reservations.html" title="Instance Reservations"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Ganeti 2.16.0~rc2 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="design-draft.html" accesskey="U">Design document drafts</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="drbd-sync-rate-throttling">
<h1>DRBD Sync Rate Throttling<a class="headerlink" href="#drbd-sync-rate-throttling" title="Permalink to this headline">¶</a></h1>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Created:</th><td class="field-body">2014-Sep-16</td>
</tr>
<tr class="field-even field"><th class="field-name">Status:</th><td class="field-body">Draft</td>
</tr>
</tbody>
</table>
<div class="section" id="objective">
<h2>Objective<a class="headerlink" href="#objective" title="Permalink to this headline">¶</a></h2>
<p>This document outlines the functionality to conveniently set rate limits for
synchronization tasks. A use-case of this is that moving instances might
otherwise clog the network for the nodes. If the replication network differs
from the network used by the instances, there would be no benefits.</p>
<p>Namely there should be two limits that can be set:</p>
<ul class="simple">
<li><cite>resync-rate</cite>: which should not be exceeded for each device. This exists
already.</li>
<li><cite>total-resync-rate</cite>: which should not be exceeded collectively for each
node.</li>
</ul>
</div>
<div class="section" id="configuration">
<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h2>
<p>Suggested command line parameters for controlling throttling are as
follows:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">gnt</span><span class="o">-</span><span class="n">cluster</span> <span class="n">modify</span> <span class="o">-</span><span class="n">D</span> <span class="n">resync</span><span class="o">-</span><span class="n">rate</span><span class="o">=<</span><span class="nb">bytes</span><span class="o">-</span><span class="n">per</span><span class="o">-</span><span class="n">second</span><span class="o">></span>
<span class="n">gnt</span><span class="o">-</span><span class="n">cluster</span> <span class="n">modify</span> <span class="o">-</span><span class="n">D</span> <span class="n">total</span><span class="o">-</span><span class="n">resync</span><span class="o">-</span><span class="n">rate</span><span class="o">=<</span><span class="nb">bytes</span><span class="o">-</span><span class="n">per</span><span class="o">-</span><span class="n">second</span><span class="o">></span>
</pre></div>
</div>
<p>Where <code class="docutils literal"><span class="pre">bytes-per-second</span></code> can be in the format <code class="docutils literal"><span class="pre"><N>{b,k,M,G}</span></code> to set the
limit to N bytes, kilobytes, megabytes, and gigabytes respectively.</p>
</div>
<div class="section" id="semantics">
<h2>Semantics<a class="headerlink" href="#semantics" title="Permalink to this headline">¶</a></h2>
<p>The rate limit that is set for the drbdsetup is at least</p>
<blockquote>
<div><dl class="docutils">
<dt>rate = min(resync-rate,</dt>
<dd>total-resync-rate/number-of-syncing-devices)</dd>
</dl>
</div></blockquote>
<p>where number-of-syncing-devices is checked on beginning and end of syncs. This
is set on each node with</p>
<blockquote>
<div>drbdsetup <minor> disk-options –resync-rate <rate> –c-max-rate <rate></div></blockquote>
<p>Later versions might free additional bandwidth on the source/target if the
target/source is more throttled.</p>
</div>
<div class="section" id="architecture">
<h2>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h2>
<p>The code to adjust the sync rates is collected in a separate tool <code class="docutils literal"><span class="pre">hrates</span></code>
that</p>
<ol class="arabic simple">
<li>is run when a new sync is started or finished.</li>
<li>can be run manually if necessary.</li>
</ol>
<p>Since the rates don’t depend on the job, an unparameterized RPC
<code class="docutils literal"><span class="pre">perspective_node_run_hrates</span></code> to NodeD will trigger the execution of the
tool.</p>
<p>A first version will query ConfD for the other nodes of the group and request
the sync state for all of them.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">DRBD Sync Rate Throttling</a><ul>
<li><a class="reference internal" href="#objective">Objective</a></li>
<li><a class="reference internal" href="#configuration">Configuration</a></li>
<li><a class="reference internal" href="#semantics">Semantics</a></li>
<li><a class="reference internal" href="#architecture">Architecture</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="design-reservations.html"
title="previous chapter">Instance Reservations</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="design-network2.html"
title="next chapter">Network Management (revised)</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/design-sync-rate-throttling.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="design-network2.html" title="Network Management (revised)"
>next</a></li>
<li class="right" >
<a href="design-reservations.html" title="Instance Reservations"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">Ganeti 2.16.0~rc2 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="design-draft.html" >Design document drafts</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2018, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Google Inc..
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.7.
</div>
</body>
</html>
|