http://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&feed=atom&action=historyArchitecture - Free Space Management - Revision history2024-03-28T14:54:56ZRevision history for this page on the wikiMediaWiki 1.35.5http://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=10579&oldid=prevDocadmin at 21:11, 22 January 20102010-01-22T21:11:09Z<p></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:11, 22 January 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''''Note:''''' The content on this page reflects the state of design of a Lustre feature at a particular point in time and may contain outdated information. </div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''''Note:<ins class="diffchange diffchange-inline">''</ins>''' ''The content on this page reflects the state of design of a Lustre feature at a particular point in time and may contain outdated information.<ins class="diffchange diffchange-inline">'' </ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Free Space Management ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Free Space Management ==</div></td></tr>
</table>Docadminhttp://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=10494&oldid=prevDocadmin: Protected "Architecture - Free Space Management" ([edit=sysop] (indefinite) [move=sysop] (indefinite))2010-01-21T19:45:27Z<p>Protected "<a href="/index.php?title=Architecture_-_Free_Space_Management" title="Architecture - Free Space Management">Architecture - Free Space Management</a>" ([edit=sysop] (indefinite) [move=sysop] (indefinite))</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:45, 21 January 2010</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Docadminhttp://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=10125&oldid=prevDocadmin: /* Free Space Management */2010-01-18T23:58:05Z<p><span dir="auto"><span class="autocomment">Free Space Management</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 23:58, 18 January 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''''Note:''''' The content on this page reflects the state of design of a Lustre feature at a particular point in time and may contain outdated information. </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Free Space Management ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Free Space Management ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Docadminhttp://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=9904&oldid=prevDocadmin: /* References */2010-01-14T22:26:02Z<p><span dir="auto"><span class="autocomment">References</span></span></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 22:26, 14 January 2010</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l49" >Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>via a weighting -- if OST2 has twice as much free space as OST1, it will</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>via a weighting -- if OST2 has twice as much free space as OST1, it will</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>be twice as ''likely'' to be used, but is still not ''guaranteed'' to be used.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>be twice as ''likely'' to be used, but is still not ''guaranteed'' to be used.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">== References ==</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">[[Category:Architecture]]</del></div></td><td colspan="2"> </td></tr>
</table>Docadminhttp://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=9860&oldid=prevDocadmin: moved Architecture Free Space Management to Architecture - Free Space Management2010-01-14T21:47:05Z<p>moved <a href="/index.php?title=Architecture_Free_Space_Management&action=edit&redlink=1" class="new" title="Architecture Free Space Management (page does not exist)">Architecture Free Space Management</a> to <a href="/index.php?title=Architecture_-_Free_Space_Management" title="Architecture - Free Space Management">Architecture - Free Space Management</a></p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:47, 14 January 2010</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Docadminhttp://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=9784&oldid=prevDocadmin: 1 revision2010-01-14T21:01:08Z<p>1 revision</p>
<table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:01, 14 January 2010</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Docadminhttp://wiki.old.lustre.org/index.php?title=Architecture_-_Free_Space_Management&diff=9783&oldid=prevBsneitzel: /* References */2007-12-11T16:23:14Z<p><span dir="auto"><span class="autocomment">References</span></span></p>
<p><b>New page</b></p><div>== Free Space Management ==<br />
<br />
In Lustre 1.6, the MDS assigns file stripe objects to OSTs using a mix of load balancing and free space considerations in order to optimize filesystem performance and OSS space utilizations. Emptier OSTs are prefered for stripes, and stripes are distributed evenly over OSSs to increase network bandwidth utilization. The weighting factor between these two optimizations is user-adjustable. <br />
<br />
There are two stripe allocation methods. The method is determined by the amount of free-space imbalance on the OSTs. The '''weighted allocator''' is used when any two OSTs are imbalanced by more than 20%. Until then, a faster '''round-robin allocater''' is used. The round-robin order maximizes network balancing.<br />
<br />
== Round-Robin Allocator ==<br />
<br />
When OSTs have approximately the same free space (within 20%), an efficient round-robin allocator is used. The round-robin allocator alternates stripes between OSTs on different<br />
OSSs. Here are some example round-robin stripe orders (the same letter represents the different OSTs on a single OSS): <br />
<br />
{| border=1 cellspacing=1<br />
|-<br />
|3: AAA ||a single 3-OST OSS<br />
|-<br />
|3+3: ABABAB ||2 3-OST OSS's<br />
|-<br />
|<br>3+4: BBABABA ||a 3-OST OSS (A) and and 4-OST OSS (B)<br />
|-<br />
|<br>3+5: BBABBABA<br />
|-<br />
|<br>3+5+1: BBABABABC<br />
|-<br />
|<br>3+5+2: BABABCBABC<br />
|-<br />
|<br>4+6+2: BABABCBABABC <br />
|}<br />
<br />
=== Weighted Allocator ===<br />
<br />
When the OSTs free space difference is significant, then a weighting<br />
algorithm is used to influence OST ordering based on size and location.<br />
Note that these are weightings for a ''random'' algorithm and so will not necessarily strictly choose the "emptiest" OST every time. On ''average'', it will fill the emptier OSTs<br />
faster.<br />
<br />
<br />
==== Adjusting the weighting between free space and location ====<br />
This priority can be adjusted via the proc file ''/proc/fs/lustre/lov/lustre-mdtlov/qos_prio_free''. The default in the future will be 90%.<br />
You can set this permanently on existing betas with this command on the MGS: <br />
{| border=1 cellspacing=1<br />
|-<br />
|lctl conf_param <fsname>-MDT0000.lov.qos_prio_free=90 <br />
|}<br />
Increasing the value will put more weighting on free space. When set to 100% free space priority, then<br />
location is no longer used in the stripe ordering calculations, and the weighting is based entirely on free space.<br />
<br />
Note that setting the priority to 100% just means that OSS distribution<br />
doesn't count in the weighting, but the stripe assignment is still done<br />
via a weighting -- if OST2 has twice as much free space as OST1, it will<br />
be twice as ''likely'' to be used, but is still not ''guaranteed'' to be used.<br />
<br />
== References ==<br />
<br />
[[Category:Architecture]]</div>Bsneitzel