<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.lustre.org/index.php?action=history&amp;feed=atom&amp;title=Managing_Free_Space</id>
	<title>Managing Free Space - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.lustre.org/index.php?action=history&amp;feed=atom&amp;title=Managing_Free_Space"/>
	<link rel="alternate" type="text/html" href="http://wiki.lustre.org/index.php?title=Managing_Free_Space&amp;action=history"/>
	<updated>2026-08-07T20:11:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>http://wiki.lustre.org/index.php?title=Managing_Free_Space&amp;diff=1964&amp;oldid=prev</id>
		<title>KenRawlings: initial page creation as part of accelerated wiki migration</title>
		<link rel="alternate" type="text/html" href="http://wiki.lustre.org/index.php?title=Managing_Free_Space&amp;diff=1964&amp;oldid=prev"/>
		<updated>2016-10-13T14:22:31Z</updated>

		<summary type="html">&lt;p&gt;initial page creation as part of accelerated wiki migration&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;#039;wikitable&amp;#039;&lt;br /&gt;
|- &lt;br /&gt;
!Note: This page originated on the old Lustre wiki. It was identified as likely having value and was migrated to the new wiki. It is in the process of being reviewed/updated and may currently have content that is out of date.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;(Updated: Oct 2009)&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
In Lustre 1.6 and later, the MDT assigns file stripes to OSTs based on location (which&lt;br /&gt;
OSS) and size considerations (free space) to optimize file system performance.&lt;br /&gt;
Emptier OSTs are preferentially selected for stripes, and stripes are preferentially&lt;br /&gt;
spread out between OSSs to increase network bandwidth utilization. The weighting&lt;br /&gt;
factor between these two optimizations can be adjusted by the user.&lt;br /&gt;
&lt;br /&gt;
Two stripe allocation methods are provided: round-robin and weighted. By default, the allocation method is determined by the amount of free-space imbalance on the OSTs. The&lt;br /&gt;
weighted allocator is used when any two OSTs are imbalanced by more than 20%.&lt;br /&gt;
Otherwise, the faster round-robin allocator is used. (The round-robin order maximizes&lt;br /&gt;
network balancing.)&lt;br /&gt;
&lt;br /&gt;
=== Round-Robin Allocator ===&lt;br /&gt;
When OSTs have approximately the same amount of free space (within 20%), an&lt;br /&gt;
efficient round-robin allocator is used. The round-robin allocator alternates stripes&lt;br /&gt;
between OSTs on different OSSs, so the OST used for stripe 0 of each file is evenly distributed among OSTs, regardless of the stripe count. Shown below are several sample round-robin stripe orders&lt;br /&gt;
(each letter represents a different OST on a single OSS):&lt;br /&gt;
: 3: AAA (one 3-OST OSS)&lt;br /&gt;
: 3x3: ABABAB (two 3-OST OSSs)&lt;br /&gt;
: 3x4: BBABABA (one 3-OST OSS (A) and one 4-OST OSS (B))&lt;br /&gt;
: 3x5: BBABBABA&lt;br /&gt;
: 3x5x1: BBABABABC&lt;br /&gt;
: 3x5x2: BABABCBABC&lt;br /&gt;
: 4x6x2: BABABCBABABC&lt;br /&gt;
&lt;br /&gt;
=== Weighted Allocator ===&lt;br /&gt;
When the free space difference between the OSTs is significant, then a weighting&lt;br /&gt;
algorithm is used to influence OST ordering based on size and location. Note that&lt;br /&gt;
these are weightings for a random algorithm, so the OST with the most free space is not&lt;br /&gt;
necessarily chosen every time. On average, the weighted allocator fills the emptier&lt;br /&gt;
OSTs faster.&lt;br /&gt;
&lt;br /&gt;
=== Adjusting the Weighting Between Free Space and Location ===&lt;br /&gt;
The weighting priority can be adjusted in the &amp;#039;&amp;#039;proc&amp;#039;&amp;#039; file &amp;#039;&amp;#039;/proc/fs/lustre/lov/lustremdtlov/qos_prio_free&amp;#039;&amp;#039;. The default value is 90%. &lt;br /&gt;
&lt;br /&gt;
Use the following command on the MGS to change this weighting:&lt;br /&gt;
&lt;br /&gt;
 lctl conf_param &amp;lt;fsname&amp;gt;-MDT0000.lov.qos_prio_free=90&lt;br /&gt;
&lt;br /&gt;
Increasing the value puts more weighting on free space. When the free space priority&lt;br /&gt;
is set to 100%, then location is no longer used in stripe-ordering calculations and&lt;br /&gt;
weighting is based entirely on free space.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; Setting the priority to 100% means that OSS distribution does not count in the weighting, but the stripe assignment is still done via a weighting. For example, if OST2 has twice as much free space as OST1, then OST2 is twice as likely to be used, but it is not guaranteed to be used.&lt;br /&gt;
&lt;br /&gt;
[[Category: NeedsReview]]&lt;/div&gt;</summary>
		<author><name>KenRawlings</name></author>
	</entry>
</feed>