<div dir="ltr">Well the short answer to that question is that it is generally a best practice to run a disk controller card  with a persistent cache in front of your storage drives.  When this is the case you want to turn barriers off, otherwise they would render your cache ineffective.  <div>
<br></div><div>If you are not running a disk controller with persistent cache, then generally, you want to turn barriers on, but the performance is likely to be horrible.  We could also get into a discussion of weather your controller and drives actually honor the barriers, and things just start to get messy. :)</div>
<div><br></div><div>--</div><div>Chuck</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 21, 2014 at 1:13 PM, Shrinand Javadekar <span dir="ltr"><<a href="mailto:shrinand@maginatics.com" target="_blank">shrinand@maginatics.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I notice that the recommended way of deploying Swift is to use XFS on<br>
the storage nodes. This XFS volume is mounted using the "nobarriers"<br>
option.<br>
<br>
If I'm not wrong, Swift does an fsync after every put to make sure<br>
that the object is written to disk. But in the absence of barriers<br>
this isn't guaranteed, correct? Based on the documentation [1], it<br>
seems that the storage device might declare that the data was<br>
persisted, but actually might just be holding it in it's own cache.<br>
<br>
How does Swift then guarantee data persistence in case there is a<br>
power outage on the storage nodes?<br>
<br>
Also, without barriers, the writes might get ordered differently when<br>
being written to disk. If there are multiple versions of the same<br>
object in cache it is required that they be written in order. How does<br>
Swift deal with this?<br>
<br>
Thanks in advance.<br>
-Shri<br>
<br>
[1] <a href="https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-writebarriers.html" target="_blank">https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-writebarriers.html</a><br>

<br>
_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
</blockquote></div><br></div>